Aktualności:

W MEDIA znajdziesz grafiki, banery i avatary

Menu główne

Od Czego zacząć przygodę z programowaniem ?

Zaczęty przez Limol, 13 Lipiec 2011, 23:21

Limol

Jak każdy wie zaczęły się "kilka" dni temu wakacje. Jest to podobno najwspanialszy okres w życiu każdego młodego człowieka :D Niestety mi się już trochę nudzą więc wpadłem na pomysł aby nie siedzieć bez czynnie na fejsie i grać w denne gry MMORPG tylko zająć się czymś bardziej ambitnym...

Przechodząc do tematu po wstępnym  rozpoznaniu zrozumiałem że większść ludzi poleca na początek Pascala. Jednakże na pascala jest tyle samo opini pozytywnych co i negatywnych... podobno sypie błedami itp.

Zwracam się do doświadczonych informatyków których z tego co wiem na tym forum nie brakuje :D Co byście polecili (na początek) znudzonemu komercyjnym GG , FB i CS'em 16latkowi??

Dzięki za odpowiedzi :D
http://www.youtube.com/user/TOMVANLIMEN welcome :D


Mchl

Pascal sypie błędami jak każdy inny język - wtedy jak się błędnie w nim pisze.

Sam poważną naukę zaczynałem od Pascala i wielce go sobie chwalę. Problem z nim jest taki, że w chwili obecnej to język mało perspektywiczny.

Jeżeli do Twój całkiem pierwszy kontakt z programowaniem, to proponowałbym Pythona, Ruby ewentualnie PHP (ten ostatni chyba najprostszy, ale łatwo w nim nabrać złych nawyków)

Masz: http://mislav.uniqpath.com/poignant-guide/book/

W nagłych wypadkach wzywać przez: mail: mchlpl[at]gmail.com | PM|mchl[a]boincatpoland.org

Tomasz R. Gwiazda

php

bo sie przyda do wielu rzeczy.
a poza tym C#

no i moze cos w kierunku aplikacji pod Androida?

Poza tym poszukaj ofert pracy i zobacz czego szukaja, napewno tez programistow JAVY


mnie akurat programowanie nie kreci i sie na nim nie znam :)

GRID

Na początek gratuluje.  :p_arr: Jak na 16 lat szybko chcesz porzucić ten czasochłonny-szajs jakim są gry itp
Na pytanie jaki język programowania, odpowiem pytaniem. A co lubisz ? Albo co bardziej by Cię interesowało.

Czyste typowe programowania, czy może programowanie w internecie.

Nie wiem jak dla początkujących ale poleciłbym typowe C++ lub Python (programowanie pod linux bardziej).
ALbo coś z internetem związane czyli: html i css, php potem.

ps. Pascal mało perspektywiczny jest.

Limol

nie no chłopaki html'a to miałem w gimnazjum na początku :D zresztą z tego co wiem to teraz już nikt w czystym html'u nie robi :D

Co by mnie interesowało?? hmmmm. trudne pytanie jak na początek :D może jakieś proste gierki typu saper czy coś takiego :) raczej wolałbym się rozwijać w kierunku gier i programów niż programowania interrnetowego :D

PS: I byłoby miło jakbyście podsyłali jakieś tutki po polsku dobre bo po angielsku znaleźć to nie ma problemu a żeby znaleźć dobrego guidebook'a po polsku to ho ho :D
http://www.youtube.com/user/TOMVANLIMEN welcome :D


GRID

W C++ na początek uczyłem się pętli - jedna z najważniejszych składowych programowania. Pisałem sobie testy.
Pytanie i 3 odpowiedzi, jedna do wyboru. Pytania były na temat pętli i innych funkcji. Co miało podwójny efekt wkuwania.

Ja jak będę miał trochę czasu to mam zamiar pójść języki programowania bardziej związane z Linuksem.

Arthusp

Cytat: Limol w 14 Lipiec 2011, 09:36
(...)

Co by mnie interesowało?? hmmmm. trudne pytanie jak na początek :D może jakieś proste gierki typu saper czy coś takiego :) raczej wolałbym się rozwijać w kierunku gier i programów niż programowania interrnetowego :D

