Jak zacząć przygodę z programowaniem?

Cześć, mam 15 lat. Od małego interesuje się komputerami, grami. Ostatnio zainteresowałem się programowaniem. Tylko jest jeden taki mały problem, nie wiem od czego zacząć. A nie znam nikogo kto mógłby mi pomóc. Najbardziej interesowałby mnie C++. Gdyż od zawsze jestem z tymi grami. Jestem dobry z matematyki, angielski też bardzo dobrze umiem. Może podrzucilibyście jakąś książkę czy kurs? Z góry dzięki.

+Napiszcie jak to Wy zaczynaliście swoje przygody z programowaniem a jak to teraz u Was wygląda :D 

Tutaj masz opisane kilka wskazówek http://www.wykop.pl/wpis/9719000/cpp-naukaprogramowania-programowanie-wstep-czestot/

Jeśli chodzi o tutoriale do C++ to polecam http://xion.org.pl/productions/texts/coding/megatutorial/ oraz http://www.intercon.pl/~sektor/cbx/ Mają już swoje lata (standard C++03) ale jeśli ogarniesz to co w nich jest to do ogarnięcia nowinek z C++11, C++14, C++17, itd. powinny Ci wystarczyć opisy na Wikipedii i http://www.cplusplus.com/reference/

Dodatkowo: http://gynvael.coldwind.pl/?id=238 ; http://gynvael.coldwind.pl/?id=374 ; http://gynvael.coldwind.pl/?id=408 ; http://www.uw-team.org/forum/viewtopic.php?f=7&t=9751&p=77955#p77955 ; http://asawicki.info/productions/artykuly/Unicode%20w%20Visual%20CPP.html ; http://asawicki.info/productions/artykuly/strukturyd_formatyp.php5 ; http://re.coldwind.pl/

Jeśli chcesz pobawić się też innymi językami:

Dzięki wielkie. A btw. czy do programowania potrzebny jest dobry komputer? Już pytałem się na forum o komputer i nie wiem czy mogę jako jeden z argumentów do przekonania taty użyć że do programowania :stuck_out_tongue:

Na początek wystarczy nawet 6-letni Pentium.

Co będziesz robił na komputerze “do programowania”:

  • edytował kod programu (jeśli możesz uruchomić Ms Word to możesz uruchomić dowolne z popularnych IDE)
  • kompilował (raczej długa droga przed tobą zanim będziesz tworzył projekty kompilujące się przez ponad minutę na średniej klasy komputerze, a i tak najczęściej nie będziesz kompilował całych projektów tylko pojedyncze moduły)
  • uruchamiał swoje programy (to już od ciebie zależy jak będą zasobożerne :wink:
    • i je debugował (popularne debuggery raczej uruchomią się na złomo-komputerach)

Czyli z jednego argumentu więcej raczej nici? ;/ :stuck_out_tongue:

haha ja mam 9 letniego athlona ;p

Zawsze możesz mówić, że potrzebujesz conajmniej 2 monitory aby nauka programowania była efektywna,

a twoja karta graficzna nie posiada 2 wyjść na monitory, więc musisz zmienić kartę graficzną,

a do tego komputera co masz, nie można dać takiej z 2, więc musisz zmienić tez cały komputer…

 

Easy.

Ty to masz łeb, dzięki. 

Cześć. Jak już wspomniano, masz chęci do nauki dziedziny, gdzie sprzęt komputerowy nie będzie kosztować Cię majątku - to nie jest grafika 3D, projektowanie przestrzenne, obróbka obrazu, gdzie dla komfortu pracy dobrze jest mieć mocny procesor, dużo pamięci RAM i porządny SSD.

Ale jak z tej matmy jesteś dobry?

Bo wiesz, program z gimnazjum to w gruncie rzeczy nic.

Do nauki algorytmiki posłużyły mi wykłady na UMK prof. dr. hab. Macieja Sysło. Z tego powodu polecę jego książki (jakiekolwiek).

Ode mnie standardowo polecam przeczytanie od deski do deski “Poradnika początkującego programisty” autorstwa Gynvaela Coldwinda. Sporo rozjaśnia, zagadnienia i aspekty początków nauki - wszystko pisane z praktycznego punktu widzenia. Myślę, że warto sobie przybliżyć ten artykuł :wink:

Powodzenia!

Jeśli chcesz w przyjemny sposób uczyć się C++ proponuję Unreal Engine:) Tworzysz gry w których skrypty piszesz w C++. Nie musisz od razu znać wszystkiego, a wystarczające minimum by poznać efekty - Unreal ma bardzo dobre tutoriale (po angielsku).

