O Javascriptowych zamiennikach słów kilka
Witajcie, wpis, jak zwykle z lekka emocjonalny. Na starcie pragnę podkreślić iż dopiero co swą karierę z programowanie lub jak kto woli skryptowaniem zaczynam i w wielu kwestiach jestem zielony, jak szczypiorek na wiosnę (lub Irlandia w/g pana Tuska). Ale nie o polityce ten wpis ma być, a raczej o osobistych gustach, kilku błędach, kilku rozwiązaniach i o marzeniach, które może się ziszczą. Może jednak od początku.
Javascripcie, Brzydactwo moje
Javascript, jako język powstał dobre kilka latek temu Dokładniej w roku 1996 (data wydania wersji 1.0). Jest to mały (zależy z jakiej strony patrzeć), lekki (jeśli kilka MB to mało, jak na plik tekstowy) i szybki (no nie bardzo. Ale to zostawmy na później), a już z pewnością wieloplatformowy (za wyjątkiem przeglądarki do ściągania przeglądarek, która wymyśla swoje standardy do wszystkiego). Przynajmniej tak go opisują goście z MDN. Treść w nawiasach to efekt obserwacji i subiektywnych opinii, ale do nawiasów wrócę później.
Język ten wyrósł na podobieństwo języków z rodziny C/C++. Ma składnię do nich dosyć w podstawach przynajmniej podobną. Gdzie jest stosowany? Wszędzie tam, gdzie istnieje web. Nawet tutaj każdy przycisk i bzdet jest połączony z jakimś wszędobylskim skryptem.
Język ten powstał w czasach, gdy megaaplikacją był Doom, Pacman, czy inne stwory z epoki głębokiego średniowiecza i gdy nikt nie myślą o pisaniu edytora tekstu w przeglądarce, ba nikt nie myślał, że na stronie znajdzie się więcej niż jeden skrypt i będą rodziły się biblioteki do tego języka. I tak te kaczątko webu (może nie najśliczniejsze) dojrzewało. Zyskiwało kolejne piórka, gadżety, bzdety.
Nawet zyskało pokaźną liczbę cudeniek, które w innych językach są nie do pomyślenia. Chociażby pierwszy z brzegu
return { id : 1234, title : 'Tony the Pony' };
Zwraca błąd. Całkiem porawnie, ale już to
return { id : 1234, title : 'Tony the Pony' };
Przejdzie bez zająknięcia. A już o takich cudach jak te
'5' + 3 gives '53' // i '5' - 3 gives 2
nie wspomnę. Za późno, wspomniałem, a co tam.
Do tego powstawały biblioteki w stylu jQuery (które dorobiło się już wersji 1.8.2 ), które pozwalają wszystkim fanom włoskiej kuchni robić taki o to kod a la spaghetti bolognese
jQuery("div.test").append(jQuery('<p class="quote"/>').addClass('blue').slideDown('slow'));
Jak człowiek na to patrzy, to coraz mniej rozumie. Już lepiej, jakby językiem webu był Lisp lub Perl. Jednak, są sposoby na poprawę tego stanu rzeczy. Ale o tym za moment. Wytrzymacie?
Nie macie wyjścia :)
Tak sobie myślę, jak patrzę na to, czy JS musiał stać się językiem Webu. Żałuje, że językiem webu nie jest python lub ruby, lub inny język o human readable syntax. Żałuje, że tak nie jest. Te dziesiątki średników i nawiasów mogą być (przynajmniej dla mnie) obrzydzające. Kod przestaje być czytelny. To trochę tak, jakby porównywać dramat Szekspira, z tym co wpisuje normalny użytkownik, gdy posadzić go przy vim‑ie i poprosić o zamknięcie programu. I czy pętla w stylu
for(a = 1; i<1000;i++){ // zrób coś naprzykłąd napisz hello world albo wyświetl alert }
nie może wygladać tak
for i in range(1000): alert("Będę dobrym człowiekiem")
Alleluja. Jest wyjście
Ale o nim w części drugiej.
PS. Wpis ten nie jest motywatorem do gigaflejma między fanami Pythona (like me), a fanami C++ (like, somebody on this site), czy JavaScript. Więc błagam. Nie chcę tutaj miliarda komentarzy w stylu "Twoja matka powinna wstydzić się, że cię urodziła ty nędzny script-kiddie od X" za X podstaw każdy język, który przez jego Hejterów nazywany jest niczym. Wpis pokazuje parę bzdetów, dziwactw i problemów.
Co będzie w częście drugiej? O alternatywach, paru słowach o Googlu, paru o nowinkach.
PPS: Ale jako, że mały flejm nie jest zły, proszę o komentowanie i ocenianie, konstruktywne opinie, wasze pomysły co można zmienić.
PPPS: Wpis zrobił się nieco przy długi, ale za jego popełnienie przepraszać nie zamierzam.