?
Solved

Start programming

Posted on 2005-03-29
22
Medium Priority
?
694 Views
Last Modified: 2012-06-21
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
0
Comment
Question by:ram_einstein
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 12
  • 4
  • 3
  • +2
22 Comments
 
LVL 12

Assisted Solution

by:stefan73
stefan73 earned 80 total points
ID: 13654194
Hi ram_einstein,
There's curses, which is the Unix equivalent of DOS conio.
Try these links:
http://heather.cs.ucdavis.edu/~matloff/UnixAndC/CLanguage/Curses.pdf
http://www.gmonline.demon.co.uk/cscene/CS3/CS3-08.html
http://www.arson-network.com/index.php?class=tutorial&subargs=363

GCC is "bare-bones", it doesn't include an IDE. But if you have KDE, you can try KDevelop (http://www.kdevelop.org), which is quite good IDE.

Cheers!

Stefan
0
 
LVL 9

Assisted Solution

by:gtkfreak
gtkfreak earned 80 total points
ID: 13654508
For GUI based programming using GTK+/Gnome, you can download the Anjuta IDE from the following site:
http://www.anjuta.org

You can choose different types of projects using Anjuta. Console (non-GUI) through to GUI.
0
 
LVL 2

Author Comment

by:ram_einstein
ID: 13654564
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
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 2

Author Comment

by:ram_einstein
ID: 13654578
gtkfreak: Sounds interesting. I'll try it. Thanks.
0
 
LVL 2

Accepted Solution

by:
WKalata earned 140 total points
ID: 13655342
I've been out of the linux circle for a while as I've been employed as an IT Director for a company using Windows almost in entirety for nearly the last year, but here are some suggestions:

Anybody expecting a point-and-click development environment in linux, equatable to what they're used to with MSVC++ is in for a little bit of a disappointment.

The Eclipse project (www.eclipse.org) looks like an interesring possibility.

For the help files you seek, i'd suggest learning the man command as best as you can.  (for an example, open a console and type "man socket")  GCC is based on standards and therefor doesn't have too many help files, other than to help you with using GCC as a compiler.  The included libraries are all of c/c++'s standard libraries, with the addition of POSIX and BSD standard libraries, with the occasional GNU extension.  

The evolution of the linux programmer is just different from the evolution of the windows programmer.  The reason for the lack of comparable toolsets and environment is simply because the vast majority of linux programmers are writing their code with emacs or vim, manually writing up their own makefiles, and they tend to be very effecient at doing it.  They -DO-, however, script the living hell out of their code editors.  I would suggest becoming fluent in either vim or emacs.  I'd personally recommend vim, which has a higher learning curve but seems to be faster for me when it comes to doing what I'd like to do with an editor.  Emacs is very respectable, too, and I've seen it compared to its own miniature operating system at times.

http://www.vim.org/scripts/index.php is an official source for vim scripts.
Emacs scripts you could probably find through google.

SDL (simple directmedia layer) is another project that might give you back something you've lost, its project page is at
http://www.libsdl.org/ .

I personally have no experience working with OpenGL but I've seen some pretty nice things done with SDL.  You would have to read into it yourself to see if it is better than (or more than a frontent to) glut.

I hope my rusty knowledge has been any help to you.
0
 
LVL 12

Expert Comment

by:stefan73
ID: 13655379
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.
0
 
LVL 2

Author Comment

by:ram_einstein
ID: 13662664
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
0
 

Expert Comment

by:tauchris
ID: 13676526
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
0
 
LVL 2

Author Comment

by:ram_einstein
ID: 13681618
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
0
 
LVL 2

Author Comment

by:ram_einstein
ID: 13681637
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++.
0
 
LVL 2

Expert Comment

by:WKalata
ID: 13681691
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.
0
 
LVL 2

Author Comment

by:ram_einstein
ID: 13681746
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
0
 
LVL 2

Author Comment

by:ram_einstein
ID: 13682088
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
0
 
LVL 2

Author Comment

by:ram_einstein
ID: 13682173
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
0
 
LVL 2

Author Comment

by:ram_einstein
ID: 13682284
...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
0
 
LVL 2

Expert Comment

by:WKalata
ID: 13683082
By the way, in case you didn't take my advice on learning about the 'man' command, open a console and type "man getch" :)
0
 
LVL 9

Expert Comment

by:gtkfreak
ID: 13719482
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.
0
 
LVL 9

Expert Comment

by:gtkfreak
ID: 13719506
One more.... you can also try out gambas. It is similar to VB, but not quite like it.
http://gambas.sourceforge.net.
0
 
LVL 2

Author Comment

by:ram_einstein
ID: 13725170
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.
0
 
LVL 9

Expert Comment

by:gtkfreak
ID: 13732388
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.
0
 
LVL 2

Author Comment

by:ram_einstein
ID: 13733052
and yes... WKalata: I did not take your advice! man getch displays EVERYTHING. Thanks.
0
 
LVL 2

Author Comment

by:ram_einstein
ID: 13747972
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
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Have you ever been frustrated by having to click seven times in order to retrieve a small bit of information from the web, always the same seven clicks, scrolling down and down until you reach your target? When you know the benefits of the command l…
The purpose of this article is to fix the unknown display problem in Linux Mint operating system. After installing the OS if you see Display monitor is not recognized then we can install "MESA" utilities to fix this problem or we can install additio…
In this video, Percona Solution Engineer Dimitri Vanoverbeke discusses why you want to use at least three nodes in a database cluster. To discuss how Percona Consulting can help with your design and architecture needs for your database and infras…
How to fix incompatible JVM issue while installing Eclipse While installing Eclipse in windows, got one error like above and unable to proceed with the installation. This video describes how to successfully install Eclipse. How to solve incompa…
Suggested Courses
Course of the Month12 days, 5 hours left to enroll

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question