Mniej znane języki programowania w technologiach webowych.

PHP, JAVA, JavaScript, C#, Python, to są języki programowania, które jako pierwsza myśl przychodzą do głowy w kontekście technologii webowych i stron www. Jednak Internet tak jak świat rzeczywisty nie składa się tylko z najpopularniejszych, mainstreamowych rozwiązań ale także z tych mniej popularnych, czasem niszowych lub jak kto woli hipsterskich.

Logotypy mniej znanych języków programowania stosowanych w technologiach webowych

O ile stosowanie, niektórych niszowych języków w celach innych niż zostały one wymyślone jest sztuką dla sztuki (albo głupotą czy nierozważnym wykorzystaniem zasobów) to należy mieć na uwadze, że sieć WWW to nie tylko strony internetowe czy podręczne aplikacje. Część z języków opisanych poniżej w tym celu powstała – do konkretnych zadań, a że można używać je w innych celach i nie zawsze jest to rozsądne? To już jest inna sprawa. Jednak gdyby nie próbowanie nowych rzeczy i próby dostosowania rzeczy do szerszego kontekstu gdzie byśmy byli jako ludzkość?

Nie rozwijając tej refleksji w dalszej części artykułu przedstawiam mniej znane języki programowania spotykane w technologiach webowych.

Co znajdziesz w tym wpisie?

GO – Golang, język prosto od Google

Język GO czyli popularnie zwany Golang to język stworzony przez Google. Tak, takie molochy jak najpopularniejsza światowa wyszukiwarka chcą mieć wszystko swoje, nawet język programowania.

Wykres popularności języka Go na przestrzeni 15 lat od Google Trends
Popularność zapytania Go w ciągu ostatnich 15 lat według Google Trends

Ogólna geneza powstania języka to kwestia wygody programistów Google. Narzekali na wykorzystywanie języków, które powstały w erze sprzed internetu lub w trakcie gdy on raczkował i duża część rozwiązań w nich stosowana nijak się miała do potrzeb Google a także sposobów pisania i rozszerzania poszczególnych projektów nie przez pojedyncze osoby ale tabuny ludzi.

Głównymi odpowiedzialnymi za stworzenie Golang’a były osoby nie tyle powszechnie znane, co będące legendami świata IT takie jak: Ken Thompson (UNIX i C jeśli znasz te technologie to jest on ich twórcą), Rob Piks (UNIX oraz system kodowania znaków UTF-8) i Robert Griesemer.

Między innymi dzięki ich staraniom język GO ujrzał światło dzienne w 2009 roku jako projekt Open Source. Co natomiast wynikło z działań Google nad nowym językiem? Dość przyjazny i zyskujący na popularności język z wbudowaną obsługą współbieżności (obsługi kilku wątków). Czego chcieć więcej?

Z ciekawszych zastosowań i entuzjastów Golanga można wyróżnić Allegro ze swoim projektem BigCache oraz firmę Riot (League of Legends), która przy pomocy GO zbiera statystyki swoich graczy.

Język R nie tylko dla bionformatyków

Język programowania R nie jest stricte typową technologią webową, jednak jego znaczenie ogólne jak i w kontekście internetu wzrasta. Złośliwi mogą powiedzieć, że jest on troszkę ograniczonym i ułomnym bratem Pythona, gdyż nie posiada tak szerokich możliwości zastosowań, które jest ograniczone do właściwie jednej dziedziny jaką jest Data Science (nauka o danych / analiza danych).

Wykres popularności języka R na przestrzeni 15 lat od Google Trends
Popularność zapytania R w ciągu ostatnich 15 lat według Google Trends

Niemniej warto zwrócić uwagę, że R wykorzystywany jest między innymi w takich firmach jak: Facebook, Google, LinkedIn, Mozilla czy Twitter czyli przez molochy internetowe. Dlaczego? Ponieważ cały internet to jedna wielka kopalnia danych i wpasowanie się w trendy wynikające bezpośrednio z danych jest kluczem do sukcesu, popularności, wyświetleń a co za tym idzie konwersji i pieniędzy.

R stał się głównie popularny w takich dziedzinach jak bioinformatyka czy też biostatyka, głównie ze względu na łatwość prezentacji i wizualizacji analizowanych danych. Swoją siłę opiera na dużej ilości wbudowanych funkcji statystycznych, które bardziej popularny Python obsługuje przy pomocy zewnętrznych bibliotek (rozszerzeń, modułów).

