From: Brian Mitchell Date: 2005-09-19T07:12:14+09:00 Subject: Re: Language recommendations from ruby persons.... On 9/18/05, Greg Lorriman wrote: > Dear sirs and madames, > > I've thrown myself into ruby and I'm having a pleasant time. > > Now I am looking to find another language to learn with three features, two > of which Ruby has, and I am looking for your words of advice and guidance. > > The features I am looking for are > > 1)enjoyableness > 2)practicalness > 3)alternativeness > > with a decent nod to > > 4)not so long a learning curve (hey, I'm from the TV generation; I need > instant kicks). > > Ruby does the first two, but now I want to cruise into other dimensions, and > ruby isn't really weird and alternative enough. > > I really would like something that makes me think in a very different > manner, and is excellent at solving a range of problems that imperative > languages are not too good at. I would like to be using it a lot for > real-world stuff, like I am Ruby and Delphi. > > Now because you guys are tuned to enjoyableness, and probably have a measure > of appreciation of the need for practicality I am hoping that you might give > me some commentary on what you think might be worth looking at. > > I've vaguely looked at Ocaml, Heskel, Scheme, Mercury. (Lisp would seem to > wander too far away from simplicity which I reckon probably impacts > enjoyableness, but then someone has said that OCaml isn't so simple but is > very enjoyable; so you can see why I haven't listed simplicity as a > requirement.). I doubt I can go too far off the mainstream since requirement > 2 would be impacted. So if anyone wishes to comment on the usual > 'alternative' languages, as well as exotic stuff from other galaxies, then I > am very interested. > > Of course I have no experience in any of these. I also see little in the way > of languages being compared for enjoyableness. I don't care for performance > tables since performance only solves one problem which Intel and AMD can > solve for me, and I'm more interested in the infinite number of other > problems. > > Grateful for any of your wonderful and marvellous thoughts, > > Greg > A few ideas: You mentioned Haskell. It is a very fun language to use once you learn it. It takes a lot of practice to get used to though. It is more real world than most people think. Io. It is very young (and a bit unstable), but it is progressing fast. If you don't mind the lack of real and up to date docs then you might want to check out this dynamic prototype based language. Javascript. It is a very cool language. Like Io in many ways too. If you can get passed the bad rap of DHTML then this language is very well designed. Objective-C is a very nice language. It is even nicer when you pair it with a nice library like Cocoa. I've not done much with it myself but I know a few Ruby-ists that also like this language a lot. Python. Ok ok. It isn't a bad language. If you want something else from the above Python might be fun... I only recommend this if you don't like the other choices ;) Perl 6. Experimental in the sense the it is still a moving spec. Pugs does implement a large portion of the current requirements. I would check it out if you like playing with cool language features. Yes, Perl is known for the syntax craziness but otherwise Perl 6 offers some really neat features. C# might spark your interest as it has others. I personally don't like it that much. Smalltalk is a fun language give the right tools. Squeak is a good playground to check it out. PHP, ok. now I am just kidding :P Brian.