Witam. Od dłuższego czasu przymierzam się do nauki programowania, jednak kompletnie nie wiem od czego zacząć. Co polecicie na początek? Jaki język, kursy, książki, etc? W Internecie jest tego tyle, że aż nie wiadomo na co się zdecydować:) Z góry dzięki!
Zdecydowanie od strony algorytmicznej i struktur danych. Zmienne, tablice, listy, drzewa, rekurencja itd. Język w gruncie rzeczy dowolny imperatywny - np. C. Jeśli chodzi o semantykę, to poczytaj dowolny kurs w internecie, ale jeśli chodzi o algorytmikę, to polecam np., zwłaszcza sekcję "ćwiczenia":
http://wazniak.mimuw.edu.pl/index.php?title=Wst%C4%99p_do_programowania
http://wazniak.mimuw.edu.pl/index.php?title=Metody_programowania
Tam jest to na podstawie Pascala, ale w gruncie rzeczy to jest nieważne (Pascal i C są podobne - pewne istotniejsze równice się zaczną, jak dojdziesz to wskaźników i pamięci dynamicznej, ale to pieśń przyszłości - przy czym Pascal jest jak łacina, a C wciąż często używany. Ale nawet jak nauczysz się archaicznego Pascala, to i tak przejście na C i dowolny inny język tego paradygmatu to będzie kwestia kilku dni).
PS. Jeszcze przed zainteresowaniem się tematem na poważnie i długo przed pójściem na uczelnię poszukiwałem w Internecie podobnych wątków i zawsze ludzi pisali coś w stylu "przeczytaj symfonię C++, tam jest wszystko, itp. Bardzo nie polecam takiego powierzchownego podejścia (w sensie skupiania się na sematyce języków i różnych ich możliwości a nie algorytmice). Raz, że nic się nie nauczysz, dwa - szybko się znudzisz. Jeśli chcesz coś umieć i zapałać pasją do informatyki - tylko algorytmy i struktury danych.
Dzięki za treściwą wypowiedź:) Jak długo zajmuje opanowanie tego języka C, aby bez problemu móc potem bawić się w pisanie różnych rzeczy? Rozumiem, że to dopiero podstawy podstaw i po opanowaniu tego materiału, zabawa zaczyna się na dobre? :)
Ale kolega dal pro tipa :) ja dla osob kompletnie nie obeznanym w IT zawsze polecam symfonie :) by mogli sobie latwo przyswoic o co chodzi :) i czy chca w to brnac :)
Jak długo zajmuje opanowanie tego języka C, aby bez problemu
chcąc być dowcipnym powiedziałbym, całą wieczność.
Jeśli chodzi o algorytmy to polecam też tę stonkę.
Oczywiście nie można być na bakier z matematyką. Ale to oczywiste ;)
Ja bym powiedział, że może się szybko znudzić od samych algorytmów.. oczywiście dobrze się tego pouczyć, ale ja raczej polecałbym jakieś bardziej wyważone podejście - przecież równocześnie można i uczyć się algorytmów i zrobić coś bardziej praktycznego (nie to żeby algorytmy były niepraktyczne, ale tak naprawdę większość nietrywialnych algorytmów jest wykorzystywana jako elementy składowe dostępnych bibliotek, a nie pisane od nowa do każdego programu).
Może jeszcze niech się nauczy od razu dowodów matematycznych na działanie tych algorytmów i oszacowanie ich złożoności obliczeniowej :p - też nie mówie że to złe, ale na wszystko przyjdzie czas.
No Panowie, przejrzałem podesłane przez Was materiały i muszę przyznać, że jest ogień :D Zdecydowałem się ostatecznie na C# na początek, zobaczymy jak mi z nim pójdzie, niemniej jednak dzięki za wszystkie podesłane linki i rady:) Jak macie coś jeszcze to wrzucajcie śmiało, zaczynam się wczuwać :D
Ostatnio Python też stał się popularny, szczególnie z uwagi na dostępną sporą ilość modułów oferujących bardzo wiele gotowych rozwiązań. Nieważne jaki język programowania wybierzesz (bo jest to tylko narzędzie do celu), to musisz sam ocenić po co tak naprawdę chcesz się tego uczyć i jaki sposób nauki jest dla Ciebie najlepszy.
Nauka programowania dla nauki programowania, żeby "bez problemu móc potem bawić się w pisanie różnych rzeczy" imho nie ma sensu. W ten sposób raczej szybko wymiękniesz.
Można się uczyć programowania z książek, masy tekstów na ten temat w internecie czy filmików na Youtubie czy Courserze. Te drugie mogę polecić jeśli dobrze znasz angielski i masz sporo czasu na ich oglądanie. Bardziej zaawansowane kursy wykraczają poza same podstawy programowania i dotyczą np. analizy danych czy algorytmów.
Mimo 32 lat na karku stwierdziłem ze również podejmę to wyzwanie i zacząłem tutaj:
http://www.centrumxp.pl/dotNet/20,kategoria,Kurs-C-cz-I.aspx
Napisane jest dość przystępnie ale i tak grzeje mi beret strasznie xD.
Zdecydowałem się na C# ze względu na unity w którym później chciałbym sobie trochę podłubać :)
frer --> (...) to musisz sam ocenić po co tak naprawdę chcesz się tego uczyć i jaki sposób nauki jest dla Ciebie najlepszy.
Wlasnie cale sedno polega na tym, ze ciezko mi odpowiedziec na pytanie "po co". Ostatnio mam troche wiecej czasu i pomyslalem, ze warto by sprobowac nauczyc sie programowania, tym bardziej, ze nigdy nie mialem z tym stycznosci i chce wiedziec z czym to sie je. Gdzies tam z tylu glowy sa oczywiscie pobudki finansowe, jednak teraz przede wszystkim chodzi mi o sprawdzenie sie. Mysle, ze warto sprobowac, skoro moge na tym tylko zyskac.
Co do sposobu nauki, to chyba tak jak wszedzie najlepsza bedzie praktyka?:) Tak jak jest napisane w artykule podlinkowanym przez xivera, najlepiej chyba bedzie po prostu brac losowy kod i analizowac co sie w nim dzieje, a potem zaczac pisac wlasny.