From: "Shot (Piotr Szotkowski)" Date: 2007-01-17T19:00:06+09:00 Subject: Intensive computing: Ruby? Ruby/C? Pure C++? Hello, ruby-talk. I have a question about choosing between Ruby, Ruby with C extensions (InlineRuby, ruby2c, etc.) and pure C++. I'll try to keep it short and to the point; thanks in advance for any answers, and of course I'm more than happy to clarify/extend the below if needed. Background: I'm a PhD student at Warsaw University of Technology and I need to write a project that's going to be fairly intensive in both computing and memory usage (symbolic functional decomposition of FSMs for FPGA implementation); in particular, the project will implement a lot of set operations and graph colouring. I like Ruby a lot, and the project has to *work* first, but ultimately it has to be efficient in the end. I don't know a lot about C/C++ other than the basic classes I took years ago (i.e., I'll have to learn C/C++ from scratch anyway). The question: in my case, which approach seems to make most sense? 1. Pure Ruby. This will most probably not be an option; my gut feeling is that pure Ruby will end up being *way* too slow and memory-inefficient. Still, definitely the fun approach, and actually maybe the fastest prototyping. 2. Ruby with C extensions. Code in Ruby first, then optimise the slow parts one after another. This is tempting (mmm, Ruby...), but I'm not sure how viable; if I'm going to have to rewrite 90% in C anyway, I might as well start with C++ (again, only a gut feeling). 3. Pure C++. I have to learn C/C++ anyway almost certainly (for point 2 above), so maybe trying to have fun and going with Ruby is not the best way this time, and I should simply install CDT, stock on C++ tutorials and be a brave, if sad, person? Note: My supervisor doesn't know Ruby one bit and writes everything in C++, so he would not be too happy with 1 and 2; still, it's my PhD, and he's an open-minded person, so if I'm sure about either 1 or 2 being viable I should be able to go with Ruby. Thanks a lot for your time and in advance for any responses. :) -- Shot -- It would be nice to think that one day a language will come along which manages to add powerful features without making the code look like it's been rendered with the wrong character encoding. -- Sam Newman on Ruby's overuse of different parenthesis types