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 zajmiemy się kolejnym typem
danych, dostępnym w każdym z języków programowania
a jest to typ danych liczbowy.
Więc będę chciał na początek utworzyć sobie stałą, którą nazwiemy number.
Cały czas pamiętaj, że zmienne czy stałe
możesz nazywać jak chcesz, możesz tutaj napisać np.
liczba. I piszemy jej wartość 20.
Zauważ czym to się różni od tego co mieliśmy w lekcji poprzedniej.
Otóż nie ma tutaj żadnych cudzysłowów.
I teraz czym się różni taki zapis od takiego zapisu.
Różni się bardzo znacznie. Dlatego, że on mówi językowi JavaScript, czy tak naprawdę
temu kompilatorowi, który to wszystko kompiluje i uruchamia,
czyli takiej platformie uruchomieniowej, mówi po prostu, że ta wartość 20 to jest
liczba. W tym przypadku ta wartość jest tekst i ona nie ma żadnej specjalnej tak
naprawdę wartości, żadnego specjalnego znaczenia dla języka JavaScript. Jest to po
prostu tekst, którym mogliśmy wpisać dowolną rzecz.
W takim przypadku jest to wartość liczbowa.
I teraz na wartościach liczbowych będzie można wykonywać różnego rodzaju operacje.
Skoro mamy w takiej stałej number zapisane
20, to o czym jeszcze będziemy później mówić w tym kursie, będziemy mogli np.
pomnożyć number razy 10 i to będzie tak jakbyśmy pomnożyli 20 razy 10.
Język wie w jaki sposób ma to zrobić, bo od początku wie, że w takiej stałej znajduje
się wartości liczbowa a nie ciąg znaków, który może reprezentować dowolną rzecz.
To mogą być napisane 20x np.
i jest to zwyczajny tekst, który po prostu
zawiera w sobie takie znaki jak dwa i zero.
Teraz jest to liczba 20.
W ten sposób zatem możemy tworzyć
zmienne czy stałe przypisywać im wartości liczbowe.
I teraz jeszcze jedna ciekawostka.
Być może już zauważyłeś dlaczego nie możemy zmiennych zaczynać od cyfr. Bo
wcześniej mówiłem, że nie możemy napisać np.
czegoś takiego 3number. Ale możemy zrobić numer3.
Właśnie z tego powodu, że gdybyśmy
wcześniej sobie utworzyli jakąś stałą i byśmy ją nazwali 20 i przypisali jej wartość np.
Jan, gdyby to było dopuszczalne w języku,
to na tym etapie, pisząc 20, my byśmy tak naprawdę odwoływali się do tej stałej 20.
Mam nadzieję, że to widzisz bo jak wcześniej pisaliśmy sobie np.
imię to mogliśmy do innej stałej przypisać to imię.
Wtedy ten język wie, że to jest stała imię
tutaj przypisz tę samą wartość czyli Jan. Gdyby to mogło być 20 tutaj nie dałoby się
rozróżnić pomiędzy nazwą zmiennej czy stałej a wartością liczbową. Musielibyśmy
mieć jakiś inny sposób na zapisywanie wartości liczbowych.
Z tego właśnie powodu zmienne nie mogą się
zaczynać od cyfr. Utwórzmy sobie kolejną stałą, którą nazwę price jak cena.
I tutaj napiszę 20.5. I teraz co to oznacza?
Otóż w języku JavaScript możemy tworzyć również wartości liczbowe zmiennoprzecinkowe.
Tutaj mogłoby to wyglądać w ten sposób.
Oczywiście jest pewna precyzja, która jest tutaj jakby aplikowana i
dozwolona ale nie będziemy się w to zgłębiać. Natomiast warto wiedzieć, że nie
tylko liczby całkowite są możliwe, ale również liczby zmiennoprzecinkowe
czyli możemy to zrobić w ten sposób. Potem na takich stałych moglibyśmy
oczywiście wykonywać różne operacje jak dodawanie, mnożenie itd.
Na koniec jeszcze jedna rzecz, która jest specyficzna dla języka JavaScript.
Niekoniecznie znajdziesz ją w innych językach, ale warto o niej wiedzieć.
Jest to taka specjalna wartość not a number, czyli ona wygląda w ten sposób. Literalnie
moglibyśmy ją wpisać tak. To jest tak jakbyśmy mieli taką globalną zmienną o
nazwie not a number. Ona przechowuje taką specjalną wartość.
To się może wydawać dziwne, ale ona się
może pojawić w kontekście właśnie działań matematycznych kiedy, co
później zobaczysz, będziemy próbowali pomnożyć np.
20 razy Piotr.
Jeżeli coś takiego byśmy chcieli zrobić, że mamy w takiej stałej number
wartość liczbową i chcemy ją pomnożyć przez ciąg znaków np.
Piotr to zostanie nam zwrócone
not a number, czyli język powie nam coś wam zwróciłem ale to nie jest liczba.
I teraz będziemy mieli coś takiego, że będziemy w wielu miejscach mogli sprawdzać
czy to co zostało zwrócone to jest liczba czy nie.
Więc na razie może to się wydawać
skomplikowane, jednak chciałem o tym powiedzieć w lekcji o typie liczbowym.
Czyli możemy zapisywać liczby całkowite,
liczby zmiennoprzecinkowe a także może się pojawić taki specjalny
typ, który raczej się pojawia w wyniku pewnego rodzaju działań matematycznych jak
NaN czyli not a number. Ja go umieszczę tutaj w komentarzu abyś o nim po prostu pamiętał.