C++ je programski jezik, onda imaš kompajler koji od koda napravi izvršnu verziju. Visual C++ je RAD okruženje (okruženje za brzu izradu aplikacija) koje integriše editor, kompajler, debugger,...
Standardan ANSI C++ kod možeš prevesti bilo kojim kompajlerom pa tako dobiti i izvršne verzije za druge platforme. (GNU GCC-om, na primer, napraviš statički linkovanu Linux verziju).
Medjutim Visual C++ okruženje te ohrabruje (Wizard-i i sve ostalo) da koristiš neke biblioteke kao što su WinAPI, MFC, .Net Framework (ako je Visual Studio 7 u pitanju) pri čemu programe koji to koriste nećeš moći da prevedeš za Linux već ćeš morati da koristiš neka alternativna rešenja (moraćeš da ga port-uješ za Linux platformu).
Ukoliko imaš u planu da radiš cross-platform aplikacije onda bolje od početka koristi biblioteke koje postoje na obe platforme (wxWindows je na primer vrlo sličan MFC-u, za GUI imaš i GTKmm, FLTK,...) pa nećeš imati problema.
Za učenje mislim da je VisualC++ preveliko okruženje, tj postoji verovatnoća da će te zbuniti svojim "naprednim" funkcijama pa ćeš odustati. Zato je možda bolje da počneš sa kombinacijom čistog kompajlera, nezavisnog debuger-a i nekog lepog editora koda. (MinGW za kompajler, GDB debugger i EmEdit ili neki bolji editor koji na primer ima podršku za primitivni class-browser). Posle ćeš lako preći i u VisualStudio koliko smatraš da ti je to bolje okruženje za rad. Naravno, ovaj zadnji pasus je čisto subjektivan.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja