Link to home
Start Free TrialLog in
Avatar of ram_einstein
ram_einstein

asked on

Start programming

Hi,

I just switched from Windows XP Professional to Fedora Core 3 (fedora.redhat.com). I am quite used to the desktop, interface, applications etc. but I haven't done any programming on it yet...
I do console C++ programming that uses the DOS kernel, Win32 API programming sans MFC and OpenGL programming that uses the OpenGL framework (opengl.org). I do all this  on MSVC++ and Borland Turbo C++ 3.0.

I want to be able to do atleast two of these (forget about addressing the Linux kernel to make GUI applications for now) on my Linux platform. I demand a GOOD HELP FILE (Like in Borland Turbo C++ 3.0) and an IDE (like in MSVC++).
gcc/g++ I heard is a free cross-platform compiler distributed with Fedora but I can't figure out where the IDE and help files are. In fact, I can hardly even compile simple programs from c(k)onsole! There's one program call KDevelop but I can't figure out much of it.
... and How do I get started on OpenGL and Java on my Fedora box?

Any help is greatly appreciated.

Regards,

Ram
SOLUTION
Avatar of stefan73
stefan73
Flag of Germany image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of ram_einstein
ram_einstein

ASKER

Hi Stefan,

>> DOS conio
DOS conio? You mean the header file? It's isn't an API!

Curses is a whole new API! It has console (maybe platform too) independent functions. But I'd think twice about it because I've had some bad experiences with Glut (an OpenGL platform-independent API). Sure everything is much easier than making Win32 API calls but they don't work half as well! But I'm willing to try curses. Shall I download http://linux.tucows.com/preview/8147.html?
What about the "real" C++? It's also supposed to be platform independent you know... I should be able to write the same (or very similar) code to what I write on Windows (except Win32 API whose API is obviously not portable) and it should compile perfectly because it is setup to communicate with the Linux kernel the same way that it communicated with the Windows/DOS kernel.

>> GCC is "bare-bones", it doesn't include an IDE
Or help files? My God! I didn't believe it when people told me that. I thought there was something more to it. After all the Linux kernel was written on it. Do you know WHY it's just bare-bones? WHY is it so inconvinient? Doesn't anyone use GCC? Surely they can't do "development" without a decent IDE and help files. Anyway, I'd appreciate if if you could just give me a quick start on using it.

>> KDevelop
Yes I have KDE. I'll try that and get back to you.

... and what about OpenGL? The way you put it across, there are hardly any IDEs availible for Linux and nobody does any serious development on it. Where and how do I download the OpenGL libraries and how do I implement it?
As for Java, I know where to download the SDK (http://java.sun.com/j2se/1.4.2/download.html). I don't think I'll need any help there.

Regards,

Ram
gtkfreak: Sounds interesting. I'll try it. Thanks.
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Sure you can do development without an IDE! Welcome to the world of vi :-)

