article banner

Wstęp do JavaScript od podstaw

Cześć! To jest fragment książki JavaScript od podstaw, która ma pomóc w nauce programowania od zera. Znajdziesz ją na Allegro, w Empikach i w księgarniach internetowych.

Programowanie to przede wszystkim świetna zabawa. Nie bez powodu programiści chodzą na hackathony1, piszą projekty po godzinach, narzekają, gdy w pracy jest za mało czasu na pisanie kodu. Programowanie potrafi wciągać niczym najlepsze seriale, a dodatkowo dostarczać znacznie więcej satysfakcji. Jest przy tym istotne personalnie i społecznie. Personalnie otwiera dużo drzwi, społecznie podnosi wydajność pracy, a za tym PKB, wpływy do budżetu, jakość naszego życia2.

Programowanie jest też bardziej dostępne, niż się wydaje. Poznałem świetnych programistów po studiach humanistycznych albo po latach pracy w supermarketach. Można przyrównać tę umiejętność do wzięcia udziału w maratonie czy nauki obcego języka. Jest dużym osiągnięciem i wymaga dużo pracy, ale nawet osoba bez predyspozycji jest w stanie tego dokonać. Programowanie nie wymaga studiów, certyfikatów ani drogich kursów. Nie oczekuje się już specjalnej wiedzy na temat elektroniki czy matematyki. Dziedzina ta z każdym rokiem staje się coraz prostsza, jej nauka jest coraz bardziej przystępna, a jednocześnie umiejętność programowania coraz bardziej się przydaje3.

Mam nadzieję, że ta książka da Ci możliwość przekonania się o tym wszystkim na własnej skórze. Starałem się pisać o tym co ważne i użyteczne, możliwie prosto i ciekawie. Chciałbym, aby był to zarazem dobry wstęp do wspaniałej przygody jaką jest programowanie oraz doskonała motywacja, która zachęci Cię do działania. Gotowy? To zaczynamy!

O książce

Książka podzielona jest na cztery części:

  • To, co najważniejsze w JavaScript — gdzie zaczynamy naszą przygodę z programowaniem i poznajemy najistotniejsze funkcjonalności tego języka.
  • Głębsze wody - gdzie wyjdziemy poza podstawy i zaczniemy omawiać bardziej zaawansowane tematy.
  • Napiszmy razem grę - gdzie wykorzystamy zdobyte umiejętności do napisania gry.
  • O programowaniu - gdzie pomówimy o wykorzystaniu zdobytych umiejętności, o nauce programowania i o branży programistycznej.

Na końcu książki znajdują się odpowiedzi do ćwiczeń oraz słowniczek kluczowych pojęć.

Dla kogo jest ta książka?

To jest książka dla każdego, kto chce nauczyć się programowania. Zamierzam obalić stereotypy i udowodnić, że zarówno 53-letnia nauczycielka, 42-letni taksówkarz, jak i 12-letni uczeń są w stanie z niej skorzystać. Zakładam wyłącznie doświadczenie w korzystaniu z komputera i internetu, a resztę postaram się wyjaśnić.

To nie jest książka dla osób, które już potrafią programować w innym języku. Tłumaczy wszystko od zupełnych podstaw. Nie powinna być traktowana jako podręcznik akademicki. Używane słownictwo uprościłem, a pojęcia zdefiniowałem w sposób nieformalny. Oczywiście, starałem się zachować maksimum poprawności, ale przede wszystkim podstawiłem na zrozumiałość i praktyczność.

Jak ta książka jest napisana?

Miałem przyjemność obserwować wiele osób na ścieżce nauki programowania. Często narzekali, że polskie książki o programowaniu są bardzo trudne — wypełnione niezrozumiałym słownictwem albo nadmiernie skupione na teoretyzowaniu. Postanowiłem napisać książkę, która będzie zupełnie inna. Zdecydowałem się na język możliwie "łopatologiczny", często nieformalny. Zawsze stawiałem na interes czytelnika, nie zważając na potencjalną krytykę ze strony mojego środowiska. W książce starałem się przekazać to, co najważniejsze, ale i wyjaśnić gdzie i jak wykorzystać nabyte umiejętności w praktyce. Często posługuję się metaforami i wizualizacjami.

W całej książce staram się zwracać do Ciebie bezpośrednio. Wiąże się to z badaniami, które dowodzą, że treści tak przedstawiane są lepiej zapamiętywane. Zazwyczaj będę pisał w liczbie mnogiej, uwzględniającej zarówno mnie, jak i Ciebie. Grzecznościowo: Ty, Ciebie czy Twój piszę wielką literą, jak w listach. Unikam formy męskiej czy żeńskiej4.

