From: Damphyr Date: 2006-11-24T03:38:31+09:00 Subject: Re: Ruby vs Java vs c++ It seems that questions of this type always degenerate into a pro/contra between programming languages for various application domains. There is always going to be a difference of opinion as to which language is suited for a particular task with majorities agreeing on specific languages. What I miss in these discussions, especially when someone new to programming is asking is something that is obvious for me: If you want to be a programmer (or a software engineer) you *have* to now more than one language. If you want an analogy, take painting: Sure you can paint using color markers, but in order to be a painter you should know how to paint with coal, oil paints, temperas, pencils etc. Knowing a set of languages gives you the choice of the right tool for the right job but more importantly it gives you the knowledge and different perspectives to know which tool is the right one. It is my belief that to get a good grasp of software design and the principles behind good, solid software you need to learn more than one language. So I would say start learning C++ *and* Ruby, throw in C# to get to know the world of strong statically typed objects and don't stop. There's C (someone finally separate C from C++ in the minds of programmers. I've seen too many C programs claiming to be C++ just because they used cout) and Pascal, Visual Basic (bliach! although VB9 promises to resemble a proper language), Perl, Python (although for some people it's a mutialy exclusive relationship between Python and Ruby), Lua and lots more. Cheers, V.- -- http://www.braveworld.net/riva