1. Daca vrei sa inveti programare incepe cu partea de algoritmica si sa citesti o carte despre asta. Incepe cu algoritmi simpli, gen descompunerea unui numar in cifre, descompunerea in factori primi etc. Dupa ce ai inteles acesti algoritmi simpli uita-te peste structurile de date (siruri, liste simplu si dublu inlantuite, arbori, grafuri, tabele de dispersie etc), dupa ce ai facut cativa algoritmi de sortare, parcurgere al acestor structuri, si te-ai prins cam cum sta treaba treci peste cateva metode de elaborare a algoritmilor (backtracking, greedy, divide et impera, programare dinamica). Pentru aceasta parte eu iti recomand limbajele C sau Pascal. O data ce stapanesti aceste lucruri poti sa rezolvi aproape orice problema. 2. Dupa ce stii algoritmica si structuri de date calumea poti sa treci la treburi mai serioase, OOP. Pentru OOP eu iti recomand Java, C# sau Visual Basic. Eu unul sunt total impotriva C++ - lui cand vine vorba de OOP, asta in primul rand pt ca C++ nu e un limbaj pur OOP. C++ -ul nu este nici, nici (un hibrid). Dupa ce stapanesti bine notiunile de OOP, ar fi bine sa inveti si un model de programare, recomandabil MVC-ul. 3. Cand stii primele 2 chestii, invata niste retelistica, ceva programare multithreading, paradigma client server, si baze de date. Si lista ar putea continua... Dupa cum bine vezi sa stii programare nu e usor, trebuie invatat cativa ani buni pentru a deveni un programator decent. Oricum, o data ce vei stii cele din lista de mai sus, si vei vedea o bucata de cod scrisa in orice limbaj, iti va fi relativ usor sa il transcrii in oricare altul, va fi vorba doar de sintaxa. Deci cel mai important sfat e: Invata sa programezi, nu invata un limbaj de programare! Daca stii sa programezi, eu iti garantez ca in maxim 2 saptamani stii sa programezi la un nivel decent in orice limbaj existent( ma rog aproape orice cei care au vazut prolog, lisp etc stiu despre ce vorbesc