From: Phrogz Date: 2007-09-22T12:25:03+09:00 Subject: Re: I am new to Ruby and I could use some expert advice as t On Sep 21, 9:14 pm, Phrogz wrote: > Using these numbers (which admittedly are totally wild-ass guesses), I > would need to run the program 600 times, and have totally lost that > productivity each time, before I would even break even. (In reality, > 1.5 seconds versus 15 means very little to me for something that is > run once a week or so.) Ruby has benefited my employer - it was way > more practical to use Ruby than another language. To keep the world in harmony, let me give the other side: My company DOES employee C++ programmers. Lots of them. We work on real-time 3D applications that need to support interactive mesh deformation with vertex weighting using joints, in multiple windows simultaneously. We develop high speed runtimes for 3D data on next-gen consoles, where you can't just trade memory for speed, because cache misses due to using more memory also lose you speed. In this world, bit packing and high high high speed data structures and algorithms are paramount. When a racing game is using 98% of the limited console CPU for its own game engine and only allotting 2% for the full updating of the 3D HUD graphics and logic, Ruby can't be used for the runtime. It can't even be used for the minor scripting that artists use to enhance the logic. (We use Lua for that.) As I said originally: you need to decide what your needs are, and then what programs can be used to accomplish those needs. Ruby cannot be used on a PSP or Wii as a high speed runtime. If that's your goal, you can just walk away from Ruby. But there are gobs of other very real world problems for which Ruby is wholly suitable, where development time is way more important than CPU or memory efficiency. If those are your goal, I encourage you to ignore benchmarks and comparisons with other languages. (If Ruby is 100x slower to run than language YYY, and it means that it takes 10 seconds for your entire program versus 0.1 second...do you really care? If it saves you 20 minutes of coding? If it makes you happier while you are doing your job?) Instead, see if it works for you.