Text5799

Jaki język programowania wybrać na początek?

„Który język programowania będzie najlepszy dla kogoś takiego jak ja?” - pyta siebie początkujący programista. Pozbawiony drogowskazów, błądzi po omacku, próbując znaleźć najlepszy dla siebie język programowania. Koledzy programiści nie pomagają, sugerując języki, w których sami programują jako te najbardziej odpowiednie. Fora internetowe wręcz pękają w szwach od sporów o najlepszy język dla początkujących.

Mam nadzieję, że widzicie ten absurd. Początkujący, nie mając doświadczenia z żadnym językiem programowania próbuje dobrać najlepszy do siebie. I często robi to, poświęcając pół godziny na naukę Javy, następnego dnia pod wpływem przeczytanego artykułu zaczyna naukę Pythona, po pewnym czasie od nowa nauka tego samego w innym języku, rzekomo bardziej dopasowanym do początkujących. To jest błędne koło.

Czy istnieje język dla początkujących?

Próby stworzenia takiego języka miały miejsce. Najbardziej znanym przykładem jest Pascal. Sam miałem na studiach Pascal w ramach podstaw programowania i moim zdaniem jest to konkretny język. Język ten wyewoluował w Delphi, które w pewnym momencie było bardzo popularne w zastosowaniach biznesowych.

Pomijając graficzny Scratch, nie przypominam sobie aby któryś z ostatnio publikowanych artykułów uwzględnił Pascal albo inny z języków edukacyjnych. Jaka jest tego przyczyna? Prawdopodobnie autorzy artykułów, kierowani pragmatyzmem sugerują te języki, które są w powszechnych użyciu i dla których są oferty pracy.

Na razie możemy założyć, że języki edukacyjne istnieją ale nie są powszechnie znane.

59 zł za 20 interaktywnych kursów programowania.

Taniej nie będzie. Sprawdź nas.

Znaczenie pierwszego języka programowania.

Wybór tego w czym będziemy programować ma znaczenie, jednak nie pierwszorzędne. I jeśli podzielimy początkujących programistów na dwie grupy, to zobaczymy, że pierwsza z nich przecenia znaczenie języka programowania a druga ma ich ograniczony wybór na samym początku.

  • osoby, które chcą się nauczyć programować.
  • osoby, które chcą za pomocą programowania doprowadzić do realizacji pewnego zamierzenia.

Pierwsza grupa, to grupa osób, które z różnych względów chcą nauczyć się programować. Na przykład, skuszeni dużymi zarobkami programistów chcą się zmienić pracę. Ta grupa jest najbardziej narażona na porażkę (zaniechanie nauki) oraz bardzo podatna na błądzenie opisane na początku wpisu.

Druga grupa to osoby, które od samego początku wiedzą co chciałyby osiągnąć za pomocą programowania. Może to być gracz, który chce napisać modyfikację gry komputerowej. Muzyk, który zainteresował się muzyką generowaną automatycznie lub też ktoś, mający pomysł na konkretną aplikację mobilną na telefon z Androidem.

Dlaczego pierwsza grupa jest bardziej narażona na porażkę? Przede wszystkim, ogrom możliwości i opinii dopada osoby z tej grupy na samym początku. Duża społeczność wokół popularnych języków generuje duży szum informacyjny, który nie pomaga w nauce. Brak celu, sprzyja „dryfowaniu” i przecenianiu znaczenia języka programowania.

Z kolegi grupa druga, osoby z konkretnym celem, zafiksowane na jego realizacji mają na samym początku zawężone możliwości. Osoba chcąca napisać aplikację na komórkę z Androidem na pewno nie zostanie skuszona możliwościami języka C# (na telefony z Windows). Tak samo ktoś, kto zechce zmodyfikować kod Quake’a wykorzysta C++.

Dodatkowo, osoby te często mają gotowe przykłady kodu, od których mogą zacząć. Ich nauka rozpocznie się od modyfikacji i dopisywania małych fragmentów kodu do już istniejącego.

Wniosek: warto mieć konkretny cel przed podjęciem decyzji o rozpoczęciu nauki.

Wpływ pierwszego języka na dalszą karierę.

Stwierdzono, że wielu programistów powtarza wzorce, których nauczyło się na samym początku. Oznacza to, że nawet jeśli będą zmuszeni zaprogramować coś w innym języku, to zrobią to tak samo jak robili do tej pory, nie zważając na paradygmatyczne różnice. Należy pamiętać o tym, że każdy z języków został zaprojektowany po to, aby rozwiązywać konkretny zbiór problemów.

Osiągnięcie biegłości w danej technologii wiąże się nierozerwalnie z poświęceniem pewnej ilości czasu. Są to setki i tysiące godzin poświęcone praktyce. Musimy mieć świadomość, że złe decyzje mogą doprowadzić do tego, że będziemy nieszczęśliwsi robiąc coś, czego nigdy nie chcieliśmy robić. Jeśli programowanie gier było waszym marzeniem, nie zabierajcie się za tworzenie stron internetowych.

Od czego więc zacząć?

Jeszcze do niedawna, większość młodych programistów wybierała język C++ i kilkotomową książkę „Symfonia C++”. Język C++ to jeden z najbardziej rozbudowanych, uznawany za wręcz niemożliwy do całkowitego przyswojenia. Czy wybierający ten język to jacyś szaleńcy, masochiści lub osoby porywające się z motyką na słońce?

Nie. Chodzi o to, że każdy język programowania zawiera pewne podstawowe pojęcia, które umożliwiają zaimplementowanie czegokolwiek, co sobie wymarzymy. Te pojęcia praktycznie nie różnią się między językami: pętle, instrukcje warunkowe, funkcje itd.

Znajdźcie cel i realizujcie go poprzez codzienne sesje programistyczne. Trzymajcie się języka, który już zaczęliście poznawać. Poszukajcie zaufanej osoby, która pomoże w razie kłopotów. Gwarantuję, efekty was zaskoczą.

Nasze kursy

Jeśli chcesz szybko i z przyjemnością poznać podstawy popularnych języków programowania, zapraszamy dla naszych interaktywnych kursów przeznaczonych dla początkujących: