Początek z programowaniem

Witam! !!

W tym roku ukończyłem gimnazjum z dobrymi ocenami ( średnia 5.1) i wybieram się do liceum na profil mat-fiz (przedmioty rozszerzone: matematyka, fizyka, informatyka, j. angielski). Swoją przyszłość chciałbym powiązać z programowaniem, więc stwierdziłem, że im wcześniej zacznę się uczyć tym lepiej. Chciałbym rozpocząć naukę c++ ale nie wiem jak zacząć, czy może zdecydować się na jakiś inny język programowania. Proszę o jakieś podpowiedzi o początek, jaką książkę kupić/ściągnąć, może jakieś kursy?

Z góry dziękuję za pomoc :slight_smile:

Jak chcesz to zacznij. W językach programowania jest tak że grunt to rozumieć sens programowania. Jeśli nauczysz się dobrze C++ to przejście na Java, Delphi, C# czy VB nie będzie problemem, choć i tak będzie trzeba się ich nauczyć.

Osobiście polecam “Symfonia C++ Standard” Jerzego Grębosza, oraz “Od zera do gier kodera”.

Na początek są to bardzo fajne książki, idealnie nadają się dla początkujących.

“Od zera do gier kodera” jest na licencji GNU z tego co wiem, więc spokojnie z neta pobierzesz.

O tu: Klik.

Mi się dobrze uczyło z tych książek.

Jak jesteś po gimnazjum to na Twoim etapie polecam Ci - ucz się solidnie matematyki a programowania na razie nie. A jeżeli jesteś ciężko kapującym matematykę i nauki ścisłe to w ogóle sobie odpuść przygodę z programowaniem (wg mnie).

Poza tym nie spodziewaj się fajerwerek w liceum. Profile w liceach znaczą nic.

Ja np jestem po TI ale również szału nie ma, gdyby nie godziny pracy poświęcone w domu byłoby cienko.

A zważywszy na to że na rynek pracy wejdziesz za około 3-4 lata (minimum) wiele trendów się zmieni i co do tego nie mam wątpliwości, więc patrz pod tym kątem również.

I ostatnia uwaga, powieliłeś temat wałkowany po raz n-ty nie tylko na tym forum… Naucz się korzystać z for i wyszukiwarek bo jako programista będziesz to robił często.

Nie rozumiem po co napisałeś tego durnego posta? Jeśli miał on sprawić uśmiech na mojej twarzy, to twoje zamierzenie się nie udało…

Dziękuję wszystkim za odpowiedzi. Zdecydowałem, że najpierw przeczytam książkę “Symfonia C++ Standard” , a będę starał się powiększać wiedzę o tym języku :slight_smile: Jeśli ma ktoś coś jeszcze do dodania do chętnie przeczytam :slight_smile:

Poczytałem trochę o javie i c# i ciągle skłaniam się do c++. Zależy mi na tym aby poznać czym jest to całe programowanie, i nauczyć się podstaw, jak to wszystko funkcjonuje etc. Czytałem również, że jeśli poznam, np. C++ to przerzucenie się na C# czy jave nie będzie trudne. Chciałbym dobrze wystartować, a np. java rzuca mnie na stwierdzenie że wszystko jest obiektem, a aplikacje mobilne średnio mnie interesują. Wciąż zapraszam do dyskusji może mnie przekonasz, bo teraz już troszkę zmieszany jestem :?

LOL

Dodane 04.07.2012 (Śr) 20:35

kursy są na allegro, książki zresztą też. reszta w sieci: poradniki video, kursy programowania. zainstaluj sobie linuksa w normalnej dystrybucji masz kompletne środowisko programistyczne

Twoim zdaniem można zrozumieć ASM bez problemu w wieku gimnazjum, ale nie da się zrozumieć C/C++ bez znajomości ASM?

Żeby w pełni zrozumieć ASM trzeba znać architekturę sprzętu na który się piszę, rozumieć pojęcia rejestrów, adresów i rozkazów procesora, a nie znajdziesz nigdzie poradnika “ASM for kids”.

Pomysł żeby brać C/C++ i zaczynać od symfonii Grębosza jest jak najbardziej trafiony. Autor tłumaczy naprawdę wszystko łopatologicznie, dobra książka aby zacząć przygodę z programowaniem. Sam od niej zaczynałem i programowałem już w gimnazjum. Filmik Roberta Martina polecony przez kolegę zostaw sobie na później, nie zrozumiesz wywodu o składniach języków i podejściu do programowania, za to jak przeczytasz już symfonie to poczytaj także ‘Clean Code - Robert Martin’ - jest wersja polska więc nie będziesz miał problemów językowych.

Stary żart, chociaż bardzo prawdziwy:

Jaki język na początek? Zdecydowanie angielski.

Wątpię, część po prostu nie podchodzi do egz. technika albo go oblewa, więc ma zawód informatyka i to wszystko. A papier się zawsze przydaje. Część ludzi po prostu weryfikuje i odrzuca CV do kosza które nie mają pewnych kryteriów.