O znaczeniu i możliwościach języka R może świadczyć możliwość analizy i prezentacji danych pobieranych wprost z Google Trends (z którego wiele screenów umieszczono w tym artykule). Więcej w tym temacie można przeczytać na portalu datascienceplus.com pod adresem: https://datascienceplus.com/analyzing-google-trends-data-in-r/, gdzie omówiono przykład pobierania danych z tego narzędzia za pomocą R.

Ruby i podróż w świat obiektowy

Ruby jest językiem programowania o zastosowaniach webowych, który stanowi ciekawą alternatywę dla starszych braci. Większość obecnie wykorzystywanych i omawianych w tym zestawianiu języków jest poniekąd obiektowa lub bazuje na opisywaniu rzeczywistości za pomocą różnych obiektów. Jednak większość z nich dla typowych danych podstawowych jak ciągi znaków czy liczby ma przypisane inne zasady i traktuje je jako obiekty zachowujące się inaczej niż obiekty powinny gdyż są to typy proste (tak, brzmi to abstrakcyjnie). Ruby natomiast wyróżnia się prostą zasadą. Wszystko jest obiektem. Nic dodać nic ująć.

Wykres popularności języka Ruby na przestrzeni 15 lat od Google Trends
Popularność zapytania Ruby w ciągu ostatnich 15 lat według Google Trends

Większy bum popularności Ruby uzyskał po utworzeniu w 2004 frameworka Ruby on Rails (RoR) do tworzenia aplikacji i serwisów webowych z użyciem tego języka. Trochę później bo w 2005 książki o języku Ruby i Ruby on Rails stały się najpopularniejszymi w tamtym okresie książkami o programowaniu a strona takiego molocha jak Github (tak ten Github) została napisana z użyciem Ruby on Rails.

Złośliwi mogliby powiedzieć, że Ruby nie dość, że trochę wyprzedził swoje czasy co ekonomicznie nie przystosował się do większego zawojowania świata internetowego (ale nie powiedział jeszcze ostatniego słowa). Wynikało to między innymi z braku programistów Ruby i developerów Ruby on Rails. Przedsiębiorstwa tworząc serwisy na nich oparte poniekąd uzależniały się od ich twórców, gdyż ich ilość w porównaniu do popularnego i królującego PHP była i nadal jest dość mała.

Prawdopodobnie między innymi z tego powodu polski wykop.pl został przepisany z RoR na PHP.

Scala – najbardziej skalowalna ze wszystkich

Scala tak jak jej nazwa wskazuje powstała jako język programowania, który sam w sobie ma być skalowalny. Wstępnie działał on na wirtualnej maszynie JAVY a niewiele później na platformie .NET.

Wykres popularności języka Scala na przestrzeni 15 lat od Google Trends
Popularność zapytania Scala w ciągu ostatnich 15 lat według Google Trends

Dodatkowo oprócz swojej skalowalności Scala jest elastyczna – wspiera programowanie funkcyjne i obiektowe a także jest kompatybilna z JAVĄ (mogą korzystać z tych samych bibliotek).

Jednak zawsze jest coś za coś. Scala ma bardzo wysoki próg wejścia i jej nauczenie w porównaniu do JAVY jest dużo trudniejsze. Wynika to między innymi z bardzo zwięzłej składni tego języka (potrzeba dużo mniej kodu, żeby wykonać to samo co w innych językach). Obarczone jest to jednak tym, że programista musi wiedzieć dokładnie co pisze (nie, żeby w JAVA zdejmowała ten obowiązek, ale jest w porównaniu do Scali bardzo korporacyjnie formalna).

Oznacza to, że momentami Scala jest przepełniona tak zwanym lukrem składniowym, czyli duża część kodu jest napisana slangiem zamiast konkretnymi wyrażeniami formalnymi (najbardziej popularnym lukrem składniowym w innych językach jest stosowanie konstrukcji:

wyrażenie ? wartość prawdy : wartość fałszu;

zamiast standardowej konstrukcji if). Przez to jej eksploatacja i debugowanie jest droższe a sam próg wejścia do nauczenia języka bardzo wysoki.

