Scala - język przyszłości

Opublikowane przez Jarosław Zabiełło Sat, 28 Mar 2009 06:17:00 GMT

Kiedy zapytano Jamesa Goslinga (twórcę Javy) o to, który z języków programowania współpracujących z JVM (wirtualną maszyną Javy) by użył teraz, pomijając samą Javę, odpowiedź była zaskakująco szybka i bardzo jasna – Scala.

Nazwa “Scala” pochodzi od “Scalable language” (język skalowalny). Język ten nadaje się równie dobrze do krótkich, zwartych skryptów jak i do tworzenia wydajnych, ogromnych, bezpiecznych systemów sieciowych. W swych założeniach Scala nawiązuje do minimalizmu składni Lispa i Smalltalka (większość rzeczy oparta jest na bibliotekach a nie na składni) dzięki czemu język ten praktycznie nie ma ograniczeń rozwoju i doskonale się skaluje (w miarę potrzeb można tworzyć nowe typy i całe nowe struktury wyglądające jak nowa składnia języka).

Scala jest językiem kompilowanym do bytecodu JVM dzięki czemu potrafi się integrować w sposób praktycznie przezroczysty, z całą platformą Javy (istnieje co prawda implementacja Scali dla platformy .NET ale jest jeszcze niedojrzała). W Scali mamy też wygodną konsolę do interaktywnego testowania kodu (tak jak to jest w Pythonie i Ruby). W Scali każda wartość jest obiektem, każda funkcja zwraca wartość. Zatem każda funkcja też jest obiektem (first class object). Funkcje są też obiektami wyższego rzędu (higher order kinds), można je zagnieżdżać, przekazywać w parametrach, a nawet stosować mechanizm dziedziczenia.

Czytaj dalej...

Tagi , , , , , , , , , , ,  | 108 comments

Maglev - w tym roku?

Opublikowane przez Jarosław Zabiełło Tue, 17 Mar 2009 03:09:00 GMT

Po początkowym szumie wokół Magleva, sprawa na jakiś czas przycichła i wiele osób powątpiewało czy jego twórcom uda się spełnić to co zapowiadali. Gdyby im się udało, Ruby uzyskałby fantastyczną platformę. Dojrzałą i szybką (rozwijana od ponad 20 lat i sprawdzoną w zastosowaniach komercyjnych) wirtualną maszynę Smalltalka z wbudowanym mechanizmem wydajnej, przezroczystej, transakcyjnej persistent memory (nie wiem jak to oddać po polsku, a każdym razie rozwiązanie wygodniejsze nawet od obiektowej bazy danych, coś w stylu javowej Terracoty). Aktualnie kod Maglev’a jest cały czas w fazie alpha, ale na drugi kwartał roku 2009 zapowiada jest już wersja beta. To, co cieszy to rosnąca, coraz większa zgodność Maglev’a z Ruby Specs.

Tagi ,  | 5 comments

Rails 2.3

Opublikowane przez Jarosław Zabiełło Tue, 17 Mar 2009 02:48:00 GMT

W końcu się doczekaliśmy finalnej wersji Rails 2.3 (oznaczona jest jako wersja 2.3.2 użytkownicy Passengera muszą sobie zrobić aktualizację do wersji 2.1.2). Cieszy może wsparcie do Rack’a i liczne usprawnienia frameworka, ale tak naprawdę to czekam raczej na następną wersję, jaką ma być Rails 3.0 (aka Merb 2.0). Ponoć na najbliższej konferencji Railsconf 2009 ma być jakaś wersja beta kodu źródłowego (w każdym razie 6 maja przewidziane są jakieś prezentacje na temat Rails 3). Mam nadzieję że stabilna wersja Rails 3 pojawi się szybko i nie będzie rozczarowaniem dla tych, co wcześniej cenili sobie prostotę i elastyczność Merba.

Tagi , ,  | brak comments