Będę stosować cudzysłowy angielskie (czyli " z obu stron), a przy liczbach rzeczywistych stawiać będę kropki zamiast przecinków (3.14 zamiast 3,14). Zdecydowałem się na to, gdyż tak stawia się nawiasy i zapisuje liczby w programowaniu. Chciałbym więc zarówno zwiększyć spójność  z przykładami, jak i przyzwyczajać Cię do takiej notacji.

Czego nauczysz się z tej książki?

Ta książka nie wystarczy by nauczyć się programowania. Nie wiem, czy istnieje taka, która by wystarczyła. To tak jakbyśmy chcieli się z jednej książki nauczyć języka fińskiego od zupełnych podstaw. Jeśli jednak sumiennie przystąpisz do nauki na podstawie tej książki (przykładów, zadań), to skończysz z wiedzą wystarczającą, by wykorzystywać JavaScript w prostych zastosowaniach. W czwartej części pokażę Ci, co dalej możesz z nim zrobić oraz jak możesz kontynuować swoją naukę.

Jak czytać tę książkę?

Tę książkę można czytać na dwa sposoby: Na poważnie — analizując przykłady i wykonując wszystkie zadania, albo luźno — pomijając szczegóły i próbując złapać ogólny obraz, o co chodzi z tym całym programowaniem.

Drugą kwestią jest kolejność czytania. Czytanie po kolei ma sens, jeśli chcemy zacząć naukę jak najszybciej. Dopiero w czwartej (ostatniej) części zbudowany jest szerszy obraz, do czego może nam się przydać programowanie, jak możemy się dalej uczyć i dlaczego ta wiedza jest ważna. Nic nie stoi jednak na przeszkodzie, by zacząć od części ostatniej. Zainteresowanych rozwojem branży programistycznej odsyłam natomiast prosto do rozdziału Przyszłość programowania.

Dlaczego JavaScript?

Przez ostanie lata JavaScript stał się jednym z najnowocześniejszych5, najpowszechniej używanych i najbardziej uniwersalnych języków. Jest też kluczowym elementem do zostania programistą stron internetowych (front-end developer). Wreszcie, jest wiele innych rzeczy, do których można ten język wykorzystywać, od pisania skryptów w Google Sheets, aż do programowania robotów (patrz Co można robić w JavaScript?). Nie jest jedyną słuszną ścieżką, ale jest na pewno jedną z lepszych ścieżek na początek.

Uwaga! JavaScript i Java to dwa zupełnie różne języki. Trochę jak języki słowacki i słoweński – są pewne podobieństwa, ale i ogromne różnice. Nie należy ich mylić.

Podziękowania

Każda książka to owoc pracy wielu osób. Oto osoby, którym chciałbym podziękować za to, że uczyniły tę książkę lepszą:

  • Dominika Jamroga oraz Katarzyna Syguła, które dokonały korekty językowej,
  • Tomasz Jakut (Comandeer), Paweł Wolak, Maja Moskała oraz Mateusz Bogolubow (Devmentor), którzy dokonali korekty technicznej,
  • Marta Raźniewska, która przygotowała większość rysunków oraz projekt okładki.
1:

Spotkania, na których w określonym czasie (zwykle w 24 lub w 48 godzin) grupy programistów piszą aplikacje od początku do końca. Programiści robią to w wolnym czasie i dla rozrywki, ale także by mieć przestrzeń do nauki i testowania nowych technologii.

2:

Więcej na temat tego, jak widzę programowanie w ujęciu społecznym znajduje się w ostatnim rozdziale Przyszłość programowania. Jeśli Cię to zainteresowało, przeskocz tam już teraz.

3:

Więcej na ten temat w części czwartej, O programowaniu.

4:

Poza rozdziałem "Jak zostać programistą?", gdzie używam ich naprzemiennie.

5:

Krąży wiele nieaktualnych przekonań na temat JavaScript, jakoby był językiem prymitywnym i ograniczonym. Przeszedł on w ostatnich latach ogromną przemianę. Doszły liczne nowoczesne funkcjonalności, a jednocześnie narzędzia takie jak ESLint czy IntelliJ wspomagają programistów i pomagają unikać zaszłości języka. Doszły też nadbudówki na język, takie jak TypeScript. To wszystko sprawia, że JavaScript, jakiego używa się we współczesnych projektach, razem ze współczesnymi narzędziami, jest nie tylko nowoczesny, ale jest pod tym względem w ścisłej czołówce.