PDA

View Full Version : Development in Fedora



zylr
12th August 2004, 11:22 PM
Ok, ive been working in linux fo a while, but im a Fedora newbie :cool: .
Im just wondering what you guys are using in terms of languages / editors(ide's) in Fedora.
Im looking for a language to do programming in Fedora (and, well all of linux).
I want something that does not tie me down to Linux (works on windows and/or mac (but the main purpose is for Linux development)
Ive used these languages before:
PHP,
Python,
a bit of Perl.
a verrry small bit of C++

Im wondering if any of those languages (or others, im always open to new ideas :))
Of course, not PHP.
Im looking to do GUIs and CLIs, maybe with glade.

Thanks!

crackers
13th August 2004, 04:04 AM
Java is probably one of the best choices for doing cross-platform programming, unless you need raw speed (like for First-Person Shooter games) for extreme graphics. If that's what you want, then you'll have to stick to C/C++ and try to find a compatable graphics library (good luck).

If you want to learn any new programming language, always start with a simple text editor and the command-line tools. This way you learn the language. If you start with an IDE, you end up learning the IDE, not the language itself. Once you've gotten familiar with the quirks of the language and how it behaves with the system, then start looking at IDEs.

Bana
13th August 2004, 08:41 AM
If you look around the Fedora environment you will notice that a large majority of the programs and underlying features are based off of two languages python
C/C++So if your main goal is to be using a language that is usable in Fedora (IE: supported) then it is probably best to stick with the grain. I find python and C++ to be very useful for very different things. Both are heavily documented with large amounts of popular and feature packed libraries (or modules) that allow them to overlap quite a bit. Think you can't do graphics/physics in python? Think again. (http://i31www.ira.uka.de/~baas/pyode/pyode_tut3.avi) And the same goes for C++. Generally it comes down to what you are more comfortable with and what you intend the final product for. If it is production level compiled-binary-necessary kind of project, then C++ will be your one and only companion, but if you want something that will be readable to you and others, along with being easier and faster to write, then python is a very strong competitor.

Although in general, C++ is the way of the present. It is unrivaled in its userbase and will port easily enough depending on what libraries you use (Ogre3d, GTK, and others make it easy enough). And I agree with crackers in that you should start with text and command line at first (and start small).

GL and HTH

crackers
14th August 2004, 03:43 AM
Well, I am a bit biased... ;)

Bana
14th August 2004, 04:34 AM
Tsk tsk :rolleyes: you shouldn't reply unless you are ... ermm.. what I meant to say is ... :o ... it appears that I am biased a bit too, considering I am a developer for a open source project that uses C++ and Ogre3d. :p

crackers
14th August 2004, 06:56 PM
Actually, my point of view is "whatever works best for you and the project." I don't do extreme 3D, more application/data and "backend" (server), so Java rocks along quite well.

Although I did do a "GUI" widget set for this kind of stuff many years ago in C++ using ncurses. Does that count? ;)

zylr
16th August 2004, 04:30 AM
Thanks... I think python is the way to go. With stuff like WinPython and MacPython, its gonna work all over the place (and for those windows n00bs that think they are so good, i can make exe's with Py2Exe...)
But, java may be something to consider. Ive used it before, for a very short while. I tried to make a 'chat server' with it, but i gave up when i kept getting null pointer errors :confused:
Then i did the same thing in python using TwistedMatrix, took about 30 min :)
Crackers: good point about the whole "learn the language, then use an ide". Have you ever seen Visual Basic 6? Its not coding, its clicking on the popups and guesswork...
About python though, ive never thought about it... Is there a way to hide your code? I guess its not the language you want to write a 1024 bit encryption for banks in
:eek:
Thanks for all your help :)

crackers
17th August 2004, 03:35 AM
Crackers: good point about the whole "learn the language, then use an ide". Have you ever seen Visual Basic 6? Its not coding, its clicking on the popups and guesswork...
Nope, but I did some VB 3 - and I hang my head in shame each time I mention it. I ended up having to call into the Windows SDK to get some of the display-crap looking/working right, and that was a real nightmare.

And one of the reasons I harp on "language first, IDE much later" is because I fell into that trap: I "learned" Java using Cafe (1.0, fyi) and when I tried to get the program to run on another computer, I simply couldn't get it going. So I went back to basics and learned the missing info (like ClassPath and packages and .jar files). Once bitten, twice shy.

PompeyBlue
17th August 2004, 09:43 AM
But C++ seems to have almost become the industry standard with Java being a far off second. AFAIK Java is only really used in places where you have no other choice (mobile phones, web pages)

As for cross platform, if you use GLUT & C++ then you'll have your code work on Linux & wintel systems.

Although, when it comes down to it, I think you really need to ask yourself why you need cross platform code ? Sure it's a neat feature, and for industrial engineering projects I always provide it (never know when a publisher may require you to support another platform), but for homebrew coding ?

As long as you abstract away all platform dependant code into a nice API, then you should just be able to write a C++ driver for whatever other platform you want to support, but although I've sort of half way gone platform independant for homebrew, I don't think I've ever used it.

crackers
18th August 2004, 05:14 AM
AFAIK Java is only really used in places where you have no other choice (mobile phones, web pages)
Consigning Java to "no other choice" environments is so outgrageously incorrect that it's almost silly. And I'm quite sure that IBM, BEA, Sun, Fujitsu, and a host of other folks would also disagree with your assessement most vehemently.

I'm not going to debate the relative merits of each, but each has it's own purpose and use. I'd suggest you either rethink your assumptions or do a heck of a lot more reading... ;)

PompeyBlue
7th September 2004, 12:17 PM
Consigning Java to "no other choice" environments is so outgrageously incorrect that it's almost silly. And I'm quite sure that IBM, BEA, Sun, Fujitsu, and a host of other folks would also disagree with your assessement most vehemently.

I'm not going to debate the relative merits of each, but each has it's own purpose and use. I'd suggest you either rethink your assumptions or do a heck of a lot more reading... ;)

Hey,

I'm just going from my experience. I've only ever come across 1 project which was Java based when choice was available. Apart from that every project I've been involved in, or read post-mortems on, has been C++ based.

Not saying "this is it, that's the way, no debate", I could well be talking utter bollocks (I admit I haven't interviewed every project manager in the world :) ).

That's just my experience....

crackers
8th September 2004, 05:21 AM
In my experience (which I won't detail here - it'd take all night just to upload my "full-blown" resume' :D), what you see in each environment is what was established as the default development language, given the various constraints. In your case, you've seen shops that have standardized on C/C++.

In my latest work environment, we (successfully but very painfully) transitioned from Perl to Java (for the J2EE thang). We have no C/C++ development work, and a token C# team (from an acquisition) that's being integrated and then replaced with a Java-based system. Oh, and 3 guys are stuck maintaining the remains of the legacy Perl system.

Granted, the vast majority of projects are still done in C/C++, but Java has an extremely healthy chunk of the pie. (We won't mention stuff still lingering in VB-land...)

jcstille
14th September 2004, 02:31 AM
I am java through and through. It is just cross compatible (for the most part), great use of OO and will reall help you learn other langueges the right way.