There is one language -- Erlang -- that doesn't have these
limitations, as it shares nothing between processes. The user gets
"free" concurrency and multi-tasking. It is not an easy languages, and
has its own limitations -- GUI and strings suck -- and it is not OOP,
so wrapping your head around that unwieldy beast is quite a thing.
I wrote a year ago an experimental Erlang version of an XML parsing
engine specific to the iTunes.xml file. I got a 700% speedup, give or
take, over the pure RB. But integrating that thing into a GUI app
would be quite a thing, and you'd have to add the Erlang framework
too. Running that code on a large file -- test file was 50,000
records, 35MB -- makes CPU usage max out for a few seconds on one
core, and keeps the other one busy.
There's no language that can give you everything for free. I love both
RB and Erlang, and rail at them frequently because of their own
weaknesses. But waving a big flag saying "Implement XXXX or else!" is
kinda lame, especially when XXXX is something like concurrency...
--
dda
On Fri, May 30, 2008 at 10:18 PM, Joe Strout <joe at inspiringapps dot com>
wrote:
>> On May 30, 2008, at 3:40 AM, Jean-Luc Arnaud wrote:
>> Would I be obliged to switch to C++ or other, in order to get high
>> performances ?
> No, you would have the same limitations in any language; it's just
> that those other languages would cheerfully let you shoot yourself in
> the foot.
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives:
<http://support.realsoftware.com/listarchives/lists.html>
|