publikuj: Opublikuj w wykop.pl Opublikuj we flaker.pl Opublikuj na OSnews.pl Opublikuj w delicious wydrukuj
11 skomentuj »

TAGI: programowanie , języki skryptowe , php , python , ruby , javascript , actionscript , java , r , scala

2011-10-24 11:15  |  Adam Golański

Hot or not, czyli konkurs piękności wśród języków skryptowych

Hot or not, czyli konkurs piękności wśród języków skryptowych

Programiści C++ czy C# mogą spoglądać z poczuciem wyższości na kolegów, którzy pracują w dynamicznych, skryptowych językach, ale to poczucie wyższości to raczej już tylko historyczna zaszłość. Dziś w poważnych zastosowaniach języki skryptowe radzą sobie świetnie, a wyścig w dziedzinie kompilatorów JIT i przeglądarek sprawił, że i pod względem wydajności taki kod nie jest zły. Co więcej, wiele „poważnych” platform programistycznych zaczęło obrastać w technologie, które upodabniają je do języków skryptowych – tak jest choćby z Javą/JVM, która doczekała się Groovy'ego. Peter Wayner z InfoWorld zadał sobie więc trud, by zerknąć w ten skryptowy świat i oszacować, jaką przyszłość mają poszczególni w nim gracze.

Języków skryptowych – i ich dialektów – jest dziś całkiem sporo, jednak spośród nich może siedem weszło do mainstreamu. Wayner podaje ich listę: JavaScript, ActionScript, Perl, Python, Ruby, Scala, R, PHP i Java. Jej zasadność można dyskutować, ale nie to jest tu przedmiotem rozważań. Zobaczmy raczej, jak odbierane są one w świecie programistycznej mody.

Hot: JavaScript. To nie powinno być zaskoczeniem. Choć dla wielu jest to „fucking JavaScript”, choć niektórzy twierdzą, że woleliby ręcznie tranzystory przełączać, niż w JS pisać, to jednak ten „assembler” dla Webu zdobył w ostatniej dekadzie ogromną popularność – jest domyślnym językiem programowania przeglądarek, a ostatnio zdobywa też, za sprawą node.js, miejsce po stronie serwera. Jak twierdzi Simon St. Laurent, starszy redaktor wydawnictwa O'Reilly Books, mamy do czynienia z prawdziwym renesansem tego, co kiedyś postrzegano jako język dla script-kiddies.

Na rzecz języka działa też rosnąca liczba wspaniałych bibliotek programistycznych (takich jak jQuery) i traktowanie go jako czegoś w rodzaju maszyny wirtualnej dla języków wyższego poziomu, takich jak CoffeeScript, w których znacznie łatwiej pisze się duże projekty.

I choć wad JS ma co niemiara, a Google odgraża się, że chciałoby zastąpić go w przyszłości swoim Dartem, to dane wydawnictwa O'Reilly pokazują, że programistom to nie przeszkadza. 57% tytułów wydanych w 2010 roku z dziedziny języków skryptowych dotyczyło właśnie JavaScriptu.

Not: ActionScript. Choć to przecież też implementacja ECMAScriptu, to jednak ostatnie zmiany na rynku zaszkodziły poważnie językowi, który Adobe wykorzystywało pierwotnie do sterowania animacjami we flashowych grach. Jeszcze w 2009 roku język ten był tematem 31% tytułów związanych z językami skryptowymi wydanych przez O'Reilly Books, rok później odsetek ten spadł do 17%. Kto jest winien? HTML5 i iPhone, zamknięte na Flasha.

Nie można jednak skreślać ActionScriptu z kretesem – Adobe robi wiele, by zapewnić przyszłość swojego języka, szczególnie w dziedzinie rozrywki. API 3D, możliwość przeplatania AS natywnym kodem, translatory konwertujące ActionScript na pakiety uruchamialne na smartfonach, to wszystko powinno pozwolić technologiom Adobe na obronienie swojej pozycji.