To proponuję dwie rzeczy:
1. Baw się jakimiś edytorami gier - jakieś Game Makery i inne takie - to Tobie pomoże zrozumieć mechanikę gier. Nie odkryję Ameryki pisząc, że w grach najważniejszy jest pomysł, a zaraz za jest wykonanie.
2. Jeśli już chcesz na poważnie pisać gry to tylko C++ (warto wcześniej poznać C) - znakomita większość wydajnych/komercyjnych gier powstaje w tych językach.

Tomasz R. Gwiazda

ja mysle ze wlasnie programowanie internetowe ma przyszlosc i  wszlekie appsy i gry beda w chmurze

+ oprogramownie dla platform mobilnych

Mchl

Spokojnie koledzy. Wybrać scieżkę kariery jeszcze Limol zdąży. Na razie zaproponujmy mu coś, na czym będzie mógł się nauczyć podstaw programowania proceduralnego. Inaczej zaraz wejdziemy w dyskusję o wyższości świąt Bożego Narodznia nad Wielkanocnymi ;)

Limol: nawet po angielsku dobry podręcznik nie tak łatwo znaleźć.

GRID: a wiesz, że jest cała galąź programowania, gdzie pętli nie ma i być nie może? :D

W nagłych wypadkach wzywać przez: mail: mchlpl[at]gmail.com | PM|mchl[a]boincatpoland.org

Szopler

Niech się od razu uczy obiektowego w C.
Gdzie nie spojrzysz tam programowanie obiektowe (w tym wymagane przy szukaniu pracy). Proceduralne to przy tym pikuś ;)

Aegis Maelstrom

Może moje trzy grosze.

Programistą jestem biurowo-amatorskim i obecnie najwyżej piszę skrypty w SQL i w VBA. Ale w czasach podstawówko-licealnych zdobywałem podstawy i z tego co się nauczyłem, to umiejętność programowania to nie jest znajomość konkretnego języka - od tego są książki, google, języki i ich biblioteki się wiele razy zmienią do emerytury - ale umiejętność myślenia: precyzyjnego, operując na skomplikowanych abstrakcjach, posługując się gotowymi schematami. Nieprzypadkowo programowanie pochodzi z matematyki. :)

Przykładowo Joel Spolsky, autor słynnego joelonsoftware twierdzi, że o wartości programisty świadczy np. fakt czy rozumie taką koncepcję jak wskaźnik. Nieważne, czy będzie tych wskaźników używał - ważny czy jest choćby na tyle inteligentny.

Ja zaczynałem od prostych języków interpretowanych jak Basic, by potem przejść do Pascala, a następnie C. IMVHO jeśli chcesz się nauczyć programowania strukturalnego: czyli myślenia kategoriami pętli, funkcji, procedur, wskaźników itp. :) do stary dobry Turbo Pascal wciąż się nadaje. Gołe C też może być, ale C, przynajmniej dawno temu, było mniej przyjazne i bardziej wymagające.
Od programowania strukturalnego bym zaczynał, choć może koledzy mają inne sugestie.

Jeśli chcesz się nauczyć programować obiektowo, to pewnie jakieś C/C++ albo Delphi (obiektowy potomek Pascala). Do języków skryptowych (obecnie popularnych) to pewnie jakiś php czy python. O innych stylach, takich jak np. LISP, się nie wypowiadam.  :)

Moim bardzo skromnym zdaniem na naukę poważnych języków i środowisk pracy to masz jeszcze czas; ważne byś się ćwiczył algorytmicznie. Potem możesz sobie sięgać nawet po bardzo mądre książki, na początek dobry byłby jakiś nauczyciel.

Najważniejsze jednak, żebyś robił coś, co Ci sprawia przyjemność. Znajdź taki język i środowisko i próbuj coraz trudniejszych rzeczy. Powodzenia!  :)

Troll81

Masz 16 lat i masz wakacje :D idź podrywać panienki i korzystać z szeroko rozumianego zycia. Ja mam 3 dyszki na karku i jak ostatnio byłem na dużej imprezie ze sporym odsetkiem małolat wśród tłumu to poczułem te latka..... :D
i juz wiem że pewne rzeczy bezpowrotnie minęły :D Nigdy do przystojnych nie należałem, ale kiedyś to takie panienki przynajmniej na mnie spojrzały.... a teraz równie dobrze mógłbym być drzewem :D

