I’m hoping to start learning Linux programming and I’m thinking of installing Redhat Linux (I’ve never used Linux before). So I have few questions. Could anyone please give me some information?
* What C++ compiler must I have on Redhat?
* Where can I find Linux programming lessons and tutorials?
* Are there any programming references like msdn for Linux?
g++ is the compiler you want. How advaned are you in regular c++? If you arent' then the tutorials will be the same until you get to some advanced OS specific ideas. The man pages are the best references(man is a program on most UNIX platforms). Linux doesn't usually use advanced c++ only advanced c. A good open-source book is http://www.advancedlinuxprogramming.com/
Thanks for the info.
Sorry, another little question: I’ve heard they saying that, when we are programming on Windows and Mackintosh we find barriers, which prevent us from learning things. Because RedHat is also a graphical system, do we encounter the same problem? Is it better to install just the text based Linux?
install the GUI.
And i wouldnt go for an old RedHat distro, use the free Fedora distro redhat ships. The current stable release is Fedora Core 2 though Core 3 should be out soon.
I would recommend insatlling Mandrake 10 - IMO much nicer then redhat and many others; as well as unbelievably simple and user friendly.
If you're new to linux, I'd recommend Mandrake or SuSE. Both are great distros for newer users. Regardless of which distro you decide upon, usually they come packaged with g++ already installed, and a plethora of dev utils and IDE's to work with. Just be sure to check with the distro's website/documentation (for example SuSE's personal edition and live CD doesn't have g++/gcc packaged with it, but SuSE Professional does).
In workplace, if you guys use *nix, do you program in gui (i.e. kdevelop) as well? instead of all text mode?
>>do you program in gui (i.e. kdevelop) as well? instead of all text mode?<<
The only time I use linux to program is if I'm developing a Linux/Unix app or doing something else in C - almost everything else is done on VC++ and Eclipse of WinXP. When I do program on Linux it is strictly emacs :)
If I'm writing small apps, typically I use Kate (if I'm using KDE) which is the editor KDevelop uses, or jedit if I'm using any other desktop environment. And emacs if nothing else available (emacs and vi are two tools I'd strongly recommend getting to know well).
For larger applications or projects, I'll use KDevelop (KDE) or Anjuta (gnome).