Not: Perl. Perl był pierwszym popularnym w Sieci językiem skryptowym. Pierwotnie „taśma klejąca do Webu”, na której działały wszystkie pierwsze aplikacje internetowe uruchamiane przez CGI, dziś jednak technologia coraz bardziej niszowa, z kurczącą się bazą użytkowników. Dziś nawet popularnego Slashdota nie rozbudowuje się już w Perlu – serwis poszedł w stronę implementowania nowych funkcjonalności w JavaScripcie/Ajaksie, po stronie klienta.

Koronnym przykładem słabości Perla dziś jest porażka CMS-a Movable Type. Choć projekt to ciekawy i elegancki, to jednak jakoś nie pozyskał zaangażowania społeczności, brak mu wtyczek, a głównym problemem jego użytkowników jest to, jak osadzić kod PHP w szablonie.

Hot: Python. W świecie Webu Python nie cieszy się taką popularnością, jak w innych działach IT, szczególnie tych związanych z nauką – biologią molekularną, chemią czy ekonomią. Jednak przejrzystość i prostota języka, która zaowocowała nawet propozycją, po krachu na amerykańskim rynku nieruchomości, by wszystkie umowy pożyczek sporządzać jako skrypty w Pythonie, zamiast w pokrętnym języku prawników, sprawiają, że mimo braku tak pokaźnych bibliotek webowych, jakie ma np. PHP, jego popularność także wśród webdeweloperów rośnie (na pewno w dużym stopniu za sprawą frameworka Django).

Wayner wskazuje na jeszcze jedną ciekawą rzecz – za dowód wpływów Pythona przedstawia CoffeScript, którego składnia ma pozwolić tym, którzy zmuszeni są do pisania w JavaScripcie, na cieszenie się przejrzystością zapewnianą przez pythonowy styl.

Letnio? Ruby. Taka ocena Ruby'ego zaskoczyła. Może nie Not, ale wydawało się, że popularność Ruby'ego (w dużym stopniu za sprawą Railsów) może tylko rosnąć. Same Railsy już nie są dziś tak popularne jak kiedyś – zauważa Wayner – a to za sprawą pojawienia się frameworku Sinatra i nastawienia autora Ruby'ego, Yukihiro Matsumoto, na zwinność i elastyczność, których Railsom trochę brakowało.

Jednak naszym zdaniem to jest język bardzo Hot. Kolekcja modułów Ruby Gems rośnie w imponującym tempie, już wkrótce pokona pod względem rozmiarów perlową kolekcję CPAN. Do tego, za sprawą chmur PaaS, takich jak Heroku, Ruby staje się popularnym językiem do szybkiego pisania i wdrażania aplikacji biznesowych. Nawet ludzie od Javy sięgają po Ruby za sprawą implementacji działającej w maszynie wirtualnej Javy – JRuby.

Hot: Scala. Kolejna zaskakująca nas ocena – Scala choć ciekawa, jest niszowym językiem, zdaniem wielu deweloperów wypowiadających się na Hacker News, sprawiającym wiele kłopotów z jakością wynikowego kodu. Hype wokół Scali to przede wszystkim efekt jej zastosowania przez Twittera i Foursquare, ale jakoś nie obserwujemy, by programiści bardzo chętnie brali się za jej stosowanie.

Wayner uważa jednak, że za sprawą lekcji, jakie wyciągamy z node.js, przeniesienia funkcjonalnego programowania na bardzo ograniczone platformy, a także rosnącej popularności Androida (Scalę można uruchomić wszędzie tam, gdzie uruchomić można maszynę wirtualną Javy), popularność tego języka będzie tylko rosła.

Hot: R. R to język który powstał pierwotnie jako narzędzie dla statystyków, łączące w sobie funkcjonalności prosto z Lispa i biblioteki analityczne. Na wejściu wprowadzamy macierze danych, na wyjściu dostajemy ładne grafy i wykresy. Ostanio o R coraz głośniej na forach dla programistów, także webowych, co nie powinno zaskakiwać, biorąc pod uwagę, jak wiele danych jest w Sieci do przetworzenia.