Na twoim miejscu to zapakowałbym plecak i ruszył w góry z kilkoma zanjomkami a po drodze...... nie no bo mnie oskarzą o deprawowanie nieletnich.... :D

Aegis Maelstrom

To co proponuje Troll to jest także fantastyczna rada. Ale: pamiętam jeszcze, że za młodu człowiek ma maaaaasę czasu. Potem jest go coraz mniej i coraz mniej.

Dlatego: rób to i to. Chodź na imprezy, jedź w góry z przyjaciółmi, poznawaj ludzi, rozwijaj zainteresowania, ale też weź się za coś poważnego: programowanie, analizę matematyczną czy inne przydatne hobby. :D Masz wiele czasu, wystarczy że nie będziesz go marnował. W MMORPG jeszcze będziesz miał czas pograć jak będziesz stary i zramolały, a wtedy one będą znacznie ładniejsze i ciekawsze. :)

A programowanie to fajny pomysł, tylko te 16 lat to znowu nie tak mało by zaczynać. :P Znam dobrych programistów którzy zaczynali w tym wieku, znam takich, co fajnie dłubali w wieku 6 lat i to sobie chwalą... :D

Tobas

Jeżeli zdecydujesz się za sugestiami kolegów na C++ to polecam Grębosza z jego "Symfonią C++"

http://www.ifj.edu.pl/~grebosz/symfonia_c++_std_p.html

Super podstawa żeby zrozumieć w ogóle o co kaman w programowaniu.

Z tego już krótka droga do frameworków np. moich ulubionych Ruby on Rails.

Pantarhei

Właśnie wyszedł ode mnie klient, który przez dziesięć lat programował z powodzeniem w Pascalu program przewidujący numery w Totalizatorze Sportowym. Wcale mu w tym nie przeszkodziła stwierdzona schizofrenia paranoidalna, zwłaszcza że w nią nie wieży bo "któż jest mu w stanie udowodnić, że ma urojenia".

Facet jest niesamowity i niezmordowany. Mówi, że swój program udoskonali w Asemblerze, jak się go nauczy.

Tak więc, Paskal na początek jest idealny.
W związku z powyższym, wnoszę o przyznanie mi renty inwalidzkiej drugiej grupy.

Mchl

Dziadek czasami mnie prosi, żeby wydrukować mu listę wszystkich kombinacji Lotto. Ja się go tylko pytam, czy za papier zapłaci...

W nagłych wypadkach wzywać przez: mail: mchlpl[at]gmail.com | PM|mchl[a]boincatpoland.org

Tomasz R. Gwiazda

najlepsza kombinacja to 1,2,3,4,5,6,7 tak samo prawdopodobna jak kazda inna

Mchl

No nie wiem. Biorąc pod uwagę, że sześć liczb się losuje, to ta akurat żadnej szansy nie ma.

W nagłych wypadkach wzywać przez: mail: mchlpl[at]gmail.com | PM|mchl[a]boincatpoland.org

Troll81

toeretycznie każda kombinacja ma taką samą szanse wylosowania. Dlaczego więc ani razu w polskim lotku nie powtórzył sie wynik? odsyłam do "żóltej ksiażki" pani Ostasiewicz. to moja była pani profesor od statystyki. Dwa razy komis mi urządziła :D ale dzięki temu że mnie cosik nie lubiła obryłem statystykę ostro. Na 5 roku proponowała mi pozostanie na doktoranckich. Ale była zdziwiona gdy ją poinformowałem że nie jest to możliwe gdyż zgodnie z regulaminem uczelni jak miałem dwa komisy i to ze statystyki właśnie to nie mogę pozostać na doktoranckich, tym bardziej ze statystyki własnie. Jeszcze bardziej się zdziwiła gdy jej wyjasniłem że osobiście mnie wysłała na dwa komisy :D

Tomasz R. Gwiazda

a to moja pomylka :P (6a nie 7 liczb) ale wiesz o co chodzi

Pantarhei

Tylko, że wy nie wiecie tego, co wie mój klient.
A mianowicie, że piłeczki mają rożny ciężar.
W związku z powyższym, wnoszę o przyznanie mi renty inwalidzkiej drugiej grupy.