A pracę w dziedzinie informatyki można znaleźć po szkole zawodowej będąc murarzem - wystarczy pokazać że się coś umie. Myślisz że po wyższej ktoś coś więcej wie? Po uniwerkach i polibudach może i tak, ale reszta to badziew zgarniająca kasę i wydająca papiery ludziom którzy czasem nie mają pojęcia o tym co zdają.

Dokładnie, sam tego doświadczyłem. Jestem po TI gdzie 90% z mojej klasy egzamin zdała a np o programowaniu nie ma żadnego pojęcia. Nie wiem czy połowa potrafiłaby teraz napisać zwykły helloworld w dowolnym języku za pierwszym razem bez błędu.

polecam thinking in c++ tom 1 i 2 szukaj na helion.pl

Nikt nie wie co przyniesie przyszłość, takich teorii były już tysiące. To że C/C++ żyje jeszcze w Polsce jest głównie zasługą naszych uczelni, które produkują tego typu developerów, ale także dużych firm które trzymają projekty w tych językach tylko ze względu na kompatybilność wsteczną. Nie mniej jednak nie o to tutaj chodzi, zwróć uwagę że polecasz osobie w wieku gimnazjum naukę asemblera z którym nie radzi sobie wiele osób na polibudach. Też mogę pójść w ten tok myślenia i powiedzieć że dzisiejsza architektura komputerów nie ma przyszłości i polecam zacząć naukę programowania od Veriloga na fpga. Żeby zrozumieć ASM trzeba mieć pojęcie o architekturze i o tym jak chciała cpu, żeby zacząć naukę c++ z symfonii wystarczą dobre chęci. Przesiadka z c++ na jave czy c# nie będzie później żadnym problemem. Jeśli mówisz o moim pociągu do c++, to jesteś w błędzie bo jestem programistą javy, nie pracuję w Polsce i jestem na bieżąco ze wszystkimi nowościami jakie oferuje nowoczesna inżynieria oprogramowania. Po prostu twierdzę że będzie łatwiej komuś zacząć od c++ który ma szanse zrozumieć niż od ASM którego na 99% w tym wieku nie zrozumie. Uświadom sobie że polecasz język maszynowy osobie która nie rozumie jeszcze czym jest napięcie.

No tego akurat chyba uczą w gimnazjum na fizyce. Przynajmniej ja to miałem.

  1. C# jest językiem młodszym niż Java i ma mało z C++ wspólnego.

  2. Java jest językiem powszechnie “nauczanym” na uczelniach, raczej częściej niż C#.

  3. Polski światek IT to na pewno bardziej Java niż C#, wystarczy spojrzeć na liczbę ofert pracy.

Po co to początkującemu programiście, który po prostu na razie chciałby napisać jakikolwiek działający program?

Do tego wszystkiego nie trzeba znać ASM, wystarczy dokładnie przeczytać dobry podręcznik do C.

A do tego po przejściu do języków wyższego poziomu cała wiedza nt. procesora i asemblera przestaje być potrzebna, bo operuje się najniżej na JVM albo innym środowisku uruchomieniowym. W dzisiejszych czasach, kiedy wszystko pnie się ku coraz wyższemu stopniowi abstrakcji, tak naprawdę jaki odsetek programistów ma cokolwiek wspólnego z procesorem?

Ty to napisałeś. IMO uczelnie powinny przestać bazować na C/C++ (a są takie, co zaczynają od Pascala…), skoro zapotrzebowanie na rynku jest niskie, a firmy szukają nie młodych, zdobywających doświadczenie programistów, tylko hax0rów z 10-letnim stażem. No ale żeby do tego doszło, wymrzeć muszą dinozaury od dwóch dekad klepiących te same wykłady o tych samych językach.

zakazuje wam uczyć się języków programowania, są za trudne, jest ich zbyt wiele i do tego są niepotrzebne, niech sie męczą ludzie z microsoftu

Jak tak czytam te wasze wypociny to odnoszę wrażenie, że chcecie chłopaka zniechęcić. C++ jest idealnym językiem do nauki programowania i wy także od tego zaczynaliście. Asembler wymaga sporej wiedzy i jest mało praktyczny, aczkolwiek jego znajomość BYWA przydatna ale na pewno nie dla kogoś, kto się uczy programować. Z kolei Java, C#, PHP, Python, etc. to języki dla nerdów. Powstały po to, aby koderzy mogli szybko i wydajnie generować aplikacje, które wciska się potem firmom reklamując się pustymi hasłami w stylu: innowacyjność, nowoczesność, niezawodność, szybkość. W takich warunkach powstaje kod bardzo niskiej jakości a koderom płaci się jak najmniej (i słusznie).

A ty jesteś z pracy (albo wykształcenia)…? W swoich “wypocinach” ludzie starają się nawzajem przekazać jakieś argumenty, kiedy ty wpadasz do tematu jak Linus Torvald i posługujesz się jedynie własnymi odczuciami, traktując je jak prawdy objawione. Dasz jakiś powód, dla którego ktokolwiek miałby traktować powyższy post poważnie?