Having a full-scale IDE isn't GCC's mission (see http://gcc.gnu.org/gccmission.html for details), it's a powerful, highly portable command-line compiler. But sure, it comes with an online help: http://gcc.gnu.org/onlinedocs/

Yes, curses is a new API. But when you look at the similarities of the call names, it's plain to see the DOS guys in Redmond have "borrowed" lots of its ideas from the curses lib.
Hi WKalata,

I find your explaination very useful. Thank you. Looks like programmers on Linxu are too high-tech to use IDEs. They just use vi(m) and gcc. ...and I thought "real" development required an IDE.
... and yes. vim. I've already started learning it. Initially, I thought it was a good-for-nothing text editor without a GUI and far worse than Windows notepad. That might just change in a few days.
Forget Eclipse. If that's how programmers on Linux do it (using vi and gcc), I'll do it that way too. I might try Anjuta (gtkfreak) or KDevelop (stefan73) to get me started though.
... and what do I do with SDL??? I've downloaded the runtime library. The tutorials cover setting it up on Visual Studio 6.0 or .NET except http://cone3d.gamedev.net/cgi-bin/index.pl?page=tutorials/ogladv/tut1. I'll read it up and get back to you.

As for installing KDevelop, I'm having some other package dependency problems. Hopefully it'll be resolved soon and I'll get back to you stefan73.
... and thanks for that online doc on gcc!

Regards,

Ram
As far as HELP/documentation goes, another good source for GCC docs is the info pages that are usually installed along with the compiler.  Info pages are hyperlinked and the whole bit.  Try

> info gcc

Still not quite as convenient as the help docs commonly availble on Windoze, but you should be able to find what you need there.

Regards,
Chris
Hi all,

Please forgive me for my late response. I'm really sorry.
I'm facing a major problem in installing KDevelop. I would really appreciate it if you could help me out of it.
I have KDE desktop environment 3.4 including packages kdebase, kdelibs, arts, kdemultimedia and a few others listed on http://mirrors.isc.org/pub/kde/stable/3.4/RedHat/Fedora3/i386/
I tried downloading kdevelop but the dependency tree seems to go on forever and I ended up downlaoding 10 other packages. I then decided that yum would be the best option so I did a 'yum install kdevelop'. After churning for a few minutes and resolving the dependency tree it returned:
Error: Missing Dependency: kdelibs = 6:3.3.1-2.9.FC3 is needed by package kdelibs-devel
Error: Missing Dependency: arts = 8:1.3.1-1 is needed by package arts-devel

but I already have kdelibs-3.4.0-0.fc3 and arts-1.4.0-0.fc3 installed! Why (how) do I need to degrade to a lower version?

Please advice.

Regards,

Ram
I can't install Anjuta either because I'm on KDE not GNOME! I really wanted to get started on using an IDE before I go on the th professional "command-line" programming with vim and gcc/g++.
I would suggest going to this site on kdevelop.org
http://www.kdevelop.org/index.html?filename=3.2/download.html
and try compiling/installing from source.  You have a greater array of options and control with library search patchs and such, when using that method.
That was a quick reply! Thanks WKalta. I never compile from source because I experience hundreds of millions of errors that I can't understand usually. As a result, I HAVE NEVER successfully compiled a SINGLE program from source even thought I made 4-5 attempts with different programs. But I'll give this one a shot like you suggested. It might be my first success!

Regards,

Ram
This must be very annoying:
checking for Qt... configure: error: Qt (>= Qt 3.2) (headers and libraries) not found. Please check your installation!

qt-3.3.4-0.fc3.0.i386.rpm
qt-config-3.3.4-0.fc3.0.i386.rpm
qt-designer-3.3.4-0.fc3.0.i386.rpm
qt-devel-3.3.4-0.fc3.0.i386.rpm

are all installed! Looks like I made a BIG MISTAKE switching to KDE 3.4
All the programs are still searching for the older libraries.

Please advice.
Thank you,
Regards,

Ram
Looks like the > symbol doesn't apply to the line ">= Qt 3.2". I am in such a sticky situation! I'll ditch IDEs altogether and start on command-line programming. I'll read up on gcc/g++ right away.

Regards,

Ram
...and I forgot to thank tauchris for his tip. Thanks tauchris. Yep, in terms of convinience, nowehere close to Windoz apps. I miss the Borland compiler a lot. You can just get EXCELLENT help on a topic by right-clicking the keyword. Even getch(). Just right-click and you have a beautiful documentation on where it is defined (conio), what exactly it does, what parameters it takes and what it returns with EXCELLENT examples too!

Looks like I have look back at the Migrozoft devils for development. I also wanted to practice my assembly language for x86. I didn't mention that earlier. It's so easy with tasm and masm. But I'm not giving up yet... but I'll need your help to get past this great hurdle.

Regards,

Ram
By the way, in case you didn't take my advice on learning about the 'man' command, open a console and type "man getch" :)
Well, if you install the gnome packages in your Linux box, then you can use Anjuta. I use Anjuta for serious development. I have tried kdevelop, but gave up due it dependencies. You need QT + KDE packages to get it going.
One more.... you can also try out gambas. It is similar to VB, but not quite like it.
http://gambas.sourceforge.net.
Hi,

I'm terribly sorry for not replying in such a long time. Please forgive me.
I've been trying very hard indeed to force install KDevelop. I might go for the last option: Backup all my data and wipe. Then I can install KDevelop at the installation panel. But this process is quite cumbersome and time consuming but I really want to start developing.

gtkfreak, do I have to run a GNOME desktop for running Anjuta or is it enough if I install the files? I really hate GNOME desktop and am used to KDE :)
I'll go for Anjuta if it's easy to use. I'll try gambas: It's like Win32 (KDE or QT in this case) programming using a GUI (drag-'n'-drop controls), right?

AND HOW ON EARTH DO I GET STARTED WITH >>>OPENGL<<<
I just have to download the libraries. Where can I get it? I can mix some Linux API to get a GUI instead of going for libsdl (WKalata), right? The same way I used to mix some Win32 API with OpenGL instead of using Glut libraries for the GUI. By the way, I can still use Glut libraries in Linux. I'm quite familiar with it even though I don't like it very much.

Regards,

Ram

p.s- My comp isn't exactly in working condition so please excuse me if you don't hear from me for a few days when I'm fixing it.
Anjuta requires Gnome/GTK. You can install these. By default, Fedora Core will choose the Gnome desktop and libraries when you install it. gambas is like VB, with drag and drop. You also get a detailed help file. OpenGL libraries should be on the FC3 CDs.
Anjuta also requires devhelp, which is again on the FC3 CD.
and yes... WKalata: I did not take your advice! man getch displays EVERYTHING. Thanks.
Finally! I got KDevelop up and running (After a clean wipe). There are a variety of platform-independent APIs availible and I have EVERYTHING installed: qt, kdevelop, ncurses, libgtk, libsdl, libgl, wxwindows etc..
Where do I start? Looks like writing programs directly for the Linux kernel (like Win32 API in windows) isn't very popular. Platform independency is what these toolkits want to achieve.

Anyway, now that I have KDevelop, how do I get started with OpenGL programming? Does the gl library itself have controls to create a window, manage memory (I know it has platform independent varible types like GLuint, GLfloat, GLclamp) etc? I thought that the absence of such commands is what lead to the development of alternate toolkits for GL like OpenGraph, Glut etc. Please tell me if I'm mistaken and I'll be happy to use the functions within the gl library itself. Can I just start with a #include <gl/gl.h>, <gl/glu.h> and <gl/glaux32.h> like in windows or is there something more I have to do?

I am extremely sorry for the delay in replying and posting fresh comments.

Regards,

Ram