View Full Version : Just some questions to developers.

23rd May 2004, 12:14 AM
I'm a fairly well educated developer. I've only really done development in Windows and DOS(Oh don't ask...) and I would really like to start developing for Linux.

However, since I'd really like to just jump right in and not take a whole lot of time searching(so I can give back to the Linux community right away), are there any sites dedicated to Linux Development Tutorials at different stages.

Any suggestions are welcome. :-)

This might even be a good place to help people who just want to start development and know very little or absolutely nothin'... Just a thought.

23rd May 2004, 03:38 AM
That's an awfully broad question, so I'll throw a butt-load back at ya:

What do you want to develop? What language do you want to attempt to do it in? What language(s) are you most comfortable with? What type of application(s) have you developed in the past? Do you want to start your own or work on an on-going project (there's plenty that can use help)?

Working on Linux systems is a two-edged sword: there's an incredible amount of freedom to choose the answers to the above questions; the down-side is that at some point, you have to answer the durn questions!

(Me? I'm a Java weenie - and Java on *nix systems is just peach!)

23rd May 2004, 03:52 PM
Sorry, I never really thought about those questions when I posted, or I'd of mentioned this... lol

Well, I've done some Development in C/C++, Perl(Strictly web development, but it wasn't a simple webpage. :-) ) and I've looked at and played with a few other languages, but never really liked them as much as those 3.

I've developed quite a few things from some Multimedia Applications to Games to small programs to replace things in Windows that I thought could have been done better. I've even started to develop my own OS, but got lost in other things that were more important and then the project got abandoned(BTW: I plan on goin' back to it when I'm 100% with Linux). I like doin' Network based applications. I've done some LAN based IM Systems so some friends and I can talk at school, and some Network Monitoring/Control Systems because I've always really had more than one computer in my control. So I was plannin' on addapting them to LAN/WAN and develop Servers for Linux and Windows aswell as clients for Linux and Windows.

A questions... Is it possible to create one program, and have it run on Linux or Windows? What I mean is, would I be able to create a compiled version and have it run on either Windows or Linux...? I know that with Development Packages, I can set it up to compile for just about anything I want according to a config(Linux) and defined versions(Windows), but I mean just one program someone(more than likely someone who knows very little or nothing at all about programming) and they can run it on their favourite OS without much of a hassle or configuration change.

Basically, I'm looking to develop anything that I think would have a great deal of interest in Linux. Perhaps make additions to some projects that I think might be a good idea, and eventually when I'm comfortable enough with programming in Linux, I'll start helpin' out with some projects out there and maybe even dive in and start some Kernel Development.

You say Java on *nix systems is just peach... since Java and C++ are similar in Syntax, perhaps I could start development in both and maybe even develop programs in both languages. Although, I'm not 100% sure how possible that is, until recently I've only really known Java to be an online sort of thing.

At first, I'm really only going to do development for Fedora(not really sure how cross compatible the distros are for GUI based applications) but later on, I'd like to develop for most distros of Linux.

I hope this is enough to get some help so I can get started. I appologize if this is a bit more than you need, but I figured if I tried to answer questions that were to come it'd save a bit of time.

Thanks for the help, I really appreciate it crackers. :-)

23rd May 2004, 05:54 PM
Heh - I wasn't exactly expecting an in-depth answer to those questions. Those are questions you need to ask yourself as you proceed - which then quides your search for answers. But, since you asked...

If you want OS code-independence for GUI programs, many of the toolkits (QT, GTK, wxWindows, etc.) have binaries for different OSs, so you can write your C/C++ code for them. Keep in mind that you can't get binary compatibility, of course -- you'd have to supply binaries for each OS.

Your misconception that "Java is an on-line thing" is oh-so-very wrong: Java, especially since 1.4, is completely suitable for anything (well, except for stuff like high-performance number-crunching), including GUI apps. A lot of the UI performance problems of the past have been pretty much eliminated; there have been some hotly debated studies on the "performance" of Java/Swing vs. "native" code, but just keep in mind that most UIs are in a "wait" state 90% of the time (waiting on the user, that is). As for non-UI, ever heard of BEA WebLogic or IBM WebSphere? Y'know, Enterprise servers? They're 98% Java.

As for distribution compatibility, you're getting a bit out of my depth as I haven't written a C program in over 6 years, but there are facilities for handling this (automake comes to mind). And there are development "environments" (like kdevelop, qtdesigner, glade) that help speed things up.

No matter what, though, you'll have to do a bit of research on your own to find exactly what you want/need.

23rd May 2004, 06:20 PM
Alright, thanks for the help man.

You've quite nicely answered my questions which will help refine my search considerably.

Would it be alright, if I decide to do some development for Java, if I came to you with some questions? Like more privately? 'cause I'm pretty sure some of my questions will really only be catered for me and will be of very little or no help to others...

I really appreciate all your help. :-)

24th May 2004, 01:11 AM
Sure, but if you haven't gone through (at least) the Java tutorial at java.sun.com, I'll get snippy... :D

24th May 2004, 01:27 AM
They'll be intelligent questions. And they won't exactly be how do you make an for loop or anything... it'd probably be questions about development environments for *nix...

But, we'll cross that bridge if we get there.

Thanks for your help, and the probable help in the future. lol :-)

24th May 2004, 04:14 AM
One piece of pre-advice: do NOT start learning Java with an IDE. Do it from a command-line terminal and with a simple text editor. If it does syntax coloring, that's okay. But you don't want to learn an IDE, you want to learn the language. And the best way to do that is with the Tutorial and a local/remote copy of the J2SE API documentation (the best resource in the world for Java).

24th May 2004, 06:55 PM
I'm just lookin' at the java.sun.com website... and I noticed the J2SE and J2EE and J2ME... Is it safe to assume that the J2SE is strictly for development of Desktop applications, like Games and Multimedia, and J2EE is for Server and Internet stuff...? While J2ME is for Mobile Devices...?

I'm just curious. I've wored with Java before in school(very very basic stuff) and I never noticed the different... Javas?

Thanks. :-)

25th May 2004, 04:35 AM
Originally posted by Nefarious
Is it safe to assume that the J2SE is strictly for development of Desktop applications, like Games and Multimedia, and J2EE is for Server and Internet stuff...? While J2ME is for Mobile Devices...?

Close, but not quite. J2SE is the Stanard Edition, which is the core of Java. It includes all of the base classes to do anything, plus desktop widgets (Swing), graphics capabilities (like Graphics2D), and networking (io, net, nio). J2EE is the Enterprise Edition and defines the API for building application servers and enterprise applications (servlets/JSP, EJBs, JMS, etc.) and is an extension to the core. You got J2ME correct, but it's actually not an extension because there are several core Java items (like Swing) that won't fit on mobile devices.

I never noticed the different... Javas?

Lots of flavors, yes... But it all starts with SE.