------ art_100108_14397825.1164243062803 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline On 11/22/06, Daniel Schausser <daniel.schausser / gmail.com> wrote: > > And that would be the best choice. If you want efficiency you should > definitely use C++/Visual C++. If you ask me, it's the best programming > language around, when you want efficiency, power with a resonable amount > of work when writing code. Where reasonable means what? If you are using C++ to do text processing, I doubt it would be a 'reasonable' amount of work. No one mentioned Objective C so far. It probably is what C++ should have been, probably the ++ excited the masses into C'ing past this gem, which works a little like Smalltalk grafted on to C, while remaining compatible, you can always drop down into ANSI C and it still feels just like home. However, Java would more suited when you want to make things fast and > not care very much about efficiency. For example, if you like to split > up a mail address like daniel.schausser / gmail.com and you want to do it > fast, you have to allocate buffers, use strtok and so on and so forth. > With java, that's piece of cake I would prefer to build in a lightweight regex library instead and call its API. It will be 1) fast, 2) bug free, 3) adaptable to the next similar job. Seriously, half of C and C++ is knowing all the little libraries and code snippets, preferably on call via some macro invocation or lying somewhere on your disk, and before you know it, you are bolting components together instead of doing the hard slogging, so you have lots of energy when you get to the part that you, not the library, or the language, or whatever. Java is fast, especially if your programs run for a long time, but you surely don't want to incur the JVM startup overhead many times a second. I think Java is more useful now for the VM and the libraries / interfaces, but the alternate JVM languages still need another round of maturity or so, for many of them. I don't know VM technology, so I can't say anything about the VM quality, but I would love to see Ruby on both of them, or even better with a VM that kicks their butts, tuned just for Ruby, somehow like how Perl can get ridiculously fast when you are executing huge 'macro-ops', meaning you are just using a concise Perl syntax on top of some well crafted C code. C is still very useful. I recently had to write software for a device too puny to run Ruby, Perl, Python, PHP etc. The manufacturer only has a (wildly broken) C API. Think something so broken that you use one method to calculation placing a character on a screen, and an entirely different coordinate system for a 'line oriented' C API. Where WaitForKeyPress only gets a few keys, so you have to CheckForKeyPressAndSpin instead. The hard layer and soft layer described above works very well. I wrapped up the horrible C API into tested, bulletproofed and debugged functions that I could call from Lua and all of a sudden it felt a bit like Ruby :-) For finance programming, am not so sure. You may want to make sure you are good with R/Matlab and Mathematica. Or you may want to learn APL, if you want to be an arcane master dazzling the operator-overloading gang (both pro and con sides) with your sheer conciseness and power. Well, I don't know APL, but that is how I imagine it to be. All kinds of crazy symbols, where you need a *special* keyboard. -- G. ------ art_100108_14397825.1164243062803--