Język programowania Gosu

Data: 9 listopada, 2010

Trzy lata temu Steve Yegge wyraził na swoim blogu we wpisie „Code’s Worst Enemy” („Najgorszy wróg kodu„) obawy na temat przyszłości języków wykorzystujących Java Virtual Machine. Zastanawiał się, który z obecnie rozwijanych stanie się najbardziej użyteczny. Nie wspomniał wtedy o jednym – Gosu – który właśnie został upubliczniony.

Gosu (kor. wybitny) jest zorientowanym obiektowo językiem programowania ogólnego przeznaczenia. Jest statycznie typowany i w stu procentach kompatybilny z Javą.

Twórcy języka przygotowali bogatą w treść stronę internetową, na której zamieścili m.in. porównanie Gosu do innych języków programowania powstałych na bazie JVM czy też obszerną dokumentację.

Podobne wpisy

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone


  1. Marcin Łępicki pisze:

    Wygląda jak połączenie ActionScripta z Javą. I coś nie chce mi się wierzyć, że ma lepsze wsparcie w środowiskach programistycznych niż groovy 😉

  2. Theq pisze:

    Języków na JVM ci u nas dostatek, ale i ten przyjmiemy jako wróżbę zwycięstwa.

  3. Królik pisze:

    Fajna jest ta tabelka porównująca Gosu do innych.

    Oczywiście wymienili te cechy, które ma Gosu, a nie mają inne, ale już nie na odwrót. Jakby do listy kategorii dodać np.: immutable collections, message-passing-based concurrency, traits/mixins, lazyness, pattern matching, higher-kinded types, declaration site generic type variance specification, etc., to Gosu wypada blado przy Clojure, Scali, Nemerle czy F#.

    Poza tym wygląda na całkiem sympatyczny język jakich wiele np. Nice czy Groovy.

    1. Królik pisze:

      BTW: Tak sobie dokładniej popatrzyłem jeszcze na tę tabelkę, to goście trochę naciągają: w Scali dodawać typy w runtime jak najbardziej można tak samo jak w Gosu (i jest nawet duck typing), „easy transition from Java” to chyba bardzo subiektywne jest i chyba dla wszystkich języków na JVM powinno być zaznaczone, reified generics też w Scali pewnym sensie są, choć może mogłyby być ładniejsze (Manifest[T]). IMHO nie widzę sensu przechodzić ze Scali na Gosu.

      Pytanie jeszcze – kto za tym stoi?

    2. mikolajs pisze:

      Moim zdaniem, to tabelka zupełnie mija się z prawdą – przynajmniej co do Scali.

      Jakoś nie widzę specjalnie szansy na większą popularność tego języka. Raz, że imperatywny i niewiele wnosi nowego w porównaniu do Javy, a dwa, że część z jego cech może się pojawić w nowej wersji Java.

  4. kucyk pisze:

    Mi się najbardziej podoba umieszczenie w tej tabelce, wśród cech języka -w zamierzeniu chyba zalet- stwierdzenia: „Not Lisp”

  5. revcorey pisze:

    ciekawostka oracle prawdopodobnie wprowadzi dwie jvm(a może ogólnie całą jave już nie pamiętam) darmową i płatną ale czym się będą różnić nikt nie ma pojęcia.

    1. Marcin Łępicki pisze:

      A wiesz, że już w tej chwili Oracle ma kilka JVM?

      Przez zakupem SUN kupili taką firmę jak BEA, która to miała JRockit – bardzo dobrą maszynę wirtualną, z inaczej zrobionym GC. W czasie BEA można było ją za darmo ściągnąć z ich strony, używać i dystrybuować (i tak wiele firm robiło i niektóre robią do tej pory jeszcze); dziś jest to produkt płatny, żeby dostać nową licencję trzeba płacić.

      1. Królik pisze:

        JRockit jest dobry, ale może tylko na serwerze. W aplikacjach klienckich muli jak diabli. W serwerowych kiedyś próbowaliśmy i większych różnic w wydajności nie zauważyliśmy, ale to pewnie zależy od konkretnej aplikacji.

        1. Marcin Łępicki pisze:

          Z pewnością zależy – kiedyś bodajże redhatowy support sugerował stawianie JBossa właśnie na JRockit – to rozwiązywało problemy z wyciekami pamięci

      2. revcorey pisze:

        tak wiem choćby ibm swoją oferował.

      3. houp pisze:

        JRockit i JVM od Suna mają być w przyszłości „sklejone” w jeden produkt. Tak przynajmniej mówi Oracle. Swoją drogą są chyba przynajmniej dwa JRockit’y – zwykły i „realtime” z bardziej przewidywalnym GC.

        Obecnie JRockit jest dostępny do ściągnięcia z licencją pozwalającą na darmowe użycie w celach rozwoju oprogramowania. Żeby postawić sobie to produkcyjnie trzeba płacić.

        Pytanie co dalej Oracle zrobi z Javą? Może ostatecznie stwierdzą, że Java to technologia dla serwerów i będą to sprzedawać tak samo jak bazę danych, serwery aplikacji i inne fragmenty swoich middleware’ów.

        W sumie client side Java coraz mniej się liczy, może poza komórkami – chociaż tu i tak też nie jest kolorowo. Z resztą powoli widać, że dostępność Javy na komputerach domowych może maleć – chociażby Apple ogłosiło, że Java od Apple na MacOSX jest deprecated i nie będzie w ogóle JVM od Apple w nowym MacOSX 10.7 (chociaż z pewnością ktoś wypuści wersje, którą sobie będzie można doinstalować).

        Także może Java stanie się po prostu kawałkiem Oracle Fusion Middleware i zacznie przynosić jeszcze bardziej masowe $$ – czyli coś czego Sun nie umiał zrobić.

        A innej beczki słychać ostatnio o konflikcie Apache z Oracle, no i oczywiście Oracle z Google. Być może więc kończy się świat Javy znany obecnie. Wbrew temu co niektórzy mogą myśleć – jest to naprawdę spory świat.

    2. revcorey pisze:

      http://www.heise-online.pl/newsticker/news/item/Oracle-bedzie-takze-platna-wirtualna-maszyna-Javy-1132127.html

      1. mikolajs pisze:

        W sumie wydaje mi się to całkiem optymistyczne.OpenJDK jako podstawa oznacza brak większych problemów wersji open z wersją „wyroczni”. A dodatkowo wersja płatna ze wsparciem dla tych co tego potrzebują i równocześnie zapewnienie finansowania dalszych prac nad jej rozwojem. Czyli norma w świecie open source.

  6. krzabr pisze:

    Na javę przenoszą ostatnio już chyba wszystko co możliwe , czyżby nowa moda czy pójście na łatwizne ?

    1. Kenji pisze:

      Strzelam w to drugie, „modne” teraz są inne rzeczy. 🙂

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

Newsletter OSnews raz w tygodniu. Bez reklam.