Więc to jest argument do zmiany komputera;P

Nie, już od dawna chciałem się już coś tym pobawić tylko na moim monitorze 1024/768 to nie była by przyjemność tylko meczarnia. A jeśli powiem tacie ze potrzebuje komputera do programowania to prędzej się zgodzi (swoich mam odłożone 3.5k) ;p Komputer wiadomo ma też być do gier. Dzięki za materiału. Nie spodziewałem się aż tylu odpowiedzi :smiley:

Dobry komputer, jeżeli chodzi o programowanie, może się przydać jedynie do uruchomienia wielu maszyn wirtualnych, chyba że tworzysz skomplikowane projekty. Przyda się też wiele monitorów.

Niestety … na początku drogi programisty nie musisz mieć dobrego komputera, bo zanim coś ciekawego stworzysz to twój komputer będzie już średni.

Także polecam “Megatutorial” (ciągle mam go na pulpicie :). Fora: cpp0x.pl, stackoverflow.com i oczywiście DP. Sam jestem świeży i dopiero zaczynam  dołączać do programów biblioteki, a z OOP jeszcze nie wszystko ogarniam.

 

Sprzęt:

Jeżeli chodzi o sprzęt:

Ok. roku temu, kompletnie nie maiłem czego używać i uczyłem się, pisząc konsolówki (do ok. 1 k linijek kodu) na starej Toshibie Satellite. Laptop przegrzewał się ze średniowiecznym Coleronem poniżej 1 GHz i to przy spoczynku. Moim IDE był C::B, ale jakoś szło. Teraz mam i5 4570, 4 GB RAM, 60 GB SSD (mieści mi się na nim Windows 10, Linux MInt 17.2 i ok 14 GB danych :D) i ergonomiczną klawiaturę. Niestety monitor z powodu barku środków 1280 x 1024.

