SandboxOne

~/nauka programowania od podstaw

Piaskownica

~/podstawy/pierwszy-jezyk-programowania.md

Jaki pierwszy język programowania wybrać, żeby nie utknąć po miesiącu

Tomasz WronaTomasz Wrona 6 min czytania akt.
9,1/10312 ocen
Osoba pisząca kod na laptopie z otwartym edytorem i terminalem
Osoba pisząca kod na laptopie z otwartym edytorem i terminalem.

Najczęstsze pytanie, jakie dostajemy od osób zaczynających naukę, brzmi: „od czego zacząć?”. Dobra wiadomość jest taka, że pierwszy język nie przesądza o Twojej przyszłości. Zła – że zły wybór może zabrać Ci motywację, zanim zobaczysz pierwsze efekty. Poniżej pokazujemy, jak dobrać język do celu, a nie do mody.

Najpierw cel, potem język

Język programowania to narzędzie, a narzędzia wybiera się do zadania. Zanim zaczniesz porównywać składnię, odpowiedz sobie na jedno pytanie: co chcesz zbudować w ciągu najbliższych trzech miesięcy? Nie „kim chcesz być za pięć lat”, tylko co konkretnie ma działać na Twoim ekranie.

Jeśli marzysz o własnej stronie, aplikacji w przeglądarce albo pracy jako front-end developer, naturalnym wyborem jest JavaScript, bo to jedyny język, który przeglądarka wykonuje natywnie. Jeśli bardziej ciągnie Cię do analizy danych, automatyzacji nudnych zadań w arkuszach albo sztucznej inteligencji, zacznij od Pythona. Gdy myślisz o grach w Unity lub aplikacjach dla firm działających w ekosystemie Microsoftu, rozsądnym startem będzie C#.

Brak konkretnego celu to też informacja. W takim przypadku wybierz język, który daje najszybszą informację zwrotną i ma najwięcej materiałów po polsku. W praktyce oznacza to Pythona albo JavaScript – oba są darmowe, działają na każdym komputerze i mają ogromne społeczności.

Edytor z kodem w Pythonie i wykresem symulacji obok
Python pozwala szybko zobaczyć efekt: kilkanaście linii kodu i gotowy wykres z symulacji.

Porównanie popularnych języków na start

Poniższa tabela nie jest rankingiem. To mapa, która pokazuje, gdzie każdy język „czuje się najlepiej” i ile cierpliwości wymaga na początku.

JęzykNajlepszy doPróg wejściaPierwszy efekt
Pythonautomatyzacja, dane, skrypty, AIniskitego samego dnia
JavaScriptstrony i aplikacje weboweniski–średnitego samego dnia, w przeglądarce
C#gry (Unity), aplikacje biznesoweśrednipo kilku dniach
Javasystemy korporacyjne, Androidśrednipo kilku dniach
C / C++systemy, elektronika, wydajnośćwysokipo tygodniach

Zwróć uwagę na ostatnią kolumnę. Dla początkujących czas do pierwszego działającego programu jest ważniejszy niż prestiż języka. Każdy sukces – nawet prosty kalkulator napiwków – wzmacnia nawyk nauki.

Python czy JavaScript: uczciwe porównanie

Te dwa języki wybiera większość naszych czytelników, więc warto zobaczyć je obok siebie. Oto ten sam mały program – przywitanie użytkownika i policzenie liter w imieniu – najpierw w Pythonie:

powitanie.pyPython
imie = input("Jak masz na imię? ")
liczba_liter = len(imie)
 
print(f"Cześć, {imie}!")
print(f"Twoje imię ma {liczba_liter} liter.")

A teraz w JavaScripcie, uruchomiony w konsoli przeglądarki:

powitanie.jsJavaScript
const imie = prompt("Jak masz na imię?");
const liczbaLiter = imie.length;
 
console.log(`Cześć, ${imie}!`);
console.log(`Twoje imię ma ${liczbaLiter} liter.`);

Python ma czytelniejszą składnię: brak nawiasów klamrowych i średników sprawia, że kod przypomina zwykły tekst. Wymusza też wcięcia, co od początku uczy porządku. JavaScript ma za to jedną ogromną przewagę: od razu widzisz wynik na stronie internetowej, możesz zmieniać kolory, przyciski i teksty, a efekt pokazać znajomym przez link.

Jeśli nie możesz się zdecydować, zastosuj prostą regułę: chcesz tworzyć rzeczy, które się klika – JavaScript; chcesz, żeby komputer robił coś za Ciebie – Python.

