In article <b4gklc$o21$1 / nntp-stjh-01-01.rogers.nf.net>,
anonimous <n.thomp / roadrunner.nf.net> wrote:
>I have abour 3 or 4 years experience with Linux, and about 2 years
>experience with Java, recently though I decided to quit learning Java
>because I found it rather slow and lacking, the biggest problem is that Sun
>Microsystems made to many libraries for some functions and not enough for
>other functions, they also have quite a few bugs that are noticable when one
>tries to apply custom effects to GUI's such as setting colours with
>.setBackground() and .setForeground() forsetting the colours. I am now
>looking for one or two alternative programming languages to replace Java, I
>am mostly interested in C, C++, Ruby, Python and Perl. What I would like to
>know is which one would be better off in your opinion(s), one of the things
>I concider important in a programming language is weather or not its good
>enough to get me a job in programming. I look forward to your reply(s) :-)
>

Welcome,

Of course we're pretty biased toward Ruby being your next programming 
language ;-)

I think you'll find Ruby's libraries a lot more compact than Java's.  
Also, you'll generally find that you can do the same program in Ruby with 
about 1/2 to 1/3 of the lines as the equivlient Java program (with no hit 
to readability as you would have in Perl).

Now as to your point about which language to learn in order to find a job 
in programming: 
1) Right now there aren't many jobs in programming and there are lots of 
_very_ experienced folks out there who know several of the languages you 
list (quite well) and are not finding work.... so in the short term, don't 
expect to find a job in programming unless you've got several years of 
experience - you're competing against folks who have lots of experience.
2) After reading and considering #1, learn C++ - when the job market does 
eventually return (someyear - a year ago I said "In a year", now I make no 
predictions other than it definately won't be anytime this year.)  Knowing 
C++ still gets you into the most number of places.
3) Now, after considering #2, forget about which programming language will 
get you a job and think about which programming language will cause you to 
learn something about the practice of programming.  I would suggest that 
Ruby is an excellent choice for this. (and one can argue that you've got 
plenty of time to do this)  You'll definately learn object oriented 
programming with Ruby and it will definately have a different flavor than 
OO programming you've dont in Java because Ruby isn't statically typed.  
OO programming in Ruby 'feels' much different than it does in C++ or Java 
and it's a very positive feeling, IMHO.  [That's not to say that there are 
no Ruby jobs out there, but the number of jobs that list Ruby as a 
requirement is still very small.  However, I've found Ruby in lots of 
places where I didn't expect to find it - Ruby is being snuk in the 
backdoor at lots of places kind of like Perl was 8-10 years ago.]

You mention that Java is slow.  I'm assuming you mean that programs 
written in Java are slow to execute.  You definately won't find Ruby 
faster than Java for most things.  However, it's quite easy to write 
extentions for Ruby in C/C++ (another reason to learn C/C++) such that you 
use C/C++ for speed critical parts of your code and Ruby for the parts you 
want ot develop quickly.

Phil