Kilka ważnych porad:

  1. Na początek przerób jakiś poradnik od początku do końca, pisząc przy tym proste programy, np. “Megatutorial” (1:1 nauka i kodowanie).

  2. Nie bój się pytać (ale najpierw sprawdź w Google, a wcześniej poświęć chwilę i spróbuj zrozumieć, co debuger chce ci powiedzieć).

  3. Po pierwszym starciu z jakimś kursem, postaw sobie jakiś cel (może znacznie wykraczać poza twoje umiejętności) i próbuj go zrealizować. “Pierwsze starcie” to tak na prawdę tylko próba zrozumienia, jak wyglądają podstawy programowania, nie bój się, jeżeli połowy nie rozumiesz.

  4. Nie ucz się niczego (spoza standardu) na pamięć. To mit, że programista zna wszystko. Nawet najlepsi, nie znają bibliotek na pamięć, już nie mówiąc o nauce na zapas. Ucz się tylko tego, co potrzebne ci do zrealizowania celu. Ważne, żebyś umiał posługiwać się wyszukiwarką i dokumentacją.

  5. Zaopatrz się w ergonomiczną klawiaturę. To wydatek kilkudziesięciu złoty, a oszczędzasz czas i zdrowie. moja to MS Comfort Curve 2000.

  6. Nie bój się pokazywać kodu innym.

  7. Ucz się angielskiego, na początek nie jest potrzebny, ale gdy wykroczysz poza standard, staje się on niezbędny.

  8. Jeżeli używasz Windowsa, to zainstaluj sobie jeszcze Linuksa. Wystarczy ci 20 GB. Linux jest jak dla mnie dużo lepszy jeżeli chodzi o tego typu zastosowania (mówię to, używając go od dopiero ok. 2 tygodni).

  9. Perfekcjonizm nie jest zawsze wskazany. Zwykle, jeżeli już coś działa, to najlepiej iść dalej, a to zostawić w spokoju. Ważniejsza jest rozbudowa aplikacji od drobnych optymalizacji.

  10. Tworząc nowy projekt, zawsze najpierw zastanów się i dobrze zaplanuj jego strukturę. Rzucanie się od razu do klawiatury nie jest najlepszym pomysłem.

  11. Zdecyduj się, w jakim języku będziesz piał kod i trzymaj się go konsekwentnie. Musisz wybrać, czy posługujesz się polskim, czy angielskim. Mowa tu o danym projekcie, chociaż lepiej wszędzie używać tego samego języka. Osobiście ostatnio lekko odszedłem od tej zasad, ale tylko w przypadku 3 słów - “get”, “set” i “to”. Jest to oczywiście doświadczenie i chcę zobaczyć, jak się to sprawdzi.

  12. Wypracuj sobie styl pisania i nie zawsze się go trzymaj. Możesz oczywiście wprowadzać poprawki, ale lepiej stosować się do nich od następnego projektu.

  13. Utrzymuj porządek w kodzie. Nie ma nic gorszego, niż szukanie błędów w czymś, co przypomina bardziej wyjście programu losującego, niż program.

  14. Uważaj na matematykę czyt. nie dziel przez zero :smiley: Nie myślałem, że to mnie kiedyś spotka, a jednak spotkało. Kilka godzin siedziałem, zastanawiając się, czemu program wyrzuca błąd krytyczny, a okazało się, że przy jednym z ostatnich wywołań instrukcji w pętli, gdzieś wkradało się zero.

 

Ogólnie powodzenia i cierpliwości. Jeżeli będziesz miał jakiś problem, pisz śmiało. Jeżeli będziesz kupował nowy komputer, to także wcześniej się zapytaj. Ogólnie zawsze lepiej samemu składać, a przynajmniej dobierać podzespoły. Za wspomniane 3.5 k możesz kupić na prawdę porządną maszynę z klawiaturą i myszką. Wtedy zostaje tylko problem monitora. Też nie mam z nim lekko, ale radzę sobie skacząc po oknach, dzięki Alt + Tab i Ctrl + Tab. Na chwilę obecną najlepiej zainwestować w klawiaturę i mysz, ponieważ je zawsze możesz przenieść.

Przy programowaniu dużo ważniejszy jest wielki ekran, przynajmniej 22 cale i full HD. To pozwala na ułożenie dokumentacji / tutoriala z jednej, a okna kompilatora z drugiej strony. Jeszcze lepsze są 2 takie ekrany. Pivot (monitor pionowo) nie działa i praca na nim jest niewygodna - tak z mojego doświadczenia. Im gorszy komputer tym większą uwagę będziesz przykładać do optymalizacji :wink:

Ja zaczynałem swoją przygodę z programowaniem dopiero na studiach (uczelnia techniczna). Jednak poziom akademicki nie jest zbyt wymagający. W między czasie zrobiłem kilka kursów (java, php). Kiedy już mniej więcej podłapałem temat zacząłem myśleć poważnie o rozwoju swojej ścieżki zawodowej i zrobiłem kurs ISTQB z http://istqb.com.pl/ Nie żal mi ani jednej zainwestowanej złotówki ani czasu poświęconego na nauce. Zapewniam Was, że zwraca się wszystko wielokrotnie. :wink: