tags:

views:

210

answers:

7

Hi all.

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 language. I have done a 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 a outline as to what would be the primary difference beween C and C++ in windows and Linux?

Any special steps I need to do to get started? Also any good IDE. (I plan to use Eclipse currently).

I am using Kubuntu (version 9.X)

Cheers

+1  A: 

If you have done development in java then you can start with any tutorial on the net. there are hundreds of them. I dont expect it to be hard since you have a java background

here also check

Umair Ahmed
Actually, I've found that students with a Java background had quite a hard time to learn C++. It seems Java is close enough to C++ to let you fall into the trap of trying to use the idioms you're used to -- which, of course, often won't work in C++. Also, Java blurs/hides some important concepts (object/reference-to-object, pass-per-value/pass-per-reference stack/heap etc.) that students will have to learn once they learn C++. Those might be easier to understand if they're taught correctly earlier, before you had time to make up your own, wrong model of this.
sbi
+3  A: 

not a duplicate but a good question to check out is c-ide-for-linux. (This came up as related question)

stefaanv
+3  A: 

It is good that you are going in for a linux platform.It will help you to program as per the c/c++ standards.

I would recommend

vi/vim ----> text editor

gcc -------> C compiler

g++ -------> C++ compiler

gdb ------> command line debugger

ddd ------> graphical version of gdb

I use the abovementioned tools. If you are hellbent on ide's you can use the ones mentioned by Chen Levy.

rocknroll
vi? are you serious? for a beginner? come on!
AndreasT
Why are u surprised AT? The first thing I learned on a Linux machine was vi and I don't think much of myself, so if I can do it, others can surely do much better.
rocknroll
@rocknroll, keep in mind that this is a beginner who needs to learn how to write, compile, link and debug C++ code. Having to learn Vi on top of that would probably only lead to discouragement. I love Vim myself, but I learned it long after having become a professional C++ programmer.
StackedCrooked
A: 

If you will ever want some library good places to start are sourceforge.net and freshmeat.net

maykeye
+2  A: 

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++ livetime. (Don't make the mistake to wnat 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)

AndreasT
A: 

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.

BtD