Początki programowania

Witam, zacznę od tego iż wiem, że jest dużo takich wątków i tematów na innych nawet forach, ale nie znalazłem aktualnego z 2011r bądź nawet od połowy 2010r.

A więc zaciekawiło mnie programowanie, ogólnie lubię informatykę. Mam 16 lat i chcę zacząć przygodę z programowaniem. Odrazu zaznaczę, że moją przyszłość wiążę z informatyką. W szkolę nie mam problemów z przedmiotami ścisłymi (wręcz przeciwnie). Planując dostać się do jakiś wyższych, dobrych szkół informatycznych,

wiem o tym że już powinienem zacząć naukę i znać podstawy. Więc czy moglibyście mnie pokierować w jakim kierunku się uczyć, jakie książki zakupić,

jaki język znać oraz jakich programów używać…itp.? Narazie umiem nie wiele zapoznałem się z systemem binarnym i szesnastkowym. Zatrzymałem się na tym bo np. uczę się tych systemów a nie wiem po co mi one… Bardzo proszę nasunąć mi jakiś kierunek kształcenia, bo mi się to podoba i chcę się tego uczyć lecz jestem zielony i nie wiem od czego zacząć.

PS.: Proszę mnie odrazu nie “zbesztać” i mówić że takich tematów jest multum. Bo szukałem, znajdowałem np. tematy z 2007 gdzie już się zastanawiali czy polecać język pascala czy nie (bo już się go mało używało, więc teraz najprawdopodobniej w ogóle go się nie używa)

PS.2: Pomoce naukowe w postaci książki nie koniecznie muszą być jakieś tanie żebym musiał potem dokupywać następne… Tym bardziej że za 2 tygodnie mam bierzmowanie i tata mówił że chciałby mi coś kupić, to akurat doskonały prezent :slight_smile:

Aż tak dynamicznie języki programowania się nie rozwijają, nierzadko historia tych popularnych, uznanych i sprawdzonych liczy sobie ponad kilkanaście lat.

Z całą pewnością: nie jeden. Natomiast co do tego jakie i w jakiej kolejności, to każdy powie Ci co innego i inaczej to uargumentuje.

Ja osobiście polecam C ( http://pl.wikipedia.org/wiki/C_%28j%C4% … mowania%29 ) - popularny, posiada wiele implementacji, uniwersalny, dający naprawdę solidne podstawy do nauki innych języków. Potem można dość płynnie przejść do C++, który jest w przybliżeniu nadzbiorem C.

No, chyba że pałasz uczuciem do webmasterki, wtedy możesz się zainteresować zupełnie innym zbiorem języków/narzędzi.

ZOBACZ http://symfonia.polecana-ksiazka.pl/

Nie ma lepszej książki do nauki języka programowania: C++. Książka w jasny, przejrzysty sposób przedstawia najważniejsze aspekty języka. Książkę czyta się niezwykle przyjemnie, chyba nigdy w życiu nie czytałem książki o tematyce informatycznej z taką łatwość i przyjemnością. Polecam wydanie w dwóch tomach, gdyż jest wygodniejsze w użytkowaniu.

Chodzi o HTML ? Jeżeli tak, to nie.

Muszę sobie to poukładać :stuck_out_tongue: To programownie może mieć różne wersje? To jest ogólne pojęcie? Jeżeli tak to jakie programowanie do czego służy i które jest “przyszłościowe”?

Właściwie każde programowanie służy do tego samego - zmusić komputer do robienia czegoś za człowieka (przynajmniej w teorii). Jakoś nie udało mi się umieścić (jak na razie) w tej definicji gier i wirusów.

Jak dla mnie programowanie do czynność, więc powyższe pytanie brzmi bezsensownie. Sprecyzuj o co Ci chodzi. Chciałeś zapytać o język programowania? Czy o “oprogramowanie”?

Witam,

Programowanie to Twoja umiejętność, którą musisz rozwijać, trenować i pielęgnować (w przyszłości może będzie dla Ciebie - bezpośrednio lub pośrednio - przynosić pieniążki). Przez pielęgnację rozumiem obserwację zmian i przemian w językach, które wybierzesz jako swoje wiodące.

Na przykładzie języka c++. Fajny język. Jest ustandaryzowany - fajnie. Jednak producenci środowisk programistycznych i kompilatorów nie zawsze trzymają się tego standardu. Najmocniej widać to w przypadku środowisk pochodzących od MS (VisualStudia). Standard jest obsługiwany i jeżeli będziesz pisał z wykorzystaniem standardowych elementów będzie spoko (pod innym kompilatorem skompilujesz np. gcc), ale gdy zaczniesz korzystać ze specyficznych składni i instrukcji jakie są tylko w c++ wspieranym przez MS to pod innymi kompilatorami może być (raczej będzie) problem.

Co do zmian to, zmieniają się:

a) funkcje, ich składnie, i parametry wywołania (czasami zachowywana jest zgodność w dół, ale kompilator drze ryja, że funkcja w danej postaci jest już przestarzała);

