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
Komentarze
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.
Popularne
Nazwa padła ofiarą szantażystów, inni polscy hosterzy też zagrożeni?
19
Premiera Diablo 3 wzbudziła dyskusję na temat gier, które zawsze chcą być online
19
Darmowy Internet od Aero2. Jak go zdobyć i jakie są prawdziwe koszta? Instrukcja krok po kroku
11
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
17
Nowy problem z Windows 8: bootuje się za szybko
10
Amerykańscy rodzice straszeni „e-narkotykami” dostępnymi w Sieci
21
Z okazji wypuszczenia akcji Facebooka przypomnijmy sobie, kim jest Zuckerberg
10
Blueseed: libertariańska sztuczna wyspa przyciągnęła już ponad sto startupów z całego świata
8
Rewolucja w Firefoksie, nowa łatka czterokrotnie ograniczyła zużycie pamięci
20
Darmowy Internet od Aero2. Jak go zdobyć i jakie są prawdziwe koszta? Instrukcja krok po kroku
11
CVDazzle: makijaż jest w stanie pokonać automatyczne systemy ulicznego monitoringu
3
Programowanie w środowisku Android – wprowadzenie do projektowania aplikacji dla urządzeń mobilnych
17
Co czeka programistów po czterdziestce?
27
Ubuntu 12.04 LTS już dostępny: stabilna dystrybucja na następne pięć lat?
28
Społeczność
voluu A ja mam problem. MIanowicie, po dodaniu kodu z tego poradnika miniaturki...
Sebek Pozycjonowanie stron za pośrednictwem firm oferujących
swoje usługi nie...
asdosad jak to zrobić na xp??
lol Jak ktoś tu wcześniej zauważył - artykuł jest o niczym, a właściwie ukrytą...
grzybecki To raczej powinien być znak dla programistów Social Media, aby swoje...
facebug @rychu
Strona wchodzi, ślamazarnie ale wchodzi mam takie...
Dave Smith Jestem Pastor Dave Smith prywatny pożyczkodawca pieniądze, z czego ponad...
- Najdmen.pl: Konta www z wyłączonym licznikiem transferu od IONIC.pl (1)
- 2BE.PL: [Oferta] Promocja jak złoto w 2BE.PL (1)
- gardius: Dobra hurtownia sportowa (1)
- gardius: Tanie książki gdzie warto kupować? (1)
- Najdmen.pl: PROMOCJA, 500 DOMEN .EU ZA 1 PLN NETTO ! (1)
- VMLine: [Oferta] Serwery VPS Xen-HVM/OpenVZ z darmową administracją (2)
- Marek: Generowanie PDFa (2)
Polecane książki
Praca
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ł |









#1 webgui 2011-10-24 18:02:26 0
IP: 195.150.128.[...] Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
#2 webgui_ 2011-10-24 18:03:56 0
IP: 195.150.128.[...] Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
#3 Naczelny Mosista RP 2011-10-24 18:24:53 0
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
#4 eimi® 2011-10-24 19:44:59 0
IP: 90.156.32.[...] Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
#5 Bastian 2011-10-24 21:07:07 0
IP: 213.238.96.[...] Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
#6 mncn® 2011-10-24 23:17:25 0
IP: 91.150.221.[...] Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
#7 Jimmy 2011-10-24 23:55:05 0
IP: 62.14.44.[...] Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
#8 EiH7li7r 2011-10-25 17:26:07 0
IP: 212.87.14.[...] Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1 Iceweasel/7.0.1
#9 szymek 2011-10-25 23:42:00 0
IP: 89.76.165.[...] Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
#10 HTD 2011-10-26 17:28:41 0
IP: 87.207.164.[...] Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
#11 Lupus 2011-11-07 11:13:45 0
IP: 157.25.137.[...] Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0