Cyfron

bardzo ciekawe co mówisz o tym ciężarze - z tego co ja wiem, to pierwsze primo: kuleczki MUSZĄ mieć ten sam ciężar. po drugie primo: mają ze 3 komplety piłeczek do każdego losowania i kilka urządzeń losowania - przed losowaniem wybierają losowo (komisyjnie itd) czym i co będą losować.

Limol

Mchl podejżewam że gdyby twój dziadek miał na ten papier do wydruku i tonery i byłby tego świadomy to by chyba nie grał w lotto :D

Z waszych wypowiedzi prosto od serca wynika sprzeczna informacja C+++VS. Pascal :) Cóż mam wybrać?? :D

Co do panienek i imprezowania... Mam już tak zjechaną wątrobę że już nie imprezuje :D jestem abstynentem :D (przynajmniej teoretycznie przy rodzicach :) ) :D
http://www.youtube.com/user/TOMVANLIMEN welcome :D


Pantarhei

Cytat: Cyfron w 14 Lipiec 2011, 14:54
bardzo ciekawe co mówisz o tym ciężarze - z tego co ja wiem, to pierwsze primo: kuleczki MUSZĄ mieć ten sam ciężar. po drugie primo: mają ze 3 komplety piłeczek do każdego losowania i kilka urządzeń losowania - przed losowaniem wybierają losowo (komisyjnie itd) czym i co będą losować.
bardzo słuszne co mówisz tylko przekonaj do tego schizofrenika
W związku z powyższym, wnoszę o przyznanie mi renty inwalidzkiej drugiej grupy.

Troll81

Zaręczam ci ze na imprezach integracyjnych w firmie pije sie jeszcze bardziej niż an wycieczkach szkolnych :D ja bym brał C++ lub Java. Zobacz którzy ludzie aktualnie dobrze zarabiaja na rynku. PHPowiec jest 3 razy tańszy od javovca :D

a wszystkie wyniki lotto to nie tak dużo do wydruku raptem ok 5000 losowań. nawet nie ryza papieru :D

Limol

a tajemnicze aple pod androida są w javie?? czy w innym :P Bo fajnie by było zrobić sobie coś na telefonik :D

PS: Nie robie tego dla kasy (przynajmniej narazie) Chcę się pobawić w coś bardziej ambitnego niż CS i Warrock :D
http://www.youtube.com/user/TOMVANLIMEN welcome :D


lukaszja

Cytat: Troll81 w 14 Lipiec 2011, 11:09
(...) Nigdy do przystojnych nie należałem, ale kiedyś to takie panienki przynajmniej na mnie spojrzały.... a teraz równie dobrze mógłbym być drzewem :D

Cytat: Pantarhei w 14 Lipiec 2011, 14:10
Właśnie wyszedł ode mnie klient, który przez dziesięć lat programował z powodzeniem w Pascalu program przewidujący numery w Totalizatorze Sportowym. Wcale mu w tym nie przeszkodziła stwierdzona schizofrenia paranoidalna (...)

Cytat: Tomasz R. Gwiazda w 14 Lipiec 2011, 14:12
najlepsza kombinacja to 1,2,3,4,5,6,7 tak samo prawdopodobna jak kazda inna

Cytat: Mchl w 14 Lipiec 2011, 14:11
Dziadek czasami mnie prosi, żeby wydrukować mu listę wszystkich kombinacji Lotto.

To trzeba umieścić w materiałach reklamowych!
Jak tu nie kochać B@P?! ;)

Mchl

Cytat: Limol w 14 Lipiec 2011, 18:52
a tajemnicze aple pod androida są w javie?? czy w innym :P Bo fajnie by było zrobić sobie coś na telefonik :D

PS: Nie robie tego dla kasy (przynajmniej narazie) Chcę się pobawić w coś bardziej ambitnego niż CS i Warrock :D

Tak, dla Androida pisze się w Javie, chociaż później programy nie działają w Javie - ot taka ciekawostka, za którą Oracle pozwałao Google :P

