lookacode1 napisał(a)
Ja polecam pascala na poczatek.
Ja też polecam Pascala na początek, dlatego że posiada przyjemniejszą (dłuższą) składnię, opartą o średnią ilość słów kluczowych; Ponadto pisanie w nim programów jest prostsze niż w C - w końcu Pascal został stworzony do nauki programowania;
Lord Darkstorm napisał(a)
Według mnie szkoda czasu na Pascala. Został on wyparty przez C / C++ i nie widzę powodu, aby się w niego zagłębiać. Potem tylko stare nawyki przeszkadzają w nauce nowego języka.
No i co z tego? Istnieją języki, które są o wiele mniej popularne niż Pascal, Object Pascal czy Delphi, a mimo to ludzie uczą się ich; A złe nawyki to wychodzą z nauki C/C++; Wiesz jakie? Fanboystwo i chodzenie po farach z biadoleniem, że Pascal to zło wcielone; Reasumując - nie widzę powodów, aby umniejszać funkcjonalności Pascala (obojętne czy Object Pascala, czy Delphi), w którym napisać można każdy program, jaki napisano w C/C++; Tylko najpierw trzeba znać ten język; Szkoda czasu po raz kolejny tłumaczyć, że popularność danego języka nie określa jego przydatności, ale cóż - niektórzy tego nie wiedzą...
Poza tym pytanie jest zupełnie inne - @wad zapytał "jak uczyć się programować", a nie "jakiego języka się uczyć", więc odpowiadajcie proszę na zadane pytania;
@wad - nauka programowania to nie "szkoła hakerów", czyli zajęcie na dwie noce; Najpierw wybierz sobie język programowania, w którym będziesz chciał tworzyć oprogramowanie; Języków jest dużo i każdy z nich ma określone przeznaczenie; Poczytaj sobie o tych popularniejszych i wybierz taki, który będzie spełniać Twoje wymagania (czyli będzie w nim można pisać takie programy czy skrypty, jakie chcesz) i na pierwsze rzut oka pisać będzie się dla Ciebie przyjemnie; Zapoznaj się z opisem języków, zapoznaj się także z sensownymi opiniami o nich i podejmij decyzję;
Następnie znajdź w sieci dobre materiały do nauki danego języka i naucz się jego składni; Następnie zapoznaj się z biblioteką standardową i poznaj jej zawartość - stałe, procedury (jeśli o Pascala chodzi), funkcje itd., czyli to, co oferuje Ci biblioteka do użytku w tworzeniu kodu; Sporo funkcji jest już zaimplementowanych w bibliotece, więc ręcznie nie będziesz musiał ich pisać, np. funkcja do usuwania znaków kontrolnych z ciągów znaków;
Pisz setki programów, komuś potrzebnych lub niepotrzebnych nikomu, ale takich, w których przećwiczysz zdobytą wiedzę; Nauczysz się tworzenia struktur/rekordów, - piszesz program do ich używania; Poznasz jakąś funkcję - piszesz program do przetestowania jej na milion sposobów; Utrwalasz zdobytą teorię pisząc programy ją wykorzystujące; W ten sposób poszerzasz swoją wiedzę i uczysz się jej stosowania w kodzie;
W ten sposób nauczysz się podstaw danego języka; Następnie sprawa wygląda podobnie, jeśli nie tak samo; Uczysz się coraz to nowych rzeczy, tworząc testowe programy; W ten sposób od głupiego "hello world" przechodzisz do coraz dłuższych, trudniejszych i bardziej wymagających programów, realizujących coraz to nowe algorytmy; Wymyślisz sobie jakiś program - implementuj go; Wymyślisz nową jego funkcję - dodajesz ją do programu; Oczysz się pisać programy i je rozwijać (udoskonalać);
Dodatkowo - ucz się angielskiego, bo dokumentacje czy specyfikację są kluczowymi elementami; Najciekawsze materiały do nauki programowania są po angielsku, więc tego języka przyda się nauczyć, choćby w takim stopniu, aby móc swobodnie czytać materiały; Czytaj też różne artykuły, czy choćby posty bardziej doświadczonych użytkowników na forum - nauczysz się pisać czytelny i efektywny kod; Próbuj optymalizować swoje algorytmy - dzięki temu w nawyk wejdzie Ci pisanie kodów działających szybko;
W ramach rozrywki możesz zarejestrować się w takich serwisach jak SPOJ, Project Euler czy main.edu, na których przećwiczysz myślenie i tworzenie szybkich i efektywnych programów, bo takie dają zaliczenie zadań;
To tyle - po kilku latach nauki i pisania programów powinieneś dużo umieć, dużo rzeczy znać i umieć pisać ciekawe i efektywne kody;
@wad - Ty już trochę programowałeś, więc część sugestii z tego posta możesz pominąć; Część wskazówek napisałem dla tych, którzy jeszcze nic nie programowali a trafili na ten wątek.