Pułapki, w które wpada większość początkujących

Najpoważniejszą pułapką jest tak zwany tutorial hell: oglądanie kolejnych kursów bez pisania własnego kodu. Po piątym kursie masz wrażenie, że wszystko rozumiesz, ale pusty plik nadal paraliżuje. Rozwiązanie jest proste, choć niewygodne – po każdej lekcji zmień przykład z kursu tak, żeby robił coś innego.

Druga pułapka to skakanie między językami. Tydzień z Pythonem, potem film o Rust, potem artykuł, że „Go jest przyszłością”. Każda zmiana resetuje licznik postępów. Umów się ze sobą na minimum trzy miesiące z jednym językiem – dopiero wtedy masz dane, żeby ocenić, czy Ci odpowiada.

Trzecia pułapka to porównywanie się z innymi. Ktoś w internecie „nauczył się programować w 30 dni”? Świetnie, ale nie znasz jego punktu startowego ani liczby godzin dziennie. Porównuj się wyłącznie ze sobą sprzed miesiąca.

Pusta, jasna sala do nauki z biurkami i krzesłami
Stałe miejsce do nauki pomaga bardziej niż wybór „idealnego” języka.

Minimalny zestaw narzędzi na pierwszy tydzień

Niezależnie od wybranego języka pierwszy tydzień wygląda podobnie. Potrzebujesz edytora kodu, przeglądarki z narzędziami deweloperskimi i jednego miejsca na notatki. Nie instaluj pięciu programów naraz – każdy nowy element to kolejna rzecz, która może nie zadziałać i zabrać Ci wieczór.

Załóż też folder nauka i w nim osobny podfolder na każdy tydzień. Zapisuj tam wszystkie ćwiczenia, nawet te nieudane. Po miesiącu zobaczysz, jak bardzo zmienił się Twój kod, a to jeden z najlepszych zastrzyków motywacji. Z czasem przeniesiesz ten folder do repozytorium Git, ale na pierwszy tydzień wystarczy zwykły katalog na dysku.

Jak podjąć decyzję w jeden wieczór

Zamiast tygodni researchu zrób krótki eksperyment. Zarezerwuj dwie godziny i przejdź przez poniższą listę:

  • Zapisz jednym zdaniem, co chcesz zbudować w ciągu trzech miesięcy.
  • Wybierz dwa języki, które pasują do tego celu według tabeli powyżej.
  • W każdym napisz program „Witaj, [imię]” i jedną pętlę liczącą od 1 do 10.
  • Zanotuj, który kod był dla Ciebie bardziej czytelny i przy którym mniej się frustrowałeś.
  • Wybierz zwycięzcę i wpisz do kalendarza pierwsze trzy sesje nauki.

Ta metoda działa, bo zamienia abstrakcyjne rozważania na konkretne odczucia. Po dwóch godzinach wiesz więcej niż po dwudziestu przeczytanych rankingach. Pamiętaj też, że drugi język poznaje się kilka razy szybciej niż pierwszy – pętle, warunki i funkcje wyglądają wszędzie podobnie, zmienia się głównie zapis.

Na koniec rzecz najważniejsza: język, którego faktycznie używasz codziennie przez pół godziny, zawsze wygra z „najlepszym” językiem, do którego zasiadasz raz w miesiącu.

Najczęstsze pytania

Czy jestem za stary, żeby zacząć programować?

Nie. W naszej społeczności są osoby, które zaczynały po czterdziestce i pięćdziesiątce. Wiek wpływa głównie na ilość wolnego czasu, a nie na zdolność rozumienia kodu. Doświadczenie zawodowe z innej branży bywa wręcz atutem.

Czy muszę znać matematykę na wysokim poziomie?

Do tworzenia stron i większości aplikacji wystarczy matematyka ze szkoły podstawowej: procenty, proporcje, podstawowa logika. Zaawansowana matematyka przydaje się w grafice 3D, uczeniu maszynowym i kryptografii.

Ile czasu potrzeba, żeby poznać pierwszy język?

Podstawy składni opanujesz w 4–8 tygodni przy regularnej nauce. Swobodne tworzenie małych projektów zajmuje zwykle od trzech do sześciu miesięcy, zależnie od liczby godzin tygodniowo.

Czy warto zaczynać od C, żeby „zrozumieć komputer”?

Można, ale dla większości osób to niepotrzebnie trudny start. Łatwiej jest najpierw zbudować motywację na szybkich sukcesach, a C poznać później, gdy pojęcia takie jak zmienna czy funkcja są już oczywiste.

Wróć do archiwum