Chłopaki przytaczają tutaj argumenty ekonomiczne (gdzie łatwiej pracę dostać i za większą kasę), ale moim zdaniem na początek warto po prostu wybrać coś prostego, żeby
a: nie zniechęcić się od razu na pierwszym wyboju
b: zobaczyć bez większego stresu, czy programowanie w ogóle Ci podchodzi

Jak poznasz podstawy, to nauczuć się nowego języka można (i zazwyczaj trzeba) bardzo szybko.

W nagłych wypadkach wzywać przez: mail: mchlpl[at]gmail.com | PM|mchl[a]boincatpoland.org

goofyx

Cytat: Mchl w 15 Lipiec 2011, 11:56
Cytat: Limol w 14 Lipiec 2011, 18:52
a tajemnicze aple pod androida są w javie?? czy w innym :P Bo fajnie by było zrobić sobie coś na telefonik :D

PS: Nie robie tego dla kasy (przynajmniej narazie) Chcę się pobawić w coś bardziej ambitnego niż CS i Warrock :D

Tak, dla Androida pisze się w Javie, chociaż później programy nie działają w Javie - ot taka ciekawostka, za którą Oracle pozwałao Google :P

Chłopaki przytaczają tutaj argumenty ekonomiczne (gdzie łatwiej pracę dostać i za większą kasę), ale moim zdaniem na początek warto po prostu wybrać coś prostego, żeby
a: nie zniechęcić się od razu na pierwszym wyboju
b: zobaczyć bez większego stresu, czy programowanie w ogóle Ci podchodzi

Jak poznasz podstawy, to nauczuć się nowego języka można (i zazwyczaj trzeba) bardzo szybko.
1. Zgadzam się z przedmówcą co do pkt.a i b
2. Tak to prawda ludzie wybierają języki programowania aby lepiej i więcej zarabiać, ale to tak nie do końca. Powiem na swoim przykładzie. Od prawie 20 lat pracuję na delphi (wcześniej był Pascal), w tym roku ze względu na ilość ogłoszeń pracy w np.: java chciałem zmienić pracę i język programowania. Niestety nie zrobiłem jeszcze tego ze względu na brak czasu. Aktualnie delphi to dość niszowy u nas jeżyk/środowisko programowania co powoduje, że nie wielu ludzi w tym siedzi. Dodatkowo zauważyłem, że wiele programów na rynku było tworzone na delphi, a dla ich producentów przepisanie całego programu na nowy język to za duży koszt, dlatego też poszukują koderów z doświadczeniem. Ja od pewnego czasu mam tak, że nie śpię po nocach tylko programuje (co zresztą mnie cieszy bo to kocham).
Teoretycznie można umieć kilka języków (to nie problem), ale ciężko jest być bardzo dobrym we wszystkich <- czasami po prostu nie ma się na to czasu.
No to tyle wywodu.

GRID

CytatGRID: a wiesz, że jest cała galąź programowania, gdzie pętli nie ma i być nie może?
nie kojarzę.

CytatDziadek czasami mnie prosi, żeby wydrukować mu listę wszystkich kombinacji Lotto. Ja się go tylko pytam, czy za papier zapłaci...
Nie było mnie 1,5 dnia i oczywiście offtop.  :cold:

Mchl

Cytat: GRID w 15 Lipiec 2011, 15:49
CytatGRID: a wiesz, że jest cała galąź programowania, gdzie pętli nie ma i być nie może?
nie kojarzę.

http://wazniak.mimuw.edu.pl/index.php?title=Programowanie_funkcyjne/Wst%C4%99p

W nagłych wypadkach wzywać przez: mail: mchlpl[at]gmail.com | PM|mchl[a]boincatpoland.org

Limol