Autor wskazuje na elastyczność R – ostatnio pojawiły się wtyczki do LaTeX-a, pozwalające łatwo zacząć od surowych danych, by na wyjściu dostać kompletny dokument. Do tego mamy już pierwsze translatory na C++ i kod bajtowy, pozwalające na przyspieszenie uzyskiwania wyników. Na pewno ludziom od hurtowni danych coś takiego mogłoby się przydać – ale jednak jest to język specjalistyczny – i raczej taki pozostanie.

Hot: PHP. Choć wielu naszych Czytelników odczuwa potrzebę plucia przez lewe ramię na widok tagu <?, to jednak język ten ma wciąż ogromne znaczenie – i to mimo tego, że sprzedaż książek mu poświęconych spaść miała z 2009 na 2010 rok, wg danych O'Reilly Books, o 25%.

I tak jednak kluczowe webowe platformy pisze się w PHP: WordPress, Drupal, Joomla. Może to – paradoksalnie – efekt powolnego rozwoju tego języka. Wayner zauważa, że większość zmian w kolejnych wersjach PHP to poprawki usterek, a jedynie nieliczne to „implementacje pożądanych funkcjonalności”. Nie jest to język dla programistów chcących cudownej wydajności w swojej pracy i pięknego kodu, lecz raczej dla administratorów, hosterów, którzy chcą mieć stabilną, skalowalną webową platformę na te niezliczone webowe aplikacje stawiane przez ich klientów.

