Language war

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Language war

James Battle
This is my first post to QuantLib, hence I'll try not and create a language war
(OK I will, I can't help myself).
 
-------
 
C++ is a great language for quantitative work and for QuantLib; having used it
since early AT&T versions, I still love it.
 
I'd love to say the same for Java, but the performance just isn't there.  For doing
anything serious numerical (e.g. root finding, BLAS III etc) the performance is
terrible and the memory usage is huge.  I don't generally discriminate, purely
on performance, preferring good design, but in fields such as finance you have
to be practical.  I don't consider Java usabe for numerical work.
 
On the other hand, it is worth checking out VB.net and C# in the VC7/IDE.  C#
is a fantastic language and along with over 20 languages, compiles to a common
machine language.
 
It's also great for building complex object models.  Our FpML 3 implementation
has over 200 classes and over 100K lines of code.  It compiles in about 5 seconds
compared to 5 minutes for the C++ version.
 
Not yet complete, but I've been running some timings on a Mersenne Twister
RNG and a LINPACK benchmark. I'm not seeing significant diffs between C#,
VB and C++. 
 
Regards,
 
James Battle
Reply | Threaded
Open this post in threaded view
|

Re: Language war

Sadruddin Rejeb-3
Hi everyone,

IMHO, it seems quite obvious that free/open-source libraries, aiming to
become
standards (and thus, to be portable across different architectures), should
be
implemented using open standards and languages. Apart from being efficient,
C++
has compilers for most architectures and is defined by an international
standardization committee. Java is definitely a very nice language, but it
is
still strongly attached to Sun. Worst, there is no mature open-source JVM
(apart perhaps from Kaffe), at least not for non-intel architectures (but I
haven't tried gcj either). Finally, as far as C# is concerned, even though
it is standardized by ECMA, there are for the moment no viable compilers
other
than Microsoft's...

Sad

--
GMX - Die Kommunikationsplattform im Internet.
http://www.gmx.net