Masz goofyx rację po 20 latach siedzenia w jednym języku masz go obrytego i w zasadzie możesz w nim napisać wszystko co tylko możliwe( i nie dziwię się że sprawia ci to radochę) ja jednakże chcę dopiero zacząć (znalazłem jakiś kurs z c+++ pod code::blocka nie wiem czy jest dobry więc może eksperci go ocenią :D

http://cpp0x.pl/kursy/Kurs-C++/1

Ja się ciesze że skompilowałem .exe bez błędów więc wiecie mój poziom a wasz to tak jakby sobie porównać naszą Ziemię do kolegi z układu Jowisza :P
http://www.youtube.com/user/TOMVANLIMEN welcome :D


Mchl

Cytat: Limol w 15 Lipiec 2011, 23:00
Ja się ciesze że skompilowałem .exe bez błędów więc wiecie mój poziom a wasz to tak jakby sobie porównać naszą Ziemię do kolegi z układu Jowisza :P

Rozdęty, trujący, zabójcze promieniowanie i huraganowe wiatry? To ja może zostanę na ZIemi ;P

W nagłych wypadkach wzywać przez: mail: mchlpl[at]gmail.com | PM|mchl[a]boincatpoland.org

Limol

Cytat: Mchl w 16 Lipiec 2011, 00:00
Cytat: Limol w 15 Lipiec 2011, 23:00
Ja się ciesze że skompilowałem .exe bez błędów więc wiecie mój poziom a wasz to tak jakby sobie porównać naszą Ziemię do kolegi z układu Jowisza :P

Rozdęty, trujący, zabójcze promieniowanie i huraganowe wiatry? To ja może zostanę na ZIemi ;P

Ten nasz big brother nie raz ratował nam  życie :D więc troszkę kultury dla mnie jest ładny :D a że trochę inny to już nie jego wina :D
http://www.youtube.com/user/TOMVANLIMEN welcome :D


Agbar

Broń Boże nie zaczynaj od C, ani C++. Te języki są zbyt skomplikowane na początek. Wiele osób się na pewno oburzy, ale programując w nich początkujący nie koncentrują się na strukturze programu (czyli tym co jest niezależne od języka), tylko na zawiłościach składni. Tak, tak C/C++ mają składnię, która się dla dzieci nie nadaje.
Dużo lepiej zacząć od Javy, albo C#. Są bardzo podobne do siebie i C++, ale pozbawione wielu dziwnych rzeczy, które są potrzebne rzadko, a tylko zwiększają ryzyko pomyłki. (Niezła książka, która to dobrze ilustruje to: How not to program in C++, niestety dość słabo przetłumaczona na polski (niemniej czytać się da).
Jeżeli znasz dobrze angielski to proponuję zacząć od pythona z kursem MIT (!): OpenCourseware. Nie przejmuj się, że to poziom akademicki. Kurs jest prowadzony dla studentów, którzy nigdy wcześniej nie programowali!!!

Limol

póki co c++ ogarniam :P mówisz że lepiej od javy zacząć?? hmmm znasz jakieś dobre kursy on-line po polsku do tego języka??
http://www.youtube.com/user/TOMVANLIMEN welcome :D


Agbar

Niestety większość kursów jest po angielsku i trzeba się do tego przyzwyczaić, zazwyczaj cała dokumentacja jest po angielsku, a jeżeli jest w innym języku to nikt nie będzie tego używał  :no: Czas zacząć uczyć się angielskiego na poważnie ^^
Jeżeli dasz się przekonać do języków obcych to polecam http://download.oracle.com/javase/tutorial/.

Po polsku mogę polecić  :book: "Thinking in Java" Bruce'a Eckela. Szczerze: nie znam, ale poleca ją wiele osób w tym te, które cenię jako programistów ;) Jeżeli nie chcesz/nie możesz kupić na 90% będzie w bibliotece szkolnej albo jakiejś regionalnej, np. u mnie w wojewódzkiej jest - nawet dostępna.

Tak jak wcześniej pisałem, nie zawracaj sobie głowy C++, bo nie będziesz się koncentrował na programowaniu tylko na "dziwnościach" C++. Być może kiedyś nadejdzie chwila, w której będziesz potrzebował czegoś z cpp, ale nie życzę ci tego :fright:

Mchl

Ja tam uważam, że trochę niskopoziomowych zagadnień trzeba poznać. Chociażby po to, żeby docenić ile roboty Java odwala za programistę ;)

W nagłych wypadkach wzywać przez: mail: mchlpl[at]gmail.com | PM|mchl[a]boincatpoland.org

Agbar

