dla Początkujących
6 godz. 26 min · JavaScript · Full-stack i Programowanie
Adam GospodarczykProgramowanie to szeroka dziedzina, która nieustannie się rozwija. Rozpoczynając naukę możemy opierać się głównie na wskazówkach bardziej doświadczonych osób, bądź autorach kursów i nauczycielach. W praktyce najważniejsze na początku jest dobre zrozumienie tego, czym jest programowanie, jakie możliwości daje oraz jakie możemy wybrać ścieżki rozwoju. W tym kursie spojrzymy na programowanie z szerokiej perspektywy, dając Ci solidne podstawy do dalszej nauki.
To kolejne trudne pytanie, na które nie ma jednoznacznej odpowiedzi. Dobra wiadomość jest taka że języki programowania, podobnie jak angielski, niemiecki czy hiszpański mają cechy wspólne. Nie oznacza to że nauka jednego, da Ci dostęp do wszystkich ale poznasz ogólne mechanizmy, które spotkasz w niemal wszystkich pozostałych technologiach. W tym kursie skupiamy się właśnie na takich obszarach, opierając przykłady o obecnie najpopularniejszy język jakim jest JavaScript.
Być może zastanawiasz się jak dokładnie wygląda praca programisty? Czym różni się front-end od back-endu i czy wysokie umiejętności analityczne są wymagane niezależnie od obszaru programowania, którym się zajmujemy? Dodatkowo samo zostanie programistą to tylko początek drogi. Możliwości jakie przed nami stoją nie tylko są ogromne, ale również nieustannie się rozwijają, stawiając przed nami nowe wyzwania.
Ten kurs podzielony jest na dwie części - teoretyczną, która przedstawi Ci szerokie spojrzenie na programowanie oraz praktyczną, w której samodzielnie będziesz w stanie przekonać się jak pisać programy z wykorzystaniem języka JavaScript - najpopularniejszego języka na świecie. To, że będziemy przerabiać przykłady w JavaScript, nie stanowi przeszkody a wręcz lepiej przygotuje Cię do pracy z innymi językami jak Python, C# czy C++ lub Kotlin. To wszystko ułatwi Ci podejmowanie decyzji dotyczących dalszej nauki i rozwoju jako programista.
W pierwszych lekcjach części praktycznej kursu dowiesz się jak skonfigurować środowisko pracy wraz z edytorem, w którym przyjdzie Ci pracować. Pomożemy Ci w dobraniu odpowiednich ustawień i wtyczek, które przyspieszą naukę i pomogą w lepszym zrozumieniu podstawowych koncepcji programistycznych. Krok po kroku dowiesz się jak przygotować środowisko i rozpocząć komfortową pracę.
Mimo, że będziemy pracować z JavaScript, posłuży nam on do przedstawienia najważniejszych koncepcji programowania w każdym innym języku. Nie będziemy uczyć się tworzenia stron i środowiska przeglądarki a jedynie przećwiczymy najważniejsze koncepcje języków programowania w środowisku konsolowym. Dzięki temu zdobyte umiejętności z łatwością przełożysz na inne języki jak Python, Java czy Swift, bo wszystkie posiadają identyczne konstrukcje, a poznać należy wyłącznie różnice.
OOP to jeden z najważniejszych paradygmatów programowania, który powinien poznać każdy aspirujący Programista. Dzięki temu będziesz mógł zdecydowanie lepiej zrozumieć możliwości i powiązania klas i obiektów, które tworzą programiści a także pisać kod, który jest prostszy i reużywalny. To koncepcja, którą także wyjaśnimy obrazowo w kursie. Oczywiście, poza teorią w kursie pokażemy Ci przykłady tworzenia funkcjonalnych klas w JavaScript.
Kolejną ważną koncepcją, którą musi znać każdy początkujący Programista jest praca z błędami - innymi słowy obsługa błędów lub debugowanie naszej aplikacji. To niezwykle ważne, bo oszczędzi Ci mnóstwa frustracji oraz wielu godzin rozpoznawania, co w kodzie nie działa poprawnie. Z kursu w praktyce dowiesz się, jak testować swoje aplikacje, łatwo wykrywać błędy i korzystać z narzędzi, które będą je dla nas wykrywać lub automatycznie poprawiać!
Ten kurs przygotowaliśmy tak, aby był fundamentem wiedzy o Programowaniu, którego używamy w wielu naszych ścieżkach na eduweb.pl. To znaczy, że kurs który masz przed sobą rozpoczyna ścieżkę Python, JavaScript, Ruby i wiele innych. Wiemy, że w sieci jest mnóstwo materiałów na temat podstaw programowania i chcieliśmy przygotować wyjątkowy kurs, który da Ci spokój w natłoku wielu informacji w sieci. Zaangażowaliśmy w to najlepszych autorów eduweb oraz naszym zdaniem jednych z najlepszych programistów w Polsce. To, co jest jednak najważniejsze - kurs omawia programowanie bardzo prostym językiem, dzięki czemu jest przystępny dla każdego!
Kurs przeznaczony jest dla osób początkujących, które stawiają swoje pierwsze kroki na scieżce programisty lub programistki. Jednak skorzystają z niego także te osoby, które myślą o nauce programowania w celu uzupełnienia innych umiejętności, na przykład internetowi przedsiębiorcy, freelancerzy, UI/UX i web designerzy. Jeżeli czujesz się zagubiony lub przytłoczony dużą ilością często sprzecznych informacji - ten materiał pozwoli Ci szerzej spojrzeć na programowanie. To z kolei przełoży się na lepsze decyzje, które będziesz podejmować w kontekście swojego rozwoju. W kursie znajdziesz wskazówki i porady dotyczące efektywnej nauki programowania, które pomogą Ci szybciej zdobyć nowe umiejętności i pracę w zawodzie. Najważniejszą z nich jest fakt, że programowanie to dynamicznie rozwijająca się dziedzina, która wymaga od Ciebie nieustannej nauki. Zatem wypracowanie odpowiednich nawyków i technik nauki jest niezwykle istotne, niezależnie od miejsca w którym aktualnie się znajdujesz.
W tej lekcji utworzymy pierwszą w tym kursie funkcję i zobaczysz jak te funkcje
działają w tej oraz kolejnych lekcjach i jak mogą pomóc ci łącząc tą wiedzę, którą
już teraz masz tworzyć bardziej rozbudowane programy.
Na początek będziemy chcieli utworzyć funkcję, którą nazwiemy sayHello.
Robimy to tak, że piszemy function i
podajemy jej nazwę i ta nazwa może być taka sama jak nazwa zmiennych tzn.
nie może się zaczynać od np.
liczb itd, czyli to jest tak samo jak przypadku
zmiennych. Więc Ty ustalasz jak chcesz nazwać funkcję.
Więc nazwiemy ją sayHello w ten sposób, następnie podajemy nawiasy okrągłe,
tutaj w tych nawiasach coś się będzie
mogło znajdować ale o tym w kolejnych lekcjach
i potem podajemy taki oto blok kodu.
I to oznacza, że to co zawrzemy w funkcji
podobnie jak było w przypadku instrukcji warunkowych czy np.
pętli to będzie tzw.
ciało tej funkcji czyli body
i innymi słowy będzie tutaj kod, który się
wykona kiedy wywołamy tę funkcję ale o tym za moment.
Więc tutaj możemy wpisać wszystko co do tej pory robiliśmy np.
instrukcje warunkowe if, tutaj mogą być pętle itd.
Każdy kod jaki do tej pory pisaliśmy może
się znaleźć wewnątrz funkcji. Więc zapiszemy sobie tutaj console.log i napiszemy Hello,
w ten sposób. Zapisze to i zauważ, że nasz program bo on
się tutaj wykonuje za każdym razem jak zapiszemy plik,
nic nam nie pokazał.
Nie ma natomiast również błędów bo tutaj wszystko jest w porządku.
Utworzyliśmy funkcję, którą nazwaliśmy
sayHello, ona jeżeli byśmy ją wywołali zrobi console.log Hello
ale do tej pory nigdzie jej nie wywołaliśmy. I teraz mając funkcję możemy
ją wywołać w dowolnym miejscu więc napiszmy sobie tutaj sayHello odwołujemy
się do niej po nazwie tak samo jak do zmiennej,
natomiast gdybym zrobił tylko tyle to
odwołałem się do tej funkcji ale jej nie wywołałem.
Gdybyśmy zrobili console.log(sayHello),
zobacz, to tak naprawdę tutaj nam pokaże taki ciąg function: sayHello.
Oznacza to, że my tutaj przekazaliśmy tylko
referencje do tej funkcji i to samo w sobie niewiele nam daje. Ale jeżeli na
takiej funkcji, która tutaj w tym momencie wygląda trochę jak zmienna prawda
nazwaliśmy sobie ją tak jak chcieliśmy, tutaj się do niej odwołujemy, jeżeli postawimy parę
nawiasów okrągłych, czyli dokładnie to samo co robimy zauważ przy console.log
to też jest jakaś funkcja to log wewnątrz obiektu console
więc jeżeli się tutaj odwołamy do tego sayHello, zapisze, teraz zobaczymy Hello.
Czyli w tym momencie w naszym programie
gdzie wywołaliśmy funkcję, wykonał się cały kod jaki się w niej znajduje
i tu oczywiście może być znacznie więcej tego kodu.
Natomiast to co jest w super w przypadku
funkcji to są dwie rzeczy. Po pierwsze to, że możemy grupować jakiś kod i później w
odpowiednim momencie go wywoływać a druga rzecz to to, że będziemy mogli przekazywać
tu pewne parametry ale o tym powiemy w lekcji kolejnej.
Zauważ, że zaletą tego, że mamy funkcję jest to, że możemy ją
wywoływać wielokrotnie. Możemy tutaj napisać sayHello znowu
jak ją wywołam drugi raz to będziemy mieli dwa razy tutaj Hello.
No i znowu tutaj może być bardzo wiele
różnej logiki ale dzięki temu, że jest to funkcja będziemy mogli ją wywoływać tyle
razy ile chcemy i w takich momentach i miejscach gdzie chcemy.
Moglibyśmy nawet tutaj utworzyć teraz pętlę i w pętli np.
100 razy wywołać tę funkcję,
nie ma problemu a tylko w jednym miejscu
musielibyśmy zdefiniować co ta funkcja robi.
Jest jeszcze drugi sposób na to żeby
przypisywać funkcje czy żeby tworzyć funkcje w języku JavaScript.
Tak nie musi być w innych językach programowania więc na to zwróć uwagę.
Ale jeśli chodzi o język JavaScript to
możemy utworzyć również zmienną lub stałą tak jak to robiliśmy do tej pory np.
const sayHello
i mówiłem Ci, że tutaj po prawej
stronie jak tworzymy zmienne czy stałe w języku JavaScript możemy przypisać każdą
wartość jaka jest dostępna w języku JavaScript.
Więc to może być ciąg znaków, może być
dwójka, może być tablica ale również może to być funkcja.
Wtedy nie podajemy nazwy tej funkcji chociaż też można to zrobić ale to są
bardzo specyficzne przypadki do czego mogłoby się to przydać
i nie będziemy się teraz w nie zgłębiać
ale zauważ, że wtedy możemy w ten sposób zapisać funkcje.
Nie musimy podawać jej nazwy. Tutaj mi
podkreśla przy tym sayHello bo nie możemy nazwać tak stałej czy zmiennej jeżeli w
tej przestrzeni mamy już funkcję, która tak samo się nazywa. No bo nie wiadomo by było do
czego się później to odwołuje gdybyśmy powiedzieli sayHello. Więc nazwiemy to sayHello2
wtedy jest to zupełnie inna nazwa i nie koliduje i przypisujemy funkcję,
tak jak wspomniałem tu już nie trzeba
wtedy podawać jej nazwy. W tej funkcji możemy zrobić console.log np.
cześć, w ten sposób, zapisuje to
i dokładnie tak samo będę mógł się do niej odwołać czyli sayHello2
to jest stała, która kieruje na funkcję a skoro kieruje na funkcję to znaczy, że mogę
ją wywołać. I jeżeli zapisze zobaczymy tutaj cześć.
To tyle jeżeli chodzi o podstawy tworzenia
funkcji w kolejnych lekcjach będziemy się skupiać na tym do czego te funkcje mogą
nam się przydać i jak możemy je jeszcze rozbudować.