Reputation: 14387
I am new (in a way) to C++ programming. I would like to start doing development in Linux using C and/or C++ as programming languages. I have done some development for a while in Java.
Unfortunately I am not sure where to start. Can you point me to some good resources, and also give me an outline as to what would be the primary difference between C and C++ in Windows and Linux?
Any special steps I need to do to get started? Also any good IDEs. I plan to use Eclipse currently. I am using Kubuntu (version 9.x).
Upvotes: 3
Views: 768
Reputation: 9801
IDE Eclipse is very good as a starting point. The new CDT provides a completely set up environment. Just be sure to install gcc and gdb before trying out anything. And don't use the eclipse in the ubuntu repos, download a current release.
Difference Windows/Linux: The language standard is completely the same in both worlds. (Compiler implementations vary in fullfillment of the standard, but you shouldn't notice anything in the beginning.) If you stick to cross-platform tools, compiler(gcc/mingw), ide and debugger it can stay this way. (I imply that the obvious differences, like .so s and .dlls and stuff are known) If you move over to other compilers and library implementations (MSVisualC++ for instance) it can get interesting in the advanced stages, but it shouldn't be too difficult to bridge the gaps.
Good/essential libs to know: the stl, boost, and maybe for productivity and ease in the beginning: qt. These are as platform independent and generally useful as possible. Know them, and they are usable through your complete c++ lifetime. (Don't make the mistake to want to learn it all in one go, just go step by step. Don't try template programming in the beginning, it is mind-boggling ;) but using templates is fun)
Upvotes: 2
Reputation: 1120
It is good that you are using a Linux platform as it will help you to program as per the C and C++ standards.
I would recommend
vi
/vim
--> text editor
gcc
--> C compiler
g++
--> C++ compiler
gdb
--> Command line debugger
ddd
--> GUI debugger
I use the above mentioned tools. If you are hell-bent on IDEs, you can use the ones mentioned by Chen Levy
Upvotes: 4
Reputation: 11694
If you have done development in Java, then you can start with any tutorial on the internet. There are literally hundreds of them!
I don't expect it to be hard since you have a Java background.
Here is a nice tutorial on CPlusPlus.com.
Also, check out this question on StackOverflow: The definitive C book guide and list.
Upvotes: 3
Reputation: 95
IDE / Editor I think with Eclipse you can quite good start with. I perfer emacs and use of the command line tools of gcc. Why? I think you learn more of the basics how they work.
Good libs: STL, QT, boost with these tree you have the ability to create/develop most of the parts you like or you need.
In my opinion very important is that you stuck (in the beginning) to the libray you selected. And also to the IDE/editor.
Starting point: As earlier mentioned Thinking in C++, Second edition (Volume 1 &2) by Bruce Eckel. He trys to explain the difference between C and C++. In volume 1 he explains the basics of C++ and in volume 2 he introduces some parts of the STL.
Another usefull ressource for me was C++ FAQ lite Here you can find a lot of usefull tipps.
Upvotes: 1
Reputation: 1316
If you will ever want some library good places to start are sourceforge.net and freshmeat.net
Upvotes: 0
Reputation: 16338
IDEs:
Books:
Brose standard libraries:
Upvotes: 6