Cytat: Mchl w 20 Lipiec 2011, 20:04
Ja tam uważam, że trochę niskopoziomowych zagadnień trzeba poznać. Chociażby po to, żeby docenić ile roboty Java odwala za programistę ;)
Jasne, ale to jest potrzebne na wyższym poziomie (sic!). Na początku nie ma się co przejmować, bo chyba każdy ma wtedy skłonności do przedwczesnej optymalizacji. Niskopoziomowe programowanie jest potrzebne zwykle dopiero kiedy piszesz jakiś sterownik albo system operacyjny - a do tego został zaprojektowany C/C++. Wbrew pozorom nie zawsze są to języki w których można stworzyć najszybszy kod najniższym nakładem czasu. Do niektórych zastosowań, głównie numerycznych lepszy jest FORTRAN (np. część aplikacji Folding@home) albo jakiś język funkcyjny do jeszcze innych celów. No i jeszcze a propos programowania niskopoziomowego: jeżeli chcesz pisać szybki kod w C/C++ i tak trzeba poznać asembler procesora pod który piszesz, a przynajmniej przeczytać manual i przeżyć chociaż raz opad szczeny po tym, jak się okaże, jakie magiczne sztuczki potrafią zrobić dzisiejsze procesory.

Ostatecznie jeszcze raz polecam Javę albo C#, bo po co zastanawiać się, czy twój kompilator ma int 16 czy 32 bit (dzisiaj się już chyba nie zdarza), ile bit ma long (zwylke 32), a ile short (prawdopodobnie 16). I co to jest long long? I czy są ze znakiem, czy bez? I co to znaczy? I co robi operator >> z liczbą ze znakiem? (O ile pamiętam Borland (RIP) uzupełniał jedynkami!)
W Java nie ma takich problemów, wszystko jest wszędzie takie samo i wcale nie ma liczb bez znaku. A po co sobie zawracać głowę takimi głupotami jw. kiedy na początku chodzi o to, żeby w pętli dodać kilka liczb, nauczyć się co to jest rekurencja i dlaczego jej unikać (tu trzeba się odwołać do niższego poziomu). Potem można się dowiedzieć, że istnieją różne algorytmy rozwiązywania problemu (np. sortowania): czym się różnią, że do niektórych zadań są lepsze i gorsze. Przynajmniej ogólnie dowiedzieć się co to jest złożoność obliczeniowa. A dopiero potem, można zejść do niższego poziomu. I jeszcze niższego. Żeby oszczędzić czas/pamięć a ostatnio energię, ale nie zmieniając klasy algorytmu (bo się nie da :dunno: ) Ale do tego trzeba umieć zapisać to co się myśli w postaci funkcji, instrukcji warunkowych, czy czego tam jeszcze dostarcza język, w którym aktualnie piszemy. Czyli najpierw: abstrakcja pętli z potrzebnymi warunkami (w głowie), a dopiero potem zapis w konkretnym języku.
Bla, bla, bla. Rozpisałem się.

Aegis Maelstrom

Cytat: Agbar w 21 Lipiec 2011, 14:55
Bla, bla, bla. Rozpisałem się.

Ależ wcale i zabrzmiałeś bardzo przekonywująco. Choć zgadzam się też z tezami MChla.

Właśnie z powodów, o których piszesz, w zamierzchłych latach 90. do nauki sugerowano takiego Turbo Pascala - który był prostym językiem, jasno zdefiniowanym, z bardzo fajnym (jak na tamte czasy) skorowidzem i opisem funkcji, z literaturą i bez problemów typu "jakim C dokładnie piszesz?" i "z których bibliotek korzystasz?". A te zagadnienia, o których wspomniałeś, jak np. myśl nad złożonością obliczeniową (dodajmy do tego pamięciożerność), jakością algorytmu (czyli np. dlaczego sortowanie bąbelkowe obsysa) i ogólony pomyślunek "co ja właściwie robię, a co chcę zrobić" to moim skromnym zdaniem właśnie podstawa dobrego programowania.

Ponieważ od moich zabaw upłynęła masa czasu, nie ośmielam się polecać konkretnego narzędzia. :) Powtórzę tylko: warto bardzo dobrze poznać język i środowisko, ale IMVHO nie warto się do niego kurczowo przywiązywać przez całe życie. Ciężko powiedzieć, jak będzie wyglądało programowanie przyszłych, opartych na mnóstwie równoległych wątków, innej elektronice, środowisku itd. maszyn za np. 20 lat. :)