Jedną z kwestii, które należy wziąć pod uwagę przy wyborze języka programowania do nauki, jest jego popularność. Obserwując chociażby liczbę ofert pracy i ilość materiałów edukacyjnych poszczególnych technologii można zauważyć pewną zależność – znajomość bardziej popularnych języków bardzo często wiąże się z większą liczbą książek, publikacji, tutoriali, itp., oraz większym prawdopodobieństwem znalezienia zatrudnienia w tej technologii.
Dobrym wyznacznikiem popularności języków jest indeks TIOBE. Jest on tworzony na podstawie liczby zapytań wyszukiwania dotyczących danej technologii w różnych serwisach (m.in. Google, Yahoo!, Wikipedii i YouTube). W niniejszym artykule przyjrzymy się mniej popularnym językom, które według najbardziej aktualnego indeksu TIOBE zyskują na popularności.
R – statystyka i wizualizacja
R to stosunkowo młody język programowania, pojawił się on bowiem w roku 2000. Wykorzystywany jest do obliczeń statystycznych i wizualizacji wyników. Znajduje on zastosowanie w wielu dziedzinach, takich jak bioinformatyka i badania kliniczne. Jego przydatność potwierdza też wykorzystywanie w wielu znanych firmach – można wśród nich wymienić Google, LinkedIn, Mozillę, Facebooka czy Twitter.
Język R umożliwia tworzenie kodu z nie tylko z wykorzystaniem paradygmatu obiektowego, ale także funkcyjnego, refleksyjnego i opartego o wektory. Warto również wspomnieć, że jest to język interpretowany, a więc program napisany w R nie zostanie skompilowany – zostanie on wczytany, zinterpretowany i wykonany przez interpreter języka R.
Przyjrzyjmy się zaletom tej technologii. Jedną z niewątpliwych mocnych stron R jest możliwość jego rozszerzenia – istnieje wiele dodatkowych pakietów, wzbogacających podstawowe wyposażenie tego języka. Użytkownicy mogą także tworzyć własne skrypty rozszerzające. R został zaprojektowany tak, aby umożliwić import danych ze źródeł o różnych strukturach – wśród wspieranych formatów znajdziemy m.in.: CSV, XLS, SAS i SQL.
Język ten jest również wieloplatformowy – można go używać w środowiskach Windows, Mac Os X, Unix, Linux oraz FreeBSD. Użytkownicy pracujący w środowiskach graficznych docenią zapewne fakt, że w przypadku R istnieje sporo takich środowisk (jednym z bardziej popularnych jest RStudio).
W kwestii użyteczności, język R udostępnia wiele metod do zaawansowanej analizy danych. Pozwala również na przeprowadzanie wysoce konfigurowalnych wizualizacji. Jedną z zalet jest także łatwe tworzenie dobrze zaprojektowanych wykresów o wysokiej jakości. Twórcy tej technologii dołożyli starań, aby zminimalizować liczbę wyborów, które użytkownik musi podjąć, aby zdefiniować wykres.
Językiem R powinni szczególnie zainteresować się programiści wiążący swoją przyszłość z obliczeniami statystycznymi i wizualizacjami.
Groovy – automatyzacja i testy
Groovy jest skryptowym językiem obiektowym, powstałym w roku 2003. Nieco ułatwioną naukę tej technologii powinni mieć programiści znający Javę, ponieważ do tego właśnie języka jest podobny składniowo Groovy. Jednak na tym nie koniec – może być on wykorzystywany zamiennie z Javą, możliwe jest również korzystanie z bibliotek napisanych w tym języku. Można powiedzieć, że Groovy jest uproszczoną wersją języka Java, z tego względu też okazuje się on często dość łatwy do opanowania.
W porównaniu z językiem Java, posiada on kilka rozszerzeń i udogodnień: domknięcia, możliwość przeciążania operatorów, łatwiejszą obsługę wyrażeń regularnych i kolekcji, oraz możliwość uruchomienia na dwa sposoby (jako dynamicznie interpretowanego, bądź też skompilowanego do postaci kodu bajtowego).
Groovy wspiera typowanie zarówno statyczne, jak i dynamiczne. Wśród ciekawostek dotyczących tego języka można wymienić jego alternatywną implementację, konwertowalną do kodu JavaScript (nosi ona nazwę “Grooscript”).
Język ten współcześnie najczęściej wykorzystywany jest do pisania testów oraz skryptów automatyzujących różnego rodzaju powtarzalne czynności. Innym dość powszechnym zastosowaniem jest tworzenie i konfiguracja pluginów do narzędzia Gradle.
MATLAB – obliczenia i symulacje
MATLAB jest interaktywnym, zaawansowanym środowiskiem, przeznaczonym do przeprowadzania obliczeń naukowych i tworzenia symulacji komputerowych. Znajduje ono bardzo szerokie zastosowanie, m.in. ze względu na możliwość odczytywania danych z urządzeń zewnętrznych, rysowania wykresów, a także prezentacji danych w postaci animacji.
Jednym z elementów środowiska MATLAB jest język programowania o tej samej nazwie. Jego składnia wzorowana była na języku C. Wszystkie zmienne w MATLAB-ie traktowane są jak macierze. Cechą charakterystyczną tego języka jest również automatyczne rozpoznawanie typów zmiennych (ustalenie typu następuje przy pierwszym użyciu).
MATLAB posiada szereg zalet, czyniących go bardzo użytecznym językiem do przeprowadzania: obliczeń, symulacji, modelowań, analizy oraz graficznej wizualizacji danych. Należy tutaj przede wszystkim wymienić dużą liczbę tzw. toolboksów, będących dodatkowymi bibliotekami, przeznaczonymi do rozwiązywania problemów z określonych obszarów. Stanowią one rozszerzenia standardowych możliwości MATLAB-a.
Język ten jest również stale rozwijany i udoskonalany. Warto wspomnieć też o bardzo dobrej i obszernej dokumentacji, co z pewnością przyczyni się do łatwiejszej i szybszej nauki tej technologii, a także sprawniejszego rozwiązywania problemów. Językiem MATLAB powinny zainteresować się w szczególności osoby związane z analizą danych, symulacjami i wizualizacjami.
Podsumowanie
Analizując aktualny indeks TIOBE, można zauważyć wzrost popularności niektórych mniej popularnych języków. Wyróżniają się w tej kwestii szczególnie trzy opisane powyżej języki: R, Groovy oraz Matlab. Dwa z nich – R i Matlab – znajdują zastosowanie w dziedzinach takich, jak: analiza i wizualizacja danych, oraz obliczenia naukowe. Groovy z kolei bywa najczęściej stosowany do automatyzacji czynności oraz tworzenia testów.
Osoby wiążące swoją przyszłość z programowaniem powinny wziąć pod uwagę to, że sytuacja na rynku pracy (wynikająca m.in. z popularności technologii oraz zapotrzebowania na osob, które je znają) może ulegać zmianom. Języki obecnie najczęściej doceniane przez pracodawców mogą zostać zastąpione przez takie, które jeszcze jakiś czas temu nie cieszyły się zbytnią popularnością. Wydaje się to prawdopodobne – szczególnie, jeśli uwzględnimy rozwój analizy danych oraz wzrost liczby firm zorientowanych na tę dziedzinę, na przestrzeni ostatnich lat.
Ciekawy artykuł…
Przyznam się, nie znałem wcześniej tych języków .