Phu, Veljo, sad si ga bas ...
Problem je u tome sto se ucenje programiranja ne svodi na izbor odnosno ucenje jednog jezika. Naravno, niko tebe kao pocetnika ne krivi za takav predumisljaj. Postoje mnoge slicnosti (leksicke, smislene, itd) izmedju govornih jezika i programskih jezika, pa je mozda najbolje da iskoristim tu paralelu: ako si pisac, ti pises pesmu ili knjigu i vrlo je vazno da umes da pises ta dela, a ona sama se mogu vrlo lako napisati na raznim jezicima. I obratno, neko moze da barata razlicitim jezicima, a da bude izraziti antitalenat za tako neku kreativnu aktivnost. Tako je i kod programiranja; ima tu dosta da se nauci glede programerskih tehnika i tehnologija, koje su primenjive na sve te jezike, dok je sam jezik puka alatka kojom izrazavas to sto si zamislio u glavi. Znaci, programersko znanje iznad znanja samog jezika po vaznosti (svako ume da pogleda u help kada mu zafali sintaksa neke funkcije, ali kad ne umes da resis problem, to je druga prica) za pocetak.
No, od necega se mora poceti. Svi jezici imaju svojih nekih prednosti i mana. Na primer, C++ je vrlo mocan, ali je pocetnicima ponekad nerazumljiv. Pogotovo kad neki iskusni programer napise lepu sintaksnu trakavicu u dva reda, sto bi neko drugi sigurno razbio na bar 5-6 razumljivijih linija. U principu, svakim od tih jezika (ne i skript-jezika) bi trebalo da mozes da uradis istu stvar, isti zadatak (ili bar dobrano iznad 90% zadataka). Sve te implementacije su prosirive razno-raznim bibliotekama, koje su uglavnom raspolozive za sve njih (ili bar za one najcesce koriscene). Tako mozes lepo da C++om, Javom, VBom, Delphijem, ... programiras koristeci Win API ili OpenGL biblioteke, itd. No, ne treba biti "rob" jezika. Na primer, ukoliko zelis da uradis neku automatizaciju nad office dokumentima, nema smisla sada otvarati svoj Delphi ili C++ i raditi to "peske", kada postoji VBA ugradjen u office koji ce ti najbrze i najjednostavnije zavrsiti posao (tvoj vreme kao programera bi trebalo ipak da bude visoko na lestvici prioriteta).
Pitanje koje se tu sad postavlja je: sta ti od programiranja trazis i koliko nudis zauzvrat. Tj. koliko si spreman da se posvetis ucenju, koliko kasnije hoces da programiras, koje oblasti, koliko "duboko" zelis (ili moras) da ides, itd.
Za neko programiranje "povremeno", dakle da napravis sam sebi poneki program (radis uglavnom sam), drzis se nekih bazica, ofisa, sve u windows okolini, onda ti je VB (ili recimo Delphi) dovoljan i savrsen izbor. Ukoliko zelis bas da ugazis u programiranje, da posle trazis posao kao profi programer, ja bih ti izabrao C++ ili Javu (bez obzira na proizvodjaca) zbog zastupljenosti na razlicitim platformama, OS-ovima, zato sto su to jezici (posebno C++) za koje se tradicionalno odlucuju profesionalci (takoreci mainstream u tim krugovima) pa zato za njih prvo izlaze razne biblioteke, dodaci, alati i slicno.
Knjige su malo nezgodna stvar; posto tek pocinjes, niko ne moze da zna koliko ce to tebi "glatko" da ide i kakvo predznanje imas; neki idu lagano i u detalje, dok drugi "gutaju" knjigu u par dana. Mozda je najbolje da odes u knjizaru i prolistas knjige; za prvi kontakt je najbolja ona knjiga koja ce te na
razumljiv nacin uvesti u osnove - ne mora uopste da pokriva sve oblasti. Kako ides dalje sa knjigom, nailazices na oblasti koje su manje ili vise jasne ili ces i sam osecati da na nekim mestima nesto "fali", pa je onda dalje lako preporuciti literaturu. Slicno je i sa izborom jezika i proizvodjaca jezika - kako ces ici dublje i dublje, polako ces razvijati svoje afinitete i znaces i sam sta hoces (a ne da ti mi ovde namecemo svoje).
Posto ni jedna knjiga ne moze sve da pokrije, ja bih ti savetovao sledecu strategiju: uzmimo za primer da si se odlucio (recimo) za C++; uzeo bih tri knjige za pocetak (ne neophodno i istog dana

) :
- jednu koja se dira cistog, tzv. ANSI C++ jezika, jer te ne opeterecuje raznim bibliotekama, frameworkovima i slicno. Ostavi na stranu i MFC i VCL i API i Qt i sve ostale skracenice - ova knjiga bi trebala da ima fokus na samom, cistom C++ jeziku. Ovom knjigom bi iskristalisao sintaksu.
- jednu knjigu koja se bavi programerskim tehnikama, algoritmima i slicno. Ovo je materija nezavisna od jezika uopste i trebalo bi da te uci polako da razmisljas "programerski"; kako da lako i brzo resis neke probleme, kako da formiras resenje. Hiljade i hiljade drugih programera su se vec bavile tim svim stvarima i nasli su neka optimalna resenja, pa nema potrebe da otkrivas rupu na saksiji - ustedece ti mnogo truda i vremena. Ovom knjigom bi trebalo da iskristalises logicko razumevanje.
- treca bi knjiga bila bas konkretno za alat koji si odlucio da vezbas - Visual C++ ili Borland CppBuilder ili GNU ili nesto deseto. Ovakve "za 21 dan" ili "u 3 lekcije bez muke" knjige ce te obicno nauciti kako da stavis dugme na formu i kako da 'napises' proceduru koju ce program da okida svaki put kada se dugme pritisne. Na zalost, one cesto ne odmaknu mnogo od tog nivoa i cesto ubace u igru sve gorepomenute biblioteke i tehnologije (vise da bi pohvalile kako je taj alat mocan i moderan) i to cesto ume da bude zbunjujuce i/ili da odvrati paznju. Zato bih i savetovao da se pocne sa prve dve knjige (fakticki paralelno) pa onda nije problem da predjes na ovaku "specijalizaciju" za odredjen alat, jer bi u tom trenutku trebao sasvim jasno da razlikujes sta je sta.