Nauka programowania od podstaw

Witam wszystkich. Chciałbym zacząć naukę programowania, bo z tym wiąże (ogólnie informattyką się interesuję, a tak dokładniej to jeszcze nei podjąłem, ale się w życiu przyda), więc mam kilka pytań (proszę się nie śmiać ale jestem laik’iem w sprawach programowania):

  1. Od jakiego języka zacząć? A na jakim skończyć?

  2. Na google’ach jest pełno poradników, ale nie wiem który jest najlepszy dla mnie, czy moglibyście podać jakiś dla laik’a?

  3. Jakich programów używać do programowania?

  4. Kiedy będę wiedział że już dany język mam jako tako opanowany i mogę przejść do następnego?

Chęci mam ogromne, czasu też sporo, może Was to rozśmieszy, że mam dopiero 14 lat i chciałbym już teraz się chociaż trochę dokształcić w moim przyszłym zawodzie/zajęciu :smiley:

Bardzo proszę o pomoc.

Dziękuje.

PS. Wiem, że w programowaniu jest potrzebny język angielski, ale to nie problem bo angielski znam dobrze, więc nie patrzcie na to :slight_smile:

Wiesz, prawda jest taka, że znać język programowania to jedno, a dobrze programować - to drugie. Ja polecam Ci zacząć od C/C++, nie żadne tam PASCALE. I na dobrą sprawę opanować składnie i “sposób” pisania to kwestia tygodnia, funkcje masz w manualu który będzię Twoim przyszłym przyjacielem. Wyznacznikiem dobrego programisty jest to, jak rozwiązuje różne trudne problemy, a nie jak “pisze” na pałę licząc tylko na to, że program się skompiluje. Liczy się optymalny sposób pisania, przemyślenie problemu, dlatego też matematyka będzie Ci nieodzowna. No chyba, że zamierzasz później być webdesignerem, a nie programistą z prawdziwego zdarzenia. Bo to klepania stron to nawet matma nie jest Ci potrzebna.

Zaczynałem z tym samym pytaniem jak ty… :slight_smile: do rzeczy ja bym ci zaproponował jakieś podstawy w Pascalu, na opanowanie budowy pisania prostych programów, pojmowanie na czym tak naprawdę polega to:

http://www.pascal.eu.org/index.htm

Chyba, że jesteś cudowne dziecko, a zdarza się wiele takich osób (ja raczej nisko profilowany :stuck_out_tongue: )to C++

Co do pytania 3… Zależy jakim językiem piszesz, takim kompilatorem.

Łap linka

http://4programmers.net/ <-- znajdziesz tu tez ciekawostki, jest również tam e-book o Delphi (jest to object pascal, czyli na bazie pascala )

A i w razie czego oferuję swoją pomoc. :slight_smile:

Ja proponuję zacząć od “klasyki” - C. Później można przejść dość gładko do wielu innych języków programowania: C++, Java, Perl itp. Sugerowałbym tą kolejność: C, C++, Perl, Java lub C, C++, Java, Perl (tak, jestem stronniczy i wymieniłem moje ulubione języki programowania)

Co do poradników to wg mnie nie ma co marnować na nie czasu. Jeżeli naprawdę chcesz się nauczyć danego języka to kup dobrą książkę (o wiele wygodniejsze niż czytanie z monitora).

Odnośnie, jak to piszesz “programów”, to zależy od języka i systemu operacyjnego. Ja osobiście używam do C/C++ GCC, do Javy OpenJDK, a do Perla… perla :slight_smile: Jednak z podpisu wnioskuję, że używasz systemu Windows, więc dla C zainteresuj się MinGW.

Ostatnia kwestia - nigdy nie przestaje się uczyć języka programowania, a tym bardziej nigdy nie przestaje się uczyć programowania, zawsze jest coś, czego się nie wie.

więc dostałem 3 odpowiedzi, każdą inną i teraz zgłupiałem

np. jaką?

czy C to to samo co C# ??

z maty jestem całkiem dobry, ale też zależy o jakij matematyce mówisz

więc jak, zacząć od C# czy od Pascal’a??

kupić od razu książkę czy na początku korzystać z poradnika z internetu?

na początku pisać w Notatniku (w ogóle się da??) czy ściągnąć jakiś program?

no i jaki program?

przepraszam za tyle pytań, ale jak widzicie nie znam się na tym :slight_smile:

Ja proponuje zacząć od C. Co do książki to wg mnie tak jest dobra: http://helion.pl/ksiazki/jcszpr.htm

Co do kompilatora to poszukaj MinGW, a edtytor np. Notepad++.

Następnie zalecam poznanie C++ i Java.

