Question

Start programming

Asked by: ram_einstein

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

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2005-03-29 at 08:33:56ID21368474
Tags

kdevelop

,

programming

,

start

Topic

Linux Programming

Participating Experts
4
Points
75
Comments
22

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. Borland Turbo Assembler?
    Hi... I didn't see a category for Turbo Assembler, so I'm hoping that maybe someone in the C++ group will happen to know something about it! :) Simple question: Can a Borland Turbo Assembler application handle long filenames a la Windows 95? If so, can you give an expla...
  2. OpenGL Programming
    I'm interested in learning to program OpenGL; however, I need a place to start. Can anyone give me a GOOD starting point for learning how to program OpenGL? I'm using MS Visual C++ 6.0. Thanks. 50 points will be added for the best reference.
  3. mfc in borland
    I'm using borland c++ 5.02, it seam to have all the mfc classes in /include/mfc catalog. I tryed to include afxwin.h but ended up with lots of errors. Can somebody help me get started? Most errors was can not include this, can not include that. When trying to include afxwin....

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: stefan73Posted on 2005-03-29 at 09:09:46ID: 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

 

by: gtkfreakPosted on 2005-03-29 at 09:49:29ID: 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.

 

by: ram_einsteinPosted on 2005-03-29 at 09:56:24ID: 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

 

by: ram_einsteinPosted on 2005-03-29 at 09:57:55ID: 13654578

gtkfreak: Sounds interesting. I'll try it. Thanks.

 

by: WKalataPosted on 2005-03-29 at 11:15:48ID: 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.

 

by: stefan73Posted on 2005-03-29 at 11:19:08ID: 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.

 

by: ram_einsteinPosted on 2005-03-30 at 07:25:29ID: 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

 

by: tauchrisPosted on 2005-03-31 at 14:43:52ID: 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

 

by: ram_einsteinPosted on 2005-04-01 at 07:31:28ID: 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

 

by: ram_einsteinPosted on 2005-04-01 at 07:33:30ID: 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++.

 

by: WKalataPosted on 2005-04-01 at 07:40:28ID: 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.

 

by: ram_einsteinPosted on 2005-04-01 at 07:48:09ID: 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

 

by: ram_einsteinPosted on 2005-04-01 at 08:22:57ID: 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

 

by: ram_einsteinPosted on 2005-04-01 at 08:32:19ID: 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

 

by: ram_einsteinPosted on 2005-04-01 at 08:45:10ID: 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

 

by: WKalataPosted on 2005-04-01 at 10:27:51ID: 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" :)

 

by: gtkfreakPosted on 2005-04-06 at 10:55:44ID: 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.

 

by: gtkfreakPosted on 2005-04-06 at 10:57:26ID: 13719506

One more.... you can also try out gambas. It is similar to VB, but not quite like it.
http://gambas.sourceforge.net.

 

by: ram_einsteinPosted on 2005-04-07 at 02:41:45ID: 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.

 

by: gtkfreakPosted on 2005-04-07 at 17:29:20ID: 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.

 

by: ram_einsteinPosted on 2005-04-07 at 20:35:30ID: 13733052

and yes... WKalata: I did not take your advice! man getch displays EVERYTHING. Thanks.

 

by: ram_einsteinPosted on 2005-04-10 at 09:20:58ID: 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

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...