Dlaczego mimo to Scala jest warta uwagi i zyskuje na popularności. Przede wszystkim dlatego, że może być wywoływana w kodzie korpo JAVY i odwrotnie. Drugą zaletą jest to, że Scala skupia się na samym wyniku a nie na sposobie dojścia do wyniku – czyli wykonuje dyrektywę: proszę zrobić tak, żeby było dobrze. Jakie to korporacyjne 🙂

Elixir

Elixir jest bardzo młodym funkcyjnym językiem programowania powstałym w 2012 roku i uruchamiany jest na maszynie wirtualnej Erlanga (języka do zastosowań współbieżnych powstałego w laboratoriach Erricsona).

Wykres popularności języka Elixir na przestrzeni 15 lat od Google Trends
Popularność zapytania Elixir w ciągu ostatnich 15 lat według Google Trends

Bardzo często porównywany jest z językiem Ruby i prognozuje się, że w przyszłości może go wyprzeć ze względu na dużo lepsze rozwiązania dotyczące współbieżności. Podobieństwo tych dwóch języków (Ruby i Elixir) jest trudne do wytłumaczenia, jednak stwierdzenie Bartosza Pranczke z Netguru, że gdyby Ruby miał działać na maszynie Erlanga to pewnie byłby Elixirem jest chyba najtrafniejsze.

Wspomniane podobieństwo jest o tyle dziwne, że oba języki są diametralnie różne w swoich założeniach. Ruby jest językiem czysto obiektowym o szerokim przeznaczeniu, natomiast Elixir to język funkcyjny o specyficznej architekturze nastawionej na współbieżność.

Można by zapytać jak w starej reklamie, skoro nie widać różnicy to po co przepłacać (developerów Elixira jest znacznie mniej niż Ruby). Cóż, strony domowej czy prostego sklepu raczej nie pisze się z użyciem Elixira. Używa się go w przypadkach gdy jest potrzebna ekstremalna niezawodność, wydajność i utrzymanie wielu procesów jednocześnie.

Elixir na sukces sklepów nie istnieje, ale możesz zobaczyć Jaki biznes warto otworzyć w Polsce analizując dane statystyczne.

Oznacza to, że Elixir może mieć świetlaną przyszłość w świecie SEO, albo przynajmniej obok niego. Zaleta bezproblemowego istnienia i utrzymywania wielu wątków jednocześnie idealnie nadaje się do pisania wszelkiego rodzaju scraperów czyli botów zbierających dane ze stron internetowych.

To co powstrzymuje Elixir od wejścia w szerszy świat to brak wystarczającej ilości specjalistów i mały ekosystem samej społeczności. Znalezienie odpowiedzi na niektóre pytania (nie mówiąc już o bibliotekach) jest trudniejsze niż dla Rubiego a do PHP nie ma nawet co porównywać bo dzielą je w tej kwestii lata świetlne.

Jak będzie w rzeczywistości, czas pokaże. Jedno co można prognozować to rywalizację Elixira z Go względem obsługi współbieżności, jednak by to było realne to społeczność Elixira musi się rozrosnąć a sam język zwiększyć spektrum zastosowań by konkurować z produktem prosto od Google. To czy to będzie realne zależy od rozwoju Elixirowego frameworka o nazwie Phoenix.

Podsumowanie

Omówione w tym wpisie webowe języki programowania to tylko część z wszystkich języków funkcjonujących w ekosystemie stron internetowych i sieci WWW. Tak jak wspomniałem na początku wiele z nich ma specyficzne zastosowania a wymienienie każdego z nich i omówienie z wpisu zrobiłoby obszerną publikację.

Należy pamiętać, że świat cyfrowy jest bardzo elastyczny i dynamiczny a dobór narzędzi w tym odpowiedniego języka powinien być podyktowany racjonalnym jego zastosowaniem. Możliwe, że w momencie gdy przeczytasz ten artykuł po kilku miesiącach lub latach od publikacji część języków już nie będzie istniała, albo zyska na popularności lub … pojawią się nowe – bardziej adekwatne do potrzeb jakie stawia rynek. Ciekawym pytaniem jest jaki język zyska na popularnośći gdy na dużo bardziej realnym znaczeniu nabierze wyszukiwanie głosowe, które zyskuje na popularności i któremu wróży się świetlaną przyszłość?

Z tą drobną refleksją kończę ten artykuł i stawiam pytanie jak Ty czytelniku uważasz jaki język programowania w ciągu najbliższych lat znacząco zyska na popularności?

Może Ci się również spodoba

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *