Nauka języka programowania
Każde inteligentne stworzenie ma swój system znaków, dźwięków i zachowań, które ogólnie określamy językiem porozumiewania się. W ludzkiej populacji na świecie istnieje ponad 7000 języków i ich dialektów. Języki te ewoluują i ewoluowały od zawsze, dostosowując się do mijającego czasu, kolejnych odkryć i idei, a także potrzeb danej społeczności. Niektóre z nich posiadają w sobie słowa i wyrażenia, które nie są możliwe do przetłumaczenia na inny język, albo ich wyjaśnienie wychodzi poza możliwość użycia pojedynczego wyrażenia. Dzieje się tak od zawsze i w każdym języku (żywym) i nie ma w tym nic dziwnego. Ba! Okazuje się, że systemy porozumiewania u zwierząt także ewoluują, dostosowując się do czasów. Istnieją gatunki, które dzięki kontaktom z człowiekiem wykształciły pewne „wyrażenia” (świetnym przykładem są nasze domowe mruczki, które „nauczyły się” miauczeć, traktując to wyłącznie jako element komunikacji z nami). Czy niektóre ptaki, które wzbogaciły swoją gamę dźwięków o swoiste nazewnictwo nowych zagrożeń.
Dlaczego mówimy o takich rzeczach na stronie poświęconej nauce kodowania? Gdyż języki programowania nie są wyłącznie wymysłem pojedynczej garstki inżynierów. Są pełnoprawnymi metodami komunikacji z maszyną, które wyewoluowały z innych metod porozumiewania się, wykorzystując idee językowe. Jest to odpowiedź na potrzebę komunikacji w innym wymiarze, narzuconym przez rozwój myśli technologicznej. Nauka języków programowania i potrzeba ich poznawania to sytuacja, którą można porównać do niegdysiejszej potrzeby nauki pisania i czytania. Osoby bardziej światłe i świadome przyszłości wiedziały, że jest to umiejętność, która w pewnym momencie stanie się niezbędna. Inne nie do końca rozumiały potrzebę tego, aby całe społeczeństwo umiało porozumiewać się w swoim języku w sposób inny niż werbalny. Czy wyobrażamy sobie teraz, aby ktoś pracujący i prowadzący normalne życie nie umiał pisać lub czytać? No, nie bardzo…
Podobnie z językiem angielskim. Jeszcze 2-3 dekady temu, był to po prostu język dodatkowy. Obecnie nieznajomość języka angielskiego staje się problemem dla ludzi chcących pracować w bardziej nowoczesnych branżach, czy międzynarodowych koncernach.
Teraz przełóżmy to na sytuację, gdzie być może za parędziesiąt lat, tak samo elementarna stanie się znajomość języków programowania. W końcu wiadomo, że już niedługo to urządzenia będą wykonywać większość pracy, którą w tej chwili wykonuje człowiek. Jednak my będziemy nadal potrzebni, do nadzorowania ich pracy i tworzenia jeszcze lepszych rozwiązań. A to oznacza, że znanie choćby jednego języka kodowania, będzie niezbędne.
Nauka programowania – jaki język?
Zdecydowanie jest w czym wybierać. Co ciekawe języki programowania weszły już na etap, podczas którego powstają ich nowe odmiany, dialekty używane w pojedynczych grupach itd. Teraz pozostaje pytanie, jakiego języka się uczyć albo od którego zacząć? Nie ma na nie jednej odpowiedzi. Wszystko zależy od predyspozycji, a wśród nich takich warunków jak wiek, znajomość nauk ścisłych, dotychczasowe umiejętności i wiedza. W takim razie spójrzmy na to, w jaki sposób powoli dokonać wyboru pierwszego i każdego kolejnego języka.
Nauka języka programowania
Zacznijmy od najprostszego podziału, o jakim możemy mówić, przedstawiając oględnie języki programowania. Języki wizualne i tekstowe. Oczywiście tego typu podział występuje głównie ze względu na najmłodszych. Warsztaty programowania dla dzieci i młodzieży są oblegane i nie ma się co dziwić. Mnogość rozwiązań jest już w tej chwili olbrzymia. Zaczynamy więc od kategorii głównie przeznaczonej dla młodszych i początkujących programistów.
Programowanie wizualne.
Termin ten odnosi się do dosyć sporej gamy programów i aplikacji, gdzie nie korzysta się ze znajomości dokładnych komend, ale gotowe bloczki z poleceniami, metodą przeciągnij i upuść, pozwalają nam stworzyć sensowny ciąg, prowadzący do efektu, jakim jest zaprogramowanie funkcji, animacji itp. Brzmi ciekawie? Na pewno! Tylko dla dzieci? Niekoniecznie. ?
Na pewne języki wizualne są atrakcyjne. Efekty można zobaczyć już na początku. Oswajają z ideą programowania i zmniejszają poczucie, że ta dziedzina życia jest trudna i skomplikowana. Często elementem, który zniechęca w programowaniu tekstowym, jest brak możliwości uruchomienia programu w momencie pojawienia się błędu w kodzie. W przypadku języków wizualnych, gdzie tworzone są algorytmy w systemie blokowym, zazwyczaj nie da się po prostu połączyć niepasujących do siebie elementów.
1. Scratch.
Prawdopodobnie najpopularniejszy pierwszy język kodowania dla maluchów. Niezwykle intuicyjny, stworzony przez MIT, stał się jedną z opcji, która wprowadza w świat kodowania zarówno dzieci, jak i dorosłych. Zdecydowanie jego plusem jest olbrzymia zawartość, napędzana olbrzymią popularnością, a co za tym idzie społecznościami internetowymi, które dzielą się materiałami, pomysłami, wiedzą i zapałem.
Scratch to aplikacja składająca się z wirtualnych klocków – popularnie zwanych blokami. Reprezentują one kolejne posunięcia programu, warunki takie jak pętle, zdarzenia czy operatory. Uczeń buduje z nich nawet bardzo złożone ciągi, a dzięki temu, że występują one w formie łatwych do zrozumienia fraz, poznaje on podstawy programowania i tego, jak powinny wyglądać kolejne komendy. To wszystko na początek bez potrzeby ich nauki, czy poznawania niuansów dotyczących pewnych zmiennych. Oczywiście dużą rolę w popularności Scratcha odgrywa fakt, iż jest on dostępny w wielu językach, w tym w języku polskim.
Czy Scratcha można nazwać językiem programowania? Pojawiają się pojedyncze głosy, mówiące, że nie. Wynika to z tego, iż jest to aplikacja wykorzystująca frazy i polecenia, które często nie mają odpowiedników w późniejszym, bardziej profesjonalnym kodowaniu. Jednak nie da się ukryć, że Scratch jest potężnym narzędziem dla wszystkich, którzy chcą zacząć i zapoznać się z tym, jak w ogóle wygląda kodowanie oraz przyswoić jego podstawy.
2. EV3 – LEGO Mindstorm
Zabaw(k)a o olbrzymim potencjale edukacyjnym. LEGO postarało się, aby budowanie z klocków już nigdy nie było takie same. Za pomocą tej niezwykłej serii pozwala na zbudowanie urządzenia, które następnie się programuje. Język stosowany do programowania zbudowanych już robotów jest stworzony specjalnie (i wyłącznie) do ich obsługi, ale nie zmienia to faktu, że nadal na jego podstawie możemy się naprawdę sporo nauczyć.
EV3 wykorzystuje opisany już wcześniej system bloków, które ustawia się metodą przeciągnij i upuść. Duża ilość dostępnych opcji sprawia, że zbudowane roboty i urządzenia można programować zarówno za pomocą wykorzystywania krótkich komend, jak i ma się możliwości tworzenia skomplikowanego oprogramowania odpowiadającego za ich działanie.
3. Blockly
Język, który często przypomina użytkownikom działanie Scratch. Jest to odpowiedź Google na zapotrzebowanie na języki wizualne. Zasada obsługi i intuicyjność są zbliżona do wspomnianego języka. Ciekawostką natomiast jest to, że Blockly pozwala na zamianę stworzonego dzieła na kod w jednym z „profesjonalnych’ języków kodowania takich jak JavaScript, Python, PHP, LUA, Dart. Z tego powodu jest to jeden z najlepszych programów pozwalających na płynną przesiadkę z języków wizualnych na tekstowe. Można zacząć od tworzenia własnych kompozycji, a następnie sprawdzić jak będą one wyglądać w jednym z popularnych języków.
4. Alice
Ciekawostka na rynku edukacyjnym związanym z nauką programowania. Program, w którym nawet zupełny „świeżak” może stworzyć wspaniałe animacje 3D do gier i innych programów. Samo tworzenie kodu jest zbliżone do metod stosowanych we wcześniejszych programach wprowadzających w świat wizualnych języków programowania. Jednak program Alice pozwala na tworzenie błędnych kodów, jak i uruchamia nawet źle wykonane polecenia, dzięki czemu w zabawny sposób „wytyka błędy”. Fajny i odświeżający program, który jest wykorzystywany w takich miejscach jak szkoły i warsztaty programowania dla dzieci. Korzystają z niego także uniwersytety wprowadzające swoich słuchaczy w kodowanie.
Tekstowe języki programowania.
Temat rzeka. Języków jest co najmniej kilkadziesiąt, jeśli mówić o popularnych. A tych mniej popularnych jeszcze setki. W tym wpisie zajmijmy się jednak tymi, które mogą być świetnym początkiem, poznaniem tajników programowania albo doskonale pasują jako kontynuacja nauki po zapoznaniu się już z kodowaniem za pomocą języków wizualnych.
Oba przedstawione języki wymagają od słuchacza umiejętności pisania i czytania oraz znajomości języka angielskiego przynajmniej na poziomie podstawowym.
1. Python
Niezwykle popularny język kodowania, który już od dłuższego czasu przyciąga młode pokolenia. Co jest takiego ciekawego w Pythonie? Otóż zdaje się on być najbardziej intuicyjnym tekstowym językiem programowania. Dzieje się tak z powodu tego, iż jego składnia bardzo przypomina „ludzkie” metody komunikacji. Odczytanie kodu Pythona jest możliwe nawet dla zupełnych „świeżaków’ a napisanie go samemu to zabawa w pisanie po prostu ciągu poleceń w języku angielskim. Niedziwne więc, że coraz więcej młodych ludzi zaczyna właśnie od tego “wężowego” języka.
Kolejny argument przemawiający za nauką kodowania w Pythonie to faktyczna popularność tego języka, która przekłada się na setki, jak nie tysiące stron, społeczności i możliwości pobrania darmowych ćwiczeń, lekcji, informacji. Python okazał się najbardziej popularnym językiem 2018 roku. Dzięki ogromnej popularności i istnieniu wielu materiałów w sieci nawet jego samodzielna nauka staje się całkiem prosta i przyjemna.
2. LUA
Znacie takie tytuły jak Sims, World of Warcraft, Far Cry, czy Angry Birds? Na pewno choć raz słyszeliście, o którymś z tych hitów albo nawet i zdarzyło Wam lub Waszym znajomym w nie grać. Otóż gry te w części powstawały także dzięki językowi LUA. Tak, w 2003 roku był to najpopularniejszy język kodowania wśród twórców gier komputerowych. Co przemawia za siłą tego języka?
Podobnie jak w przypadku Pythona, LUA jest językiem bardzo intuicyjnym, a napisane w nim instrukcje przypominają po prostu komendy w języku angielskim. Różnorodne warsztaty programowania dla dzieci i młodzieży wykorzystują LUA jako jeden z pierwszych „dorosłych” języków.
Który język programowania wybrać?
Jak wspomnieliśmy już na początku wpisu, nie ma jednej odpowiedzi na to pytanie. Rozwiązanie tego problemu jest dla każdego sprawą indywidualną. Na pewno dla najmłodszych najlepszą opcją jest wprowadzenie wizualnego języka programowania, gdyż dzięki niemu dziecko jest w stanie zrozumieć, do czego i w jaki sposób naprawdę się dąży w pracy programisty. Języki tekstowe są dla dzieci i zupełnie niezaznajomionych z ideą programowania ciągiem tekstu, który nie do końca zdaje się oczywisty. Zapraszamy do zapoznania się ze znajdującą się tutaj ofertą naszych kursów. Może one pomogą podjąć decyzję.
Podobne wpisy:
One Comment on ““Nauka języka programowania na początek. Jak wybrać, jakie są opcje, co dają?””
Ja tylko z własnego doświadczenia chciałam dodać, że wizualne języki programowania wcale nie nadają się wyłącznie dla dzieci. Dzięki nim każdy możne zobaczyć jak wygląda programowanie… a raczej jego ogólne założenia od podszewki. Taki Scratch albo Blockly to świetna zabawa dla każdego kto faktycznie jest zainteresowany nauka programowalni chce najpierw zobaczyć samemu “z czym to się je” ( a czasami zarwać nockę siedząc i grają w labirynt :D).