Microsoft i dynamiczne języki

Microsoft do niedawna postrzegany był raczej jako zwolennik tradycyjnych, statycznych języków programowania - takich jak Visual Basic i C##. W ostatnim czasie koncern zaczął jednak wspierać również języki dynamiczne - nietrudno zauważyć, że zaważył fakt, iż ich popularność cały czas rośnie. "Zawsze chcieliśmy wspierać wszystkie języki, jakie było można, zwłaszcza, gdy klienci się tego domagali. Języki dynamiczne późno zyskały dużą popularność i dlatego nie mamy wyrobionego stanowiska, poza tym, że szukamy możliwości włączenia ich do listy obsługiwanej przez platformę .NET" - tłumaczy w rozmowie z IDG Jason McConnell, product manager projektu Visual Studio, odpowiedzialny w Microsofcie za języki programowania. Przedstawiciel koncernu z Redmond mówił również o przyszłości Javy, C## i C++, a także o planach rozwoju platformy .NET.

Microsoft i dynamiczne języki
Rosnąca popularność dynamicznych języków programowania, takich jak Perl, Python, czy Ruby - używanych głównie do budowania aplikacji webowych - spowodowała, że giganci, jak Microsoft, Oracle, Sun Microsystems, czy IBM zaczęli zwracać baczną uwagę na ich rozwój. Pomimo że Microsoft kładzie główny nacisk na tradycyjne języki programowania, jak Visual Basic i C#, to ostatnio zaczął mocniej wspierać dynamiczne języki programowania. Dla przykładu na firmowej witrynie z projektami rozwijanymi przez społeczność - CodePlex - hostuje dwa projekty: IronPython i Phalanger, które mają udostępnić możliwości dynamicznych języków pod platformą .NET. Dziennikarzom należącego do wydawnictwa IDG magazynu InfoWorld - Paulowi Krillowi oraz Dougowi Dineley'owi - udało się porozmawiać na ten temat z Jasonem McConnellem, product managerem projektu Visual Studio, odpowiedzialnym w Microsofcie za języki programowania.

InfoWorld: Jakie jest oficjalne stanowisko Microsoftu, jeżeli chodzi o wsparcie dla dynamicznych języków programowania takich, jak PHP, Perl, Python, Ruby, czy JavaScript przez platformę .NET i środowisko uruchomieniowe CLR (Common Language Runtime)?

Microsoft i dynamiczne języki

Strony Microsoftu to prawdziwe kompedium wiedzy o technologii .NET

Jason McConnell: Zawsze chcieliśmy wspierać wszystkie języki, jakie było można, zwłaszcza, gdy klienci się tego domagali. Języki dynamiczne, jak te wymienione wcześniej, późno zyskały dużą popularność i dlatego nie mamy wyrobionego stanowiska, poza tym, że szukamy możliwości włączenia ich do listy obsługiwanej przez platformę .NET.

Jeżeli więc szukacie takich możliwości, to jakie kroki może podjąć Microsoft? Na pewno otrzymujecie uwagi zgłaszane przez klientów i deweloperów, którzy chcą takiej funkcjonalności?

Oczywiście. Na pewno zwracamy uwagę na nowe języki, których się teraz używa. Dla przykładu rozwijamy projekt IronPython, który wszedł jakiś czas temu w ostatnią fazę testową - Release Candidate. Jest to projekt zapoczątkowany przez społeczność deweloperów i pokazuje pierwsze wysiłki w celu włączenia języków dynamicznych w poczet wspieranych przez .NET. Jest on obecnie naszą, jakby wizytówką, jeżeli chodzi o strategię i pracę w tym kierunku.

Czy uważasz, że tradycyjne języki wspierane przez Microsoft, jak Visual Basic, czy C# oferują znacznie więcej korzyści niż dynamiczne, o których tu rozmawiamy?

To są całkiem różne rzeczy. C# jest silnie typowanym statycznym językiem. Visual Basic można by uznać za częściowo dynamiczny. Ogólnie rzecz biorąc dynamiczne języki programowania najlepiej nadają się do szybkiego tworzenia aplikacji, podczas gdy języki statycznie typowane lepiej sprawdzają się przy tworzeniu dużych systemów ze ściśle zdefiniowanymi interfejsami. Więc jest to kwestia wyboru dobrego narzędzia do wykonania określonej pracy. Według mnie nie można obiektywnie porównać języków dynamicznych i statycznie typowanych.

Patrzę właśnie na definicję dynamicznego języka programowania w Wikipedii. Jak ty byś go zdefiniował?

Język dynamiczny, to taki, który potrafi w czasie wykonywania określać typy i jest kompilowany w locie. W czasie wykonywania kodu, kompilator wykonuje sprawdzanie typów i składni, w przeciwieństwie do języków statycznych, kiedy jest to robione podczas kompilacji, przed wykonaniem programu.

Microsoft i dynamiczne języki

Strona projektu Phalanger

Jak Microsoft zapatruje się na zewnętrzne próby stworzenia dynamicznych języków działających na platformie .NET, takich jak Ruby On Steel, czy projekt Phalanger dla PHP?

Już od powstania podwalin CLR w 2001 roku, staramy się wspierać wszelkie takie wysiłki. Kilka tygodni temu odbyło się sympozjum Lang.Net, które było próbą zebrania pomysłów i poparcia społeczności w budowaniu innych języków programowania wokół platformy .NET.

Jaki według Ciebie był odbiór tego wydarzenia?

Moim zdaniem, bardzo pozytywny. Głos zabierali nie tylko ludzie z branży, ale także tacy, dla których jest to hobby. Wydarzenie okazało się wspaniałym forum do rozmowy o powstających technologiach i innych intelektualnych dyskusji.