I wish to learn C++ and before jumping in I would like to understand something, just to begin following the right path.
1) I have read almost anywhere that C++ language is quite difficult. The type of programs I wish to design are for personal use and mainly focus on data elaboration, like db front ends (so listbox, text imput boxex and input validation such as dates/numbers, some report, sql statements that i already know). I am not interested in creating programs that involve hardware, utility, games,graphics and so on. will this made c++ more easy to learn?
2) I have seen from the wikipedia list of c++ compilars that there is a wide choice to choose from. I understood that some of them permits to graphically create the user interface inside adn IDE, some others not. I wonder if I learn to use Visual C++, will I be able, at least with just more few effort, to use also some different compilar like C++ Builder, or Codewarrior, XCode or even GCC?
3) By learning C++ under win, will permit me to program under other platform suh as Linux, osx, unix, and so on?
4) is there a c++ tool you suggest me to begin with. In the meanwhile I have downloaded Visual Studio express and the trial version of C++ Builder for windows.
1) There are libraries that you can use for specific projects. For example, you're looking to work with databases; SQL[1, SQL] is used for just that and let's say you're looking to work with graphics; OpenGL and DirectX are available.
2) Microsoft's Visual C++ compiler does provide GUI-building features, as you said. While this is all good, Qt[2, Qt] (another GUI-building IDE) is floating around which can be used with most of the main-stream compilers such as GNUG and Microsoft's Visual C++; therefore you're not forced to use 1 specific compiler for GUI construction.
3) No. Operating systems have different architectures. Some compilers allow your program to be build for different platforms. However, this does not mean everything you write in terms of code is cross-platform. If you're ever unsure about what might be problematic when porting your software to another architecture, just post a new question on one of the appropriate boards.
4) The only thing I can suggest to you is buy a good C++ book. Forget about using third-party libraries for now as they'll only get in your way. I recommend the following books:-
● The C++ Programming Language by Bjarne Stroustrup.
● C++ Primer 4th Ed. or the latest Ed.
● Programming Practices and Principles Using C++ by Bjarne Stroustrup
And then when you advance, I recommend the following books:-
● Exception C++ by Herb Sutter
● More Exceptional C++ by Herb Sutter
● Effective C++ by Scott Meyers
● More Effective C++ by Scott Meyers