Forum Gry Hobby Sprzęt Rozmawiamy Archiwum Regulamin

Forum: Od czego zacząć naukę programowania?

18.08.2015 21:58
Bercik K.
1
Bercik K.
65
Ja?

Od czego zacząć naukę programowania?

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!

18.08.2015 22:18
Łysy Samson
2
odpowiedz
Łysy Samson
99
Bass operator

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.

18.08.2015 23:21
Bercik K.
3
odpowiedz
Bercik K.
65
Ja?

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? :)

18.08.2015 23:29
MiniWm
😈
4
odpowiedz
MiniWm
231
PeaceMaker

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 :)

18.08.2015 23:32
5
odpowiedz
xiver
88
Pretorianin

http://gynvael.coldwind.pl/?id=238&lang=pl

Trochę stary artykuł, ale dalej się z nim zgadzam.

19.08.2015 00:00
😈
6
odpowiedz
Łysy.
73
Konsul

Jak długo zajmuje opanowanie tego języka C, aby bez problemu

chcąc być dowcipnym powiedziałbym, całą wieczność.

19.08.2015 00:17
emil kuroń
7
odpowiedz
emil kuroń
68

Jeśli chodzi o algorytmy to polecam też tę stonkę.

http://www.algorytm.org

Oczywiście nie można być na bakier z matematyką. Ale to oczywiste ;)

19.08.2015 00:22
8
odpowiedz
Andrewlee
161
Crossroads

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.

19.08.2015 01:20
Bercik K.
👍
9
odpowiedz
Bercik K.
65
Ja?

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

19.08.2015 07:28
frer
10
odpowiedz
frer
163
Legend

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.

19.08.2015 08:19
Jamminsession
11
odpowiedz
Jamminsession
111
Konsul

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ć :)

19.08.2015 08:28
Bercik K.
12
odpowiedz
Bercik K.
65
Ja?

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.

Forum: Od czego zacząć naukę programowania?