On 3/20/07, Shane Legg <[EMAIL PROTECTED]> wrote:
Ben, I didn't know you were a Ruby fan... After working in C# with Peter I'd say that's is a pretty good choice. Sort of like Java but you can get closer to the metal where needed quite easily. For my project we are using Ruby and C. Almost all the code can be in high level Ruby which is very fast to code and modify, and then the few parts of the code that consume 99.9% of the CPU time get converted into C and carefully optimised.
Sometimes the slowness of a program is not contained in a small portion of a program. Especially, after a few rounds of profiling and improving performance render the profile graph fairly flat. I experienced this on a financial program that I ported from Python to C# for an 18 X speed up (and I had already improved the Python program itself 2 - 4 X (memory getting fuzzy...) before running out of reasonable ways to make it faster). So then instead of having to wait 20 minutes per run to study the results and continue development, I only needed to wait a little over a minute. That made a *huge* improvement in speed of development. Unfortunately, C# is not a rapid coding language like Python and Ruby and consequently some of the speed up (but not all) was lost in development. There are some applications that don't suffer much from this either because they are overwhelmed by external factors (such as network latency), or they are a small part of the system (providing glue), or they have a specific piece of code that overwhelms performance which can be pushed out to C or C++ (tight inner loop). But there's plenty of programs that are down right fascinating *and* compute intensive including AGI, GP/GA/EC, NNs, simulation, finances, compression, search and more. Many of these require speed in order to work with non-trivial data sets while still enabling a fast "run, study, edit" loop. And, of course, you want quick, high level coding to keep the "run, study, edit" loop tight as well. I think we can have both with the right language design. I'll finish this off in a response to Ben in this same thread... -Chuck ----- This list is sponsored by AGIRI: http://www.agiri.org/email To unsubscribe or change your options, please go to: http://v2.listbox.com/member/?list_id=303
