Why Ruby?

Jean Crystof news at news.com
Sat Dec 11 14:50:52 PST 2010


Don Wrote:

> Andrei Alexandrescu wrote:
> > On 12/10/10 10:16 PM, Christopher Nicholson-Sauls wrote:
> >> On 12/10/10 19:26, Ary Borenszweig wrote:
> >>> http://vimeo.com/17420638
> >>>
> >>> A very interesting talk.
> >>>
> >>> I used to like D. To write code in a high level while at the same
> >>> time being very close to the machine, with class invariants, unit
> >>> tests and many other features seemed very appealing. But I always
> >>> felt there was something wrong.
> >>>
> >>> About a year ago I met Ruby. Now I find languages like Java, C#,
> >>> Python and D kind of ugly and uncomfortable. Why? Exactly because of
> >>> what it is said in that video.
> >>>
> >>> This is not to start a flame war or trolling, it's just to show you
> >>> why I changed my mind so much about D, and why I think (IMHO) you
> >>> should care about naming conventions (like bearophile says), more
> >>> powerful unittests (and not having unittests integrated into the
> >>> language but rather being able to build your own test frameworks
> >>> with ease) and stop caring about being C-syntax friendly. The world
> >>> doesn't need that many semicolons and parenthesis. :-)
> >>
> >> I'm a strange one.  I use Ruby, and D.  (And a couple of others...)  I
> >> use the tool that feels best for the job, whatever that may be at a
> >> given time.  Sitting on a disc somewhere are some personal tools I used
> >> to use when working with D... which are themselves written in Ruby (and
> >> bash script, but hey).
> >>
> >> Then again, I'm the same one who really really likes Ruby on Rails...
> >> and yet still does most things with PHP.  Why?  Well for one, because
> >> for plenty of projects, Rails is less an aid and more a hindrance.  (And
> >> yes, before someone brings it up, I'm well aware of CakePHP... and don't
> >> care for it much.)
> >>
> >> There are times in D when I find myself wishing, momentarily, for the
> >> loose typing of Ruby... but then there are times in Ruby when I find
> >> myself wishing for stricter typing.
> >>
> >> There are times when I wish D had open classes... but then there are
> >> times when Ruby's open classes give me headaches.
> >>
> >> I could go on like this... but the point was really just: use the right
> >> tool for the job.  Keep several tools in your toolbox.  There is no "THE
> >> BEST LANGUAGE OMG!!!"  There is just the best one for a given programmer
> >> in a given scenario.  Some of the things I've done could probably have
> >> been better written in, say, Pike!  But I don't really know Pike (very
> >> well), and don't feel the need to learn it just for those few things
> >> that might have benefited.
> >>
> >> -- Chris N-S
> > 
> > Agreed. One issue with the talk is non-acceptance of "the right tool for 
> > the job" (the speaker literally says he's tired of that phrase). There 
> > is one best tool - and that's Ruby. Ahem.
> > 
> > Andrei
> 
> I find this issue interesting. I think the "the right tool for the job"
> is justification for the existence of multiple languages, but on the 
> other hand, I'd agree with him that it's overused.
> 
> If you consider all problem domains, and then ask: what is the minimum 
> number of languages required to be "the best tool" or "close enough to 
> the best tool" for all those jobs? For sure the minimum number is > 1.
> But I suspect the minimum isn't very high, essentially because most real 
> world tasks involve a combination of several problem domains.
> I think the minimum might be as small as five, and I seriously doubt 
> it's more than a dozen.

My wish is D supported all important paradigms in the future. It would make other languages obsolete. D should at least support scripting, build tool languages, systems programming (C++ like and assembly), application programming, metaprogramming, functional, and DSL. The next version of D could integrate more dynamic features like C# 4 and Java 7 do. This would eliminate other common languages and make D invulnerable ultimate language.


More information about the Digitalmars-d mailing list