Re: Off topic development environment question...



Sean Murphy wrote:

> I realize this isn't a Gnome issue, but having read the list for a while, it
> seems like there are enough programmers here that someone might be able to
> answer my question, not to mention I feel like I can trust the opinions of most
> of the people on this list.
>
> I'm going to be taking a C++ class this fall.  The class will most likely be
> featuring the Microsoft Visual C++ 6.0 development environment for the majority
> of the course (since a Visual C++ CD-ROM is included with the textbook!).
> Naturally, I'd prefer not to have to reboot my machine into Windows everytime I
> need to do homework, so I'm looking for something similar for Linux.

The standard gcc compiler handles C++ just fine, and is what I used for a C++
class I just finished (although I knew C++ before-hand, I'm going to be honest,
VC6.0 is a lot easier to use than gcc).

> I'm not much of a programmer (not yet!) so I'm not sure what issues I need to
> look out for, but I would imagine that I'd need something that understands the
> concept of a C++ project (bunches of individual files that are related to each
> other for the given program objective).  Is the Visual C++ project a MS-unique
> thing, or is it a C++ standard?

No, C++ has nothing to do with that sort of stuff.  C++ is only a language.  The
rest of the stuff like Makefiles and project files are specific to certain
development environments.  Even if there was a standard, I bet you $100 Microsoft
wouldn't use it (just like Visual C++ isn't really C++: sorry, but you're getting
ripped off in your class if they use VC++ 6.0).

We have a superior technology called Makefiles, which are far more powerful than a
project file ever will be.

> Also, I would assume that most of the programming we do will be using standard
> C++ functions (and not using Microsoft Foundation Classes), but is there
> anything else I need to watch out for to make sure that my source code will
> compile correctly under either environment?  I'd hope that the source code
> would be completely OS transparent so that I can do all my development on
> Linux, then just turn it in on a Windows-formatted floppy and no one would be
> the wiser.

That works so long as you stay away from GUI's (which an introductory course damn
well should).

Last I checked, gcc doesn't really support namespaces, and it handles templates in
a much different way than VC6.0 ++.  It's rather a pain to use templates in gcc,
but its better than it was.  egcs should be even better, but I have some issues
with egcs bugs, so I stick with gcc.

> Any hints or ideas would be great!  It doesn't have to be Gnome (although that
> would definitely be preferred), it could be generic Linux, or even (gasp!)
> KDE!!

Well, if you want an IDE, the single best I know for Linux/UNIX is (gasp!) KDE's
KDevelop, although Latte (a GNOME code writer, not really an IDE in my opinion) is
getting better.

Chances are you aren't going to find free software IDE better than KDevelop for
some time, especially if you're using C++, since KDE is done in C++ and not C like
GNOME.

> TIA
>

So, to sum up:

1) gcc can do MORE C++ stuff than Visual C++ can, so you have C++ capabilities on
Linux.
2) don't even think of doing GUI programming until you are experienced, even with
RAD tools GUI's are a pain in the arse.
3) KDevelop is a nice, free IDE designed for C++, LATTE is nice general-purpose
code editor (although no where near as feature-rich as KDevelop).

I'd suggest grabbing a copy of GNU C++ for Linux, a big thick blue/black book...
I believe the author is Tom Swan.  It's a really good book on C++, and explains
the Linux development tools (console based tools, not the tools like LATTE or
KDevelop).

Maybe someday we'll have KDevelop-like real IDE for GNOME...  It's just that a lot
of the nice features of IDE's like KDevelop and VC++6.0 are only useful for C++
programmers (like those little popup windows that show all methods/members of a
class instance, along with their access privileges and parent classes, damn useful
for newbies to programming) and GNOME programmers tend to be a C++ lot for the
most part...

One more note, I never use an IDE, I do everything in a gnome-terminal with VIM.
I still think that's the most powerful development environment you'll ever find.
However, if you need an IDE, I think I've made my point clear on that matter...
~,^  Do try to learn the terminal a bit, though, you'll have an incredable amount
of power at your fingertips if you do.  There are things a terminal can do that a
GUI never can, and a lots of things are just easier in a terminal (like grep...)

Sean Middleditch

>
> _______________________________________________
> gnome-list mailing list
> gnome-list@gnome.org
> http://mail.gnome.org/mailman/listinfo/gnome-list






[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]