|Public Scratchpad||Download, Select Code To D/L|
Through this post I hope to gain information from your wisdom and experience. Keep in mind that I am in High School, and will be attending college in two years. (One of) my intended majors is computer science.
I know C/C++ (a little over two and half years with that), Perl (of course! I learned this a year ago, but didn't really start using it till this summer), and good ol' Scheme (I've used this strongly for about a year, thanks to SICP). I've been exposed to Standard ML (some real basic stuff in the SICP class I took; just enough to understand a turing award presentation/paper on parsers, I forget the author, though he's real famous; something like Baukus?)
My question that I put up for discussion is this -- What different languages do you program in, and what do you find the strengths/weaknesses of those languages are?
I'd also be interested in some information about those languages and some I'll present briefly. I know the standard comparison: "perl's good for quick prototyping...c is good for low-level things and speed." I'm interested in learning some more languages (as, like with foreign languages, I've found the more you learn about a different approach to something, the more you learn about the first approach). However, there are a lot out there, and, naturally, everyone says there's is the best.
I've been hearing a lot about Ruby, and I'm interested in going in that direction (if only for the object orientedness of it). I've also been exposed, and therefore instantly became fond of Standard ML. I think I'd like to learn about that to (especially because its a functional programming language -- also what about Haskell). However, in a maze of words that hold little meaning, I'd appreciate some guidance: Phython, smalltalk, Java, Sather, Visual Basic, Common Lisp, and hoards and hoards of more languages. (You may note that I've left out some web languages like PHP, cold fusion, etc. I don't do much web programming, but I'd be interested in this aspect to).
I have varying degrees of familiarity/knowledge of some of those languages, and greatly want some guidance on the top x to learn (where x is a number, preferably less than 50 :)
There's been some good discussion that I've found useful on this site, and I'll provide some references here.
On Ruby-- 126047,121802,38627
Ovid gets his own category-- 162711
This isn't bad either: 74449,
And this couldn't even boast being fully thought out without this wonderful link Why I like functional programming by tilly
My take on OOP is C/C++. This is because it was the first language I took, and the only real (as far as real, C/C++ and OOP go together) OOP language I've learned. I don't know it what ways C++ is lacking it terms of OOP, though I've read some posts that seem to insinuate this, so advice as to some good OOP languages would be helpful (perhaps moreso would be what makes a language object oriented)
And, of course, feel free to compare anything to Perl...
(And in case the answer is 'it depends' I'd appreciate what it depends on and certain cases spelled out, if possible. Oh, and as I'm kind of young, i.e., haven't gotten out into the job market--well, I do have a summer job, and it is with perl, happily--a description of what you do, possibly with how perl relates to it if relavent would be very informative)