Oczywiście wybór masz o wiele większy (D, Vala, Ruby, Python, Perl, C# …). Odradzam Pascala - pisanie w nim programów nie ma sensu, mało kto go używa, jest stary i wg mnie słabo się w nim pisze. Pascala powstał jako “język do nauki programowania”, ale to już przeżytek, stanowczo odradzam Pascala.

A ja polecam Pythona, bardzo prosty język. Sam próbowałem zacząć od C++ i jakoś mi to nie wyszło.

Na początek polecam C(++) albo C#, osobiście nie przepadam za Javą.

Książka, nie poradnik. Mniej zmęczysz oczy.

C/C++ - Visual C++/Eclipse + MinGW, ale polecam to pierwsze.

C# - Visual C#.

Wszystko darmowe.

Możesz nie znać języka i przejść do następnego. Ja zacząłem od PHP, poznałem go dość dobrze, potem C++, C#, chwila Javy(“hello world!” i nic więcej :stuck_out_tongue: ). Gdzieś się D i Perl przewinął, PowerShell też, ale to niewiele.

Przypuszczam, że jesteś w 2 gimnazjum(też mam 14 lat :wink: ). Matematyka w gimnazjum to są podstawowe podstawy podstaw. IMHO program nauczania matematyki w gimnazjum jest do bani(3 tygodnie wałkowaliśmy potęgi…), ale to tylko moje zdanie.

Idę o zakład, że już się uczysz programowania. Też jestem nowy w temacie. Najpierw zacznij od gier komputerowych - linux oferuje szeroki pakiet gier logicznych. Poćwiczysz patrzenie na świat z punktu widzenia optymalizacji procesów. Zamiast zastanawiać się, jak wygrać w black jacka nauczysz się liczyć karty, zamiast męczyć się z kostką rubika po prostu znajdziesz właściwy algorytm. Matma jest niezbędna… Więc siadasz najpierw i zamiast języka bierzesz dobrze napisane repetytorium z matematyki i wkuwasz. Co do języka - polecam taki, do którego jest dokumentacja po polsku, bo po angielsku możesz nie zrozumieć, a na dodatek masz język techniczny, który tez nie jest łatwy i przystępny dla nowincjusza. Widzę, że sporo z Was programuje i mnie raczej cieszyłoby, ze tyle odpowiedzi. A skoro jest zainteresowanie tym wątkiem (jak zwykle nie spojrzałem na datę ostatniego posta, a wątek pewno z okresu jurajskiego pochodzi i admin się czepnie - sz. p. adminie, to pana wina stare wątki usuwa się!) to i ja rzucę garść pytań. Jakie “EQ” polecacie na początek?:smiley:

  • potrzebny podręcznik do matmy - mam spore zaległości bo do tej pory kształciłem się w kierunku biotechnologia

  • potrzebne polskie manuale, najlepiej freeware (jak już samodzielnie napiszę jakiś program to udostępnię kod autorom podręcznika) na razie do C++

Python jest przyjemny, pascal łatwy, ale C++ jest uniwersalny, chociaż chciałbym poznać jeszcze R, fortrana i javę. Umiem przejść całą grę laby - nauczyłem się sam optymalnie wyprowadzać mrówkę ze wszystkich labiryntów w 3 godziny, więc z C++ sobie poradzę. Umiem posługiwać się konsolą i zaczynam gardzić przeciążającymi system programami okienkowymi - to chyba dobry objaw?

Prosiłbym o podanie kilku tytułów, które uważacie za lekko napisane i przystępne dla mało zaawansowanego programisty, albo takie, które lubicie. Najlepiej, żeby mozna je było znaleźć w antykwariacie:) Tak w ogóle, czy programiści mają w Internecie jakiś swój “pchli targ” od bibliotek, skryptów i manuali? Chodzi raczej o miejsce, gdzie spotykają się początkujący studenci, a nie zaawansowani wyjadacze.

Pozdrawiam

Polskich (dobrych) manuali za dużo w sieci nie znajdziesz. Proponuję zacząć poszukiwania literatury na allegro.

Pytanie: Czy na pewno potrzebujesz wszystkich tych języków? Jeśli nauczysz się Pythona to możesz skorzystać z bibliotek SciPy+matplotlib, a wtedy nauka R nie bardzo ma sens (chyba, że potrzebujesz jakieś specyficzne funkcje statystyczne, których nie ma w scipy.stats). Podobnie wygląda sytuacja z Fortranem. Jeśli nie potrzebujesz ekstremalnej wydajności (a w warunkach ,domowych’’ na 99% nie potrzebujesz) to wystarczy skorzystać z NumPy/SciPy. Wygodniej, przyjemniej i za darmo. Są darmowe kompilatory Fortrana, ale jeśli pracujesz pod Windows to możesz szybko stracić cierpliwość. :wink: Intel Fortran (dla systemu Windows) jest dostępny komercyjnie. Podobnie z C++ i Javą – jeśli nie potrzebujesz dużej wydajności (cokolwiek to znaczy) to do programowania zorientowanego obiektowo wystarczy Python. Poza tym, skoro jesteś po biotechnologii to może zainteresować Cię Biopython.

“Pchli targ” skryptów Pythona znajdziesz na ActiveState Code Python Recipes.

Są tam takie “perełki” jak np. Fallout 3 “terminal hacking” minigame cracker – Jeśli grałeś w Fallout 3 / New Vegas to wiesz o co chodzi :wink: