W jednym z poprzednich wpisów na naszym blogu wspomnieliśmy o pomyśle senatorów stanu Luizjana, pozwalającym uczniom w szkołach na zastąpienie nauki języka obcego nauką jednego
z języków programowania. Pomimo, że pomysł spotkał się ze znacznym sprzeciwem naukowców, wskazujących na fakt, że znajomość języka obcego, a umiejętność programowania to dwie całkowicie odmienne umiejętności, warto pochylić głowę nad podobieństwami występującymi pomiędzy tymi zdolnościami.
Im więcej znasz języków, tym łatwiejsza ich nauka
Kiedy zaczynamy przygodę z nauką kolejnego języka, często podświadomie znajdujemy podobieństwa między nim a tymi, które już znamy. Czasami są to pojedyncze słówka będące zapożyczeniami, innym razem analogiczna budowa czasu, a niekiedy całe wyrażenia. Podobieństwa te sprawiają, że nauka przychodzi nam z większą łatwością. Podobnie jest w przypadku języków programowania. Kluczem do sukcesu jest szybkie uczenie się i zapamiętywanie pewnych wzorców, które z każdym kolejnym językiem, którego nauki się podejmiemy, będą stawać się coraz bardziej intuicyjne.
Struktura, reguły oraz logika
Języki programowania, podobnie jak języki obce, posiadają określoną budowę i rządzą się pewnym zbiorem zasad, których należy przestrzegać, aby uchronić się od błędów. Podczas nauki programowania musimy przyswoić sobie jego składnię, symbole oraz struktury, które te symbole tworzą. W języku obcym mamy natomiast gramatykę i budujący nasze słownictwo alfabet. Ponadto, podczas gdy języki obce można pogrupować według rodzin, do których przynależą (np. języki romańskie, germańskie czy słowiańskie), języki programowania grupujemy według tak zwanych paradygmatów programowania (np. języki obiektowe, funkcyjne czy proceduralne). Języki z tej samej grupy łączy wiele podobieństw, a biegłość w języku należącym do konkretnej grupy ułatwia przyswojenie kolejnego.
Czytelny przekaz informacji
Każdy dobry programista wie, że kod nie powinien jedynie działać, musi być również czytelny i zrozumiały dla kolejnych odbiorców. Czysty, czytelny kod pozwala na szybsze zrozumienie logiki programu podczas dodawania nowych funkcjonalności, usuwania błędów i utrzymywania projektu, podobnie jak bezbłędna oraz klarowna wypowiedź w języku obcym (ustna bądź pisemna) usprawnia komunikację między uczestnikami rozmowy.
Jak widać, pomysł zastąpienia w szkołach jednej umiejętności drugą nie wziął się znikąd. Proces nauki i przyswajania języka pozostaje taki sam niezależnie od tego, czy jest to język programowania czy język obcy. Jednakże ten drugi posiada coś, czego nie ma i prawdopodobnie nigdy nie zdobędzie żaden język programowania. Jest to podłoże kulturowe, które otwiera nam drogę do poznawania świata.
(A.S.)