From: Ron M Date: 2006-07-09T17:37:32+09:00 Subject: Re: Why Ruby over Python? M. Edward (Ed) Borasky wrote: > I have found that switching languages rapidly, frequently, even in a > "staggered/parallel" manner is for the most part counter-productive. > ... > Add multiple programming languages and you lose focus. I find this not to be true when the languages each are used for the special purpose they're best suited for. I've seen this to be true for hardware design, where switching from C models to VHDL or Verilog makes sense; and for web stuff where switching between (whatever) and SQL is common; and for embedded DSP stuff where switching between C and assembly is not uncommon. I'd even go so far as saying that a mix of Ruby with C extensions is better in all ways than Java or C# or C++ since in the former case you can more often use the right-tool-for-the-job while in the latter case you're using a crippled compromise language that sucks at OO and that sucks at low-level stuff. I think many of the more interesting ruby projects ( * _why's Hpricot; * David Balmain's Ferret; * Ara's NArray+mmap ) are proving this out, since they're excellent examples of using Ruby where appropriate and using C where appropriate and are producing results that go a long way to bringing the best of both worlds to the user. And this thought lets me drift back on-topic to the original Python question -- I find Ruby's C interfaces (both RubyInline and the traditional one) cleaner than that of most languages, including Python back when I looked at it. And this cleanliness is why I care very little about ruby performance concerns - it's very easy to apply micro-optimizations this way if you need to. > I pity a > programmer who has to write a Ruby - FORTRAN bridge that is called by a > Java ERP application for an engineering firm located in Quebec. :) Hmm.. I did Ada/Fortran and Fortran/Forth bridges as one of my earlier programming jobs. Close enough?