Od jakiego języka zacząć naukę programowania?

Od jakiego języka zacząć naukę programowania?

Mój pierwszy kod przekształcony w działający produkt był prostą stroną internetową. Miałam wtedy 12 lat. Pożyczyłam od wujka grubawą książkę z napisem "Internet", gdzie znalazłam przykładowy kod HTML. Przepisałam wiernie w Notatniku, zmieniłam rozszerzenie i... Voilà! Zaczęłam się bawić zmianą koloru, pogrubioną czcionką itd. Jakiś czas później strona wylądowała na bezpłatnym hostingu Republiki. Cały kod mojej strony zmieściłby się na jednym ekranie. A jednak poczułam, że stworzyłam coś nowego, własnego i otworzyłam drzwi nowym możliwościom.

Minęło wiele lat, szkoła skutecznie zniechęciła mnie do nauki programowania, tłukąc do głowy Logo, Pascala i inne rzeczy, które nie wydawały się w żaden sposób przydatne. W czasie szkolnych zajęć nigdy nie poczułam tej magii tworzenia. Gdzieś w połowie liceum zaczęło mnie to na nowo interesować. Po zajęciach z Flasha i próbie zbudowania sklepu internetowego, chciałam sięgnąć dalej. Ale zabrakło mi zupełnie wiedzy i pomysłu co robić. Kolega podrzucił mi jakiś tutorial do PHP, ale zupełnie mnie to nie wciągnęło. Czas leciał, zdałam maturę i postanowiłam wbrew wszystkiemu iść na Informatykę.

Początki studiów też nie wzmagały pasji tworzenia. Poznawanie algorytmów, zbioru komend, architektury komputera itd. było poznawaniem jak to wszystko działa i było super. Ale wciąż brakowało mi tego poczucia tworzenia, które tak silnie wpłynęło na mnie w wieku 12 lat. Pierwsze programy na studiach też wiały nudą, do momentu projektów na 2 stopniu studiów, gdzie można było zrobić projekt na dowolny temat w zadanej technologii.

Sięgnęłam wtedy do moich językowych pasji i zrobiłam jakiś cudaczny program, wspomagający naukę odmiany fińskich czasowników. Fińskiego nie nauczyłam się nigdy, ale... Ha! To dopiero była radość tworzenia. Poczułam wtedy to samo, co mając 12 lat. Mam w swoich rękach siłę i nie zawaham się jej użyć w słusznym celu.

Z drugiej strony zajęcia w ciągu semestru i wszystkie zadania po drodze, dały mi dobrą podstawę do tego co sama chciałam stworzyć. Pisanie w Pythonie przywróciło mi dużo radości z całej Informatyki, która wierzyłam, że do mnie wróci i wcale się nie pomyliłam.

A więc co? Czy uważam, że każdy powinien rzucić się w tej chwili na kurs HTML'a i wyprodukować swoją pierwszą stronę? Nie jest to zły pomysł, bo zrobienie tego nie zajmie dużo czasu, a jest bardzo nagradzające. Ale niekoniecznie jest to droga dla każdego. Zastanów się do czego chcesz wykorzystać nabytą wiedzę, jakie problemy chcesz rozwiązać programowaniem?

W czasie studiów mój profesor nieraz wspominał, że powinniśmy sobie codziennie rozwijać programy na własny użytek. Ale że co?... Zupełnie nic mi nie przychodziło do głowy, ale wynikało to głównie z niewiedzy. Nie widziałam żadnych dobrych przykładów. Teraz mam cały spis rzeczy, które chciałabym skończyć w wolnej chwili, które by mi się przydały.

Jeśli chcesz w przyszłości tworzyć strony internetowe - zanurkuj w HTML'u, potem dołóż CSS'a, a całość okraś szczyptą JavaScriptu.

Jeśli chcesz zajmować się przetwarzaniem danych, masz wiedzę ze statystyki i chcesz wykorzystać to wszystko do zakodzenia sobie modeli - spróbuj R albo Pythona. R jest oparty na MatLabie i ma więcej podejścia matematycznego, co może być sporym atutem.

Jeśli chcesz tworzyć apki mobilne - pomyśl o Javie i programowaniu na Androida lub iOS ze Swiftem / Objective-C.

Jeśli lubisz znać dziedzinę od podszewki, optymalizacja i logika są Twoim drugim imieniem - daj szansę C/C++. Nie myśl, że są to języki przestarzałe - wciąż powstaje w nich mnóstwo aplikacji i zajmują wysokie pozycje (top10) wśród najpopularniejszych języków programowania.

Jeśli chcesz mieć szybko możliwość zrobienia czegoś konkretnego - polecam gorąco Pythona lub Ruby. Oba są językami ogólnego zastosowania, więc możesz nimi dużo osiągnąć.

Czy to wszystkie możliwości? Absolutnie nie!

Język programowania dla początkujących jest sprawą kontrowersyjną. Ciężko znaleźć najlepsze rozwiązanie. Polski program nauczania przewiduje najpierw języki graficzne - Logo, Scratch, a potem Pascal. Studia wyższe często zaczynają od C/C++ lub Pascala, przechodząc potem do Javy/C# z dodatkową mieszanką innych języków. Kursy programowania dla początkujących stosują wiele różnych języków, ale często jest to Python lub Ruby. Fora internetowe pełne są dyskusji od czego zacząć, ale nie ma zgodności co do jednego najlepszego.

Jeśli nie masz pomysłu - zacznij od Pythona lub Ruby. Zobacz, który z tych języków ma lepsze lokalne wsparcie - grupy zainteresowań, regularne meetupy, cykliczne bezpłatne kursy dla początkujących itd. i zacznij działać!

Najlepszy będzie język, który Cię wciągnie i zachęci do nauki :) W skrócie - najlepszy będzie właśnie ten, który wybierzesz.

Na koniec polecam Ci klasyczny artykuł, który daje doskonały pogląd na naukę programowania przez lata i zmienia podejście do całego tematu: "Naucz się programować w 10 lat" Peter Norvig [EN]
Polskie tłumaczenie niestety nie działa - daj znać, jeśli wolisz czytać po polsku. Dodam do listy :)

0 Komentarze

Skomentuj