5 powodów, za które lubię JavaScript
Język, który ma tyle samo zwolenników i przeciwników. Wyśmiewany przez obie grupy za garść dziwnych albo absurdalnych konstrukcji. Jednocześnie jednak JavaScript trzyma się wysoko na liście najczęściej używanych języków programowania. W końcu ciężko sobie wyobrazić nowoczesną stronę www bez jego obecności.
Tym razem opisze 5 powodów, za które polubiłem ten język mimo, że na początku swojej kariery raczej nie wydawał mi się on warty uwagi.
Zaczynamy.
1. Niski próg wejścia
W tym punkcie zawarłem właściwie dwie kwestie: szybkość nauki podstaw i narzędzia.
Jeśli chodzi o naukę podstaw to uważam, że załapanie jak mniej więcej wygląda programowanie w JavaScripcie i jakie ma podstawowe konstrukcje nie powinno zająć komuś kto już wcześniej programował dłużej niż weekendu. W tym języku można pisać proceduralnie, obiektowo czy funkcyjnie. Także każdy może zacząć od takiego podejścia jakie lepiej rozumie. Kolejne paradygmaty może wprowadzać stopniowo.
Co do narzędzi to na początek, dla pierwszych prób, tak naprawdę nawet nie trzeba mieć żadnego edytora. Możesz otworzyć konsolę w przeglądarce i uruchamiać tam fragmenty kodu. Oczywiście nie sprawdzi się to za bardzo przy próbach zrobienia czegoś bardziej złożonego. Ale przy nauce instrukcji języka może wystarczyć.
2. Bardzo duża społeczność
Popularność JavaScriptu związana jest też z obecnością bardzo dużej społeczności. Jeszcze nie udało mi się trafić na problem, który nie byłby poruszany i rozwiązany. Tematy na forach raczej nie pozostają bez odpowiedzi.
Społeczność JavaScriptu tworzy masy materiałów, kursów, poradników itd. Nieważne czy interesują Cię darmowe materiały i spotkania czy raczej płatne, profesjonalne szkolenia – na pewno znajdziesz coś dla siebie
Oprócz tego społeczność zebrana wokół JavaScriptu rozwija wiele rzeczy naokoło języka, m.in. bibliotek czy narzędzi.
3. Mnogość bibliotek
Z poprzedniego punktu płynne przejście do kolejnego. Obecność aktywnej społeczności powoduje, że powstaje naprawdę masa bibliotek. Oczywiście przy takiej ilości nie wszystkie są wysokiej jakości, jest też sporo bibliotek, które robią praktycznie to samo. Ale nawet odsiewając te niższej jakości mamy do dyspozycji bibliotekę na praktycznie każdą okazję. Jeśli masz jakiś problem, jakąś funkcjonalność do zrobienia to jest duża szansa, że po jednym zapytaniu w Google znajdziesz przynajmniej kilka gotowych rozwiązań i któreś z nich będzie tym czego potrzebujesz. Mam czasami wrażenie, że w JavaScripcie uskuteczniam Libraries Driven Development :D
4. Elastyczność poziomu skomplikowania
Nie do końca wiedziałem jak ten punkt nazwać więc może po prostu wytłumaczę o co mi chodzi. O ekspresyjność chodzi?
Programując w takim języku jak Java czy C# nawet dla najprostszej, jednej instrukcji musisz napisać przynajmniej klasę i mieć całą tą otoczkę w postaci chociażby kompilatora czy plików konfiguracyjnych. Zazwyczaj jest to w ogóle całe IDE, bez którego dużo mozolniej się pisze i uruchamia programy w tych językach.
Chcąc w JavaScripcie policzyć 2 + 2 piszę po prostu 2 + 2 . Tyle wystarczy żeby uznać kod w JavaScripcie za pełny i poprawny. Mogę taką linijkę zapisać w pliku i np. dołączyć do strony albo wpisać w konsoli przeglądarki i otrzymać wynik.
Z drugiej strony pisząc większą aplikację możemy ustrukturyzować nasz kod, korzystać z rozbudowanych IDE, używać plików konfiguracyjnych, dodatkowych narzędzi itd. Wszystko zależy od tego co jest nam w danej chwili potrzebne.
Sprawia to, że w moim odczuciu ten język jest przyjemny zarówno na samym początku nauki programowania jak i przy dosyć złożonych, komercyjnych projektach.
5. Niezależność od rozwiązań jednej firmy
Programując aplikacje webowe w C# na 99% będziesz używał frameworka ASP.NET. Programując w Javie masz Springa lub ewentualnie ze 2-3 inne używane komercyjnie frameworki. W przypadku C# nie ma właściwie za bardzo alternatywy więc musimy korzystać z tego co jest.
W JavaScripcie nie ma jednego dominującego frameworka. Jeśli znudzi mnie wojna między Reactem i Angularem to mam np. Vue.js. Jeśli i on mi się nie spodoba to mogę szukać kolejnych frameworków. A jeśli i one mi nie przypadną do gustu to w miarę łatwo mogę z mniejszych bibliotek poskładać zestaw, który spełni moje oczekiwania.
Rezygnując z rozwiązania konkretnej firmy nie mam poczucia, że odszedłem od tej jednej, najlepszej ścieżki. Z resztą wystarczy jedna większa konferencja i miejsce najlepszego rozwiązania wśród programistów JavaScript może zająć jakaś niszowa biblioteka, która powstała miesiąc wcześniej :P Ciężko na tym otwartym polu wypracować sobie pozycję jedynego słusznego dostawcy rozwiązań.
Podsumowując
Te wszystkie zalety piszę z perspektywy osoby, która nie programuje zawodowo w JavaScript. W pracy używam go jedynie jako wymagany element w aplikacji webowej. Jednak jestem w trakcie rozwijania jednej aplikacji w tym języku przez co mam obraz jak to wygląda kiedy JS jest tylko dodatkiem, a jak kiedy jest to podstawowy język programowania.
Jeśli chcesz być na bieżąco z postami, szukasz więcej moich przemyśleń albo chcesz podejmować dyskusję to zapraszam Cię na fanpage na Facebooku.
Ja też lubię javascript, mam sentyment, bo to właśnie na niej uczyłem się podstaw programowania. Potem był bootcamp front-end na eduwebie i zaczynam raczkować w tej branży. Na razie puściłem info wśród znajomych i robię małe zlecenia w zamian za tzw. wpis do portfolio, żeby od czegoś zacząć.