b) środowiska, znowu odwołam się do MS VisualStudio (w tych środowiskach najlepiej widać zmiany z wersji na wersję, czy na lepsze to dyskusja na inny wątek), zmiany między wersjami 2005 a 2010 są odczuwalne i widoczne. Podobnie jest z innymi środowiskami.

c) trendy w pisaniu kodów i programów: kod strukturalny, później zalecany obiektowy, teraz coraz popularniejsze staje się robienie do wszystkiego interfejsów, a co będzie za kilka lat(?) nie wiadomo.

I tych rzeczy powinieneś pilnować i śledzić, żeby się orientować w zmianach. Nie oznacza to, że masz za nimi ślepo podążać. Pracując więcej (dłużej) wyrobisz sobie pewien styl (np. w nazewnictwie funkcji, zmiennych, klas, formatowanie kodu, itd.)

Z literatury to poprę propozycję TURANKANTOR13 Symfonia C++ Jerzego Grębosza.

A i jeszcze zaznaczam, że Visual Studio jest jednym z wielu środowisk programistycznych. Moje odwołania nie oznaczają, że polecam zachęcam i nakłaniam do tego środowiska. Najlepiej sprawdź, które przypadną Ci do gustu. Żeby to zrobić powinieneś chwilkę popracować w każdym, które będziesz chciał sprawdzić. Miej własne zdanie poparte doświadczeniami, własnymi doświadczeniami.

Powodzenia.

No właśnie nie wiem jak zapytać :stuck_out_tongue: ale spróbuję: Chodzi mi o to czy programista jest to szeroko pojęty zawód? Czy jeden zajmuje się skryptami i niczym innym a drugi pisaniem programów i ten co umie zrobić skrypt nie umie pisać programów? Na przykładzie lekarza. Ogólnie lekarz ale nie każdy lekarz cię wyleczy ze wszystkiego, jeden jest od zębów drugi od ucha a trzeci od odbytu…itd. Rozumiecie o co chodzi w moim pytaniu :)?

PS @Opat dzięki za bardzo wyczerpującą odpowiedź. W dużym stopniu mi pomogłeś :razz:

Jeżeli pracujesz w poważnej firmie na określonym stanowisku, to zwykle właśnie tak jest - piszesz w jednym języku programowania i robisz to co umiesz najlepiej. Gdy umiesz coś niemal perfekcyjnie, to nikt nie będzie od Ciebie wymagał znajomości niczego innego. Powiedzmy sobie szczerze: lepiej znać bardzo dobrze jeden język programowania, niż słabo 20 różnych języków.

Ale jest też tak, że jedna umiejętność może nie wystarczyć. Może się przydarzyć, że pracodawca będzie kazał Ci napisać coś w innym języku i wtedy, gdy nie masz o nim żadnego pojęcia, to po prostu sięgasz po dokumentację, siedzisz w Googlach i piszesz :wink:. Na szczęście znajomość jednego języka programowania powoduje, że drugiego nie musisz się już uczyć od zera (a umiejętność korzystania z dokumentacji zawsze się przydaje).

Reguła jest taka sama od wielu, wielu lat: nie ma uniwersalnej odpowiedzi na tak postawione pytanie a odpowiedzi na bardziej szczegółowe (chcę pisać komunikator sieciowy, od czego zacząć?) zmieniają się zbyt wolno, by tematy nawet i z 2005 przestawały mieć znaczenie.

Problem, który masz, nie różni się od problemu jakie miały setki osób przed Tobą. Nie ważne, czy zderzały się z nim w 2007 czy w 2011 roku. W pierwszej kolejności musisz wiedzieć co konkretnie Ciebie interesuje, dopiero wtedy możesz stawiać wiążące pytania.

@axel: Nawet w granicach Twojego (IMO błędnego) uproszczenia, gry realizują logikę rozstrzygania sporów i nawigowania po drzewie zdarzeń. Przykładowo gry RPG redukują konieczność “zarządzania” w papierowym RPG czy przewracania stron w paragrafówce.

Najlepiej zacząć od C++, chociaż ja zaczynałem od C, a w technikum naukę programowania zaczynamy od Turbo Pascala, którego stanowczo odradzam :smiley:

Co do c++ to polecam “Symfonię” i “Od zera do gier kodera” :smiley: Tak jest chyba najlpeiej :slight_smile: