On 11/22/06, Daniel S. [email protected] 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 [email protected] 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.