Nowy gracz: Java. I to ma być język skryptowy? A czemu by nie, w końcu Java to dziś nie to samo, co dziesięć lat temu. A i kiedyś były (dziś już trochę zapomniane) JavaServer Pages, kontenery z wbudowanym kompilatorem. Teraz jednak od skryptowej strony świat Javy to przede wszystkim Grails, a popularność książek o Javie rośnie z roku na rok (dziś to już 13,9% wszystkich tytułów O'Reilly Books). Na pewno dzieje się tak w dużym stopniu za sprawą Androida.

Wayner uważa, że jeszcze bardziej popularność Javy jako języka skryptowego wzrośnie, gdy pojawi się kontener dla node.js. „We właściwych rękach, wydajność może być niezwykła” – sugeruje autor.

Czy zgadzacie się z takimi analizami?

źródło: InfoWorld.com

publikuj: Opublikuj w wykop.pl Opublikuj we flaker.pl Opublikuj na OSnews.pl Opublikuj w delicious wydrukuj
11 skomentuj »

Komentarze

  • webgui

    #1 webgui 2011-10-24 18:02:26 0

    a i tak jednym z najczesciej uzywanych cms przez instytucje corpo uczelnie jest perlowski webgui

    IP: 195.150.128.[...] Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1

  • webgui_

    #2 webgui_ 2011-10-24 18:03:56 0

    a i jednym z najczesciej uzywanych cms przez instytucje, corpo, uczelnie jest perlowski webgui

    IP: 195.150.128.[...] Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1

  • Naczelny Mosista RP

    #3 Naczelny Mosista RP 2011-10-24 18:24:53 0

    Pominięto bardzo dobry język Lua, chociaż częściej jest stosowany do rzeczy nie związanych z aplikacjami WWW, to być może nawet w tych zastosowaniach jest bardziej popularny niż egzotyki w rodzaju Scali czy R.

    IP: 89.161.31.[...] Mozilla/5.0 (Macintosh; PowerPC MorphOS 2.7; Odyssey Web Browser; rv:1.14) AppleWebKit/534.48.3 (KHTML, like Gecko) OWB/1.14 Safari/534.48.3

  • eimi

    #4 eimi® 2011-10-24 19:44:59 0

    Ano Lua króluje wśród gamedevów. Dla jej miłośników jest coś takiego jak http://keplerproject.github.com/orbit/ - ale w życiu nie słyszałem o nikim, kto by to do produkcyjnych celów stosował.

    IP: 90.156.32.[...] Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1

  • Bastian

    #5 Bastian 2011-10-24 21:07:07 0

    A dlaczego nie ma nic o awk'u????

    ;)

    IP: 213.238.96.[...] Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1

  • moncyn

    #6 mncn® 2011-10-24 23:17:25 0

    powiem tyle:

    http://shootout.alioth.debian.org/

    :)

    IP: 91.150.221.[...] Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1

  • Jimmy

    #7 Jimmy 2011-10-24 23:55:05 0

    Gratuluje tekstu, poczucie humoru, bardzo dobre argumenty.

    IP: 62.14.44.[...] Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1

  • EiH7li7r

    #8 EiH7li7r 2011-10-25 17:26:07 0

    Psy szczekają, a karawana wielbłądów idzie dalej... Faktycznie, Perl może nie jest już dzisiaj taki hot jak kiedyś, ale ma się całkiem dobrze i wciąż się rozwija. Perl 6, Parrot, Rakudo, Niecza, STD, viv, Perlito, Yapsi, Sprixel, Pugs, Hackage, Panda to tylko kilka przykładów aktywności perlowców.

    IP: 212.87.14.[...] Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1 Iceweasel/7.0.1

  • szymek

    #9 szymek 2011-10-25 23:42:00 0

    Z moich obserwacji wynika ze LUA prze do przodu... ;)

    IP: 89.76.165.[...] Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1

  • HTD

    #10 HTD 2011-10-26 17:28:41 0

    Największe możliwości uzyska każdy język, który jest szybki w użyciu (łatwość pisania, poprawiania, debugowania kodu), a do tego może odwoływać się do największej ilości funkcji OS-a na jakim pracuje. Nad czymś takim kombinuje i Microsoft i Google. Chociaż Microsoft i jego Windows 8 mogą zrobić totalną różnicę.

    Jak dla mnie powinno powstać międzymordzie pomiędzy dowolnym językiem skryptowym (niech każdy używa swojego ulubionego) a systemem operacyjnym i aplikacjami (takimi jak przeglądarka, ale czemu się do przeglądarek ograniczać?).

    Jest kompletnym nieporozumieniem że skrypt JS wyświetla na ekranie tabele danych czy formularze, oprócz tego dba o animowanie kręciołka jak się coś dogrywa, a do tego jeszcze skaluje i przetwarza grafikę. JS (jak i inne języki skryptowe) najlepiej sprawdzają się jako warstwa kontrolera MVC. Do obsługi przepływu kontroli i sterowania nie potrzeba praktycznie żadnej wydajności. Za to kluczowa jest czytelność i prostota. Mam nadzieję, że doczekam się czasów, że z JS (albo Pythona) będę mógł sobie wywołać rysowanie całej aplikacji, które zrealizuje OS (dowolny) za pośrednictwem standardowego i wspólnego API.

    IP: 87.207.164.[...] Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1

  • Lupus

    #11 Lupus 2011-11-07 11:13:45 0

    Małe sprostowanie: połączenie języka skryptowego i Javy to Groovy. Grails natomiast, to web framework, który "natywnie" obsługuje Groovy-ego, ale można też pisać tam m.in. w Javie, czy JavaFX.

    Bardzo polecam zaznajomienie się z Groovy/Grails. Dla programistów Javy to jak nagłe wyjście zza ciężkich kotar na świeże powietrze. ;)

    IP: 157.25.137.[...] Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0

Uwaga! Możesz zarejestrować się w serwisie i w ten sposób zarezerwować swój nick oraz ominąć konieczność ciągłego odczytywania wyrazów.

Aby dodać komentarz, musisz podać swój nick, treść komentarza oraz poprawnie przepisać oba słowa z obrazka (słowa muszą być rozdzielone spacją).
W treści komentarza można używać języka formatowania BBcode.

Polecane książki

Czytaj Webhosting

Chcesz być na bieżąco z naszymi informacjami? Zapisz się na Newsletter.

Zarejestruj domenę

Sprawdź dostępność swojej domeny:

.pl: 0 zł   .com: 19.90 zł
.com.pl: 0 zł   .eu: 19.90 zł