From: "Shot (Piotr Szotkowski)" Date: 2007-01-18T03:44:52+09:00 Subject: Re: Intensive computing: Ruby? Ruby/C? Pure C++? Thanks a lot for your reply, Ed! M. Edward (Ed) Borasky: > Are you allowed to use existing open source C/C++ libraries for the > low-level operations, or do you need to implement the whole thing > yourself? I'm allowed to use anything I want. My supervisor created a couple of C++ libraries that he thinks I might reuse (but I don't have to). > I'd recommend a hybrid approach -- find some libraries > that do the hard stuff and wrap them in Ruby using SWIG. Thanks for pointing out SWIG (I'm still a total newbie in the whole Ruby/OCaml <-> C/C++ interface possibilities, unfortunately; I should read a lot more on this, but have to make some desions this weekend...). I'll do all the background reading, of course, but a quick question: assuming that I have some (objective) C++ classes already, how easy would it be to use them in Ruby/OCaml? (So far I thought the C integration was doable, but not necessarily C++, hence my a-bit-blind shooting-in-the-fog quetions.) > Do you know Lisp or Scheme? Neither, unfortunately. Learning Lisp is on my to-do-after-hours list for a long time already, but it turns out having a full-time IT job next to the PhD studies means the rare free time I have is best spent away from the computer, unless I want to lost the rest of my social skills. ;) I'd love to finally have an excuse to learn Lisp, but I'm affraid I can only either choose from bringing my Ruby skills up a notch and learning enough C/C++ to fill in the gaps or commit myself full-time to C++. (That is, until Benjohn pointed-out OCaml; hmmm...) > Shot (Piotr Szotkowski) wrote: >> Ruby with C extensions. > This is probably where you'll end up. However, as a general rule, > perhaps 20 percent of the code will need to be in C or C++, not > 90 percent. Hmmm, that's tempting. Ruby and me somehow click together nicely, in the 'hey, after two months I still know what I thought writing these!' way that doesn't seem to happen so much with other languages. > And as I noted above, if you're allowed to use existing C/C++ > libraries, you might not have to write anything except SWIG .i > (interface definition) files. Tempting, again. It seems I'll read up on SWIG a bit this weekend. :) >> Pure C++ > It probably won't come to this, but if it does, well, C++ > programming is a very marketable skill once you have your PhD. :) Erm, ye-ah, but... My best job so far is the (current) CiviCRM web-developement (PHP), and while working with Ruby on Rails instead would definitely be an improvement, working with C++... well, wouldn't, to say the least. ;) (Or maybe I'm just too stupid for the whole mess of header files, makefiles, compilations, Windows/Linux *almost*-portability and cryptic runtime errors of everything I ever wrote in C/C++. Or, hopefully, simply too spoiled by Ruby.) -- Shot -- I always thought Smalltalk would beat Java, I just didn't know it would be called 'Ruby' when it did. -- Kent Beck