Serving the Quantitative Finance Community

 
User avatar
tristanreid
Topic Author
Posts: 5
Joined: May 12th, 2004, 6:58 pm

Stroustrup on the direction of C++

July 11th, 2005, 3:08 pm

You may have seen this article from the May C++ Users Journal:http://www.informit.com/content/images/ ... les.pdfAny thoughts?-t.
 
User avatar
SierpinskyJanitor
Posts: 1
Joined: March 29th, 2005, 12:55 pm

Stroustrup on the direction of C++

July 11th, 2005, 3:14 pm

this article has already been commented here ...
 
User avatar
tristanreid
Topic Author
Posts: 5
Joined: May 12th, 2004, 6:58 pm

Stroustrup on the direction of C++

July 11th, 2005, 4:22 pm

QuoteOriginally posted by: SierpinskyJanitorthis article has already been commented here ...Sorry, my bad. I spent April and May preparing for level II of CFA, I'm still catching up with my magazines. I'll go read the old thread.-t.
 
User avatar
alohashirt
Posts: 0
Joined: July 14th, 2002, 3:00 am

Stroustrup on the direction of C++

July 12th, 2005, 3:35 am

I think it's an interesting article. It was funny to see C++ described as a general purpose language.It really seems to have taken a back seat there to Java and C#. I thought the expert-friendly pointwas very perceptive. It's hard to see a 20+ year old language being taken out again for another spin.With Java now faster than C++ for a significant set of application types the sweet spot for C++ seemshard to define. Predictable execution speed apps, quant apps, system programming, some real time allseem like niches. But for plumbing an general purpose app development it would seem irresponsible to choose C++ today (because of the volume of free Java, the better tool support for C#/Java and thehigher productivity that Java C# teams see over C++. I am astounded an ddisappointed that Java endedup with a generics solution that seems flawed. I think C++ envy was possibly a driver for the generics feature.
 
User avatar
Cuchulainn
Posts: 22935
Joined: July 16th, 2004, 7:38 am

Stroustrup on the direction of C++

July 12th, 2005, 6:34 am

> With Java now faster than C++ for a significant set of application typesWhat are these apps? Heared on the street or benchmarks?I cannot imagine this. Of course, if you wrirte a program in C++ that uses call by value and yout start copying large objects then ...Most OO language are attempting to mimic C++ templates: C# does a very good job (even more functionality), Java I do not know, mixed reactions.I used Fortran and Cobol long time ago. They are still alive and kicking.There are millions of C/C++ missiion-critical applications out there. BTW By using generics/template I notice a quantum jump in productivity levels in general. It has better performance also compared with casting Objects
Last edited by Cuchulainn on July 11th, 2005, 10:00 pm, edited 1 time in total.
 
User avatar
SierpinskyJanitor
Posts: 1
Joined: March 29th, 2005, 12:55 pm

Stroustrup on the direction of C++

July 12th, 2005, 9:29 am

I strongly suspect such radical statement as well Dr. Cuch. Let me just add a rather controversial fact towards the Java/C++ endless performance quarrel. One of ESAs driving projects within the Distributed Computing Division, concerns the release of a Java RT VM for embedded platforms, actually for on-board satellite payloads. One of the most striking conclusions taken from these projects is that one is able to meet real-time constraints using a real-time virtual machine atop a conventional OS! It sounds blatantly paradoxical but it´s true! So there will be some more Java critical missions in the near future as well. I am not a Java fan, nor programmer, but I stronlgy respect this platform.
Last edited by SierpinskyJanitor on July 11th, 2005, 10:00 pm, edited 1 time in total.
 
User avatar
DominicConnor
Posts: 41
Joined: July 14th, 2002, 3:00 am

Stroustrup on the direction of C++

July 12th, 2005, 9:39 am

It's hard to see a 20+ year old language being taken out again for another spin.Java isn't actually all that new.With Java now faster than C++ for a significant set of application types the sweet spot for C++ seemshard to define. What application types are these ?Few fragments of Java code work faster than C++, can't even guess what you mean by whole application types.Predictable execution speed apps, quant apps, system programming, some real time all seem like niches.Err, you forgot shrink wrap applications like Excel, you forgot machine control, you forgot middleware, you forgot compilers, wellerr actually you seem to have forgotten practically everything.But for plumbing an general purpose app development it would seem irresponsible to choose C++ todayPlumbing is still best done in C++, and perhaps you'd like to explain to us what you mean by "general purpose"Perhaps you mean buning a front end on a database, in which case you'd often be better off with VB 6, though I'm warming to C#Java as a DB front ending tool sucks pretty much worse than anything except VB.Net. (because of the volume of free Java, the better tool support for C#/JavaOnly a subset of Java is free, and the development environments are still years behind C++In any case for most developers the cost of the compiler is a tiny % of the cost of development.higher productivity that Java C# teams see over C++. Right...And you've got some objective evidence for this. In real non-trivial projects ?I am astounded an ddisappointed that Java ended up with a generics solution that seems flawed.I'm not surprised, though a little disappointed.Java is controlled by a hardware company, not by the development community.I think C++ envy was possibly a driver for the generics feature.Indeed.I envy people who are smarter than me, so presumably do the people behind Java.The defect is quite possibly the cultures of the two groups. C++ guys want to get the job done. The Java team want to look cool.Thus some parts of C++ are ugly but effective, whereas Java is prettier but often can't step up to the job.No doubt the shortcomings will be fixed. You really need to read up on language evolution. It takes a long time for a language and it's tool set to mature.You think 20 years old makes C++ bad, you'll know that you understand this stuff when you fell embarassed that you wrote this.
 
User avatar
henny
Posts: 0
Joined: January 28th, 2005, 7:04 pm

Stroustrup on the direction of C++

July 12th, 2005, 10:13 am

Java is a joke!
 
User avatar
SierpinskyJanitor
Posts: 1
Joined: March 29th, 2005, 12:55 pm

Stroustrup on the direction of C++

July 12th, 2005, 10:22 am

that´s a very sound remark, thank you for such an enlightening contribution! Probably the comp. engineers who work on this technology at ESA are all wrong! Probably they should all have consulted you prior to any JRT project.
 
User avatar
Cuchulainn
Posts: 22935
Joined: July 16th, 2004, 7:38 am

Stroustrup on the direction of C++

July 12th, 2005, 10:50 am

QuoteOriginally posted by: SierpinskyJanitorI strongly suspect such radical statement as well Dr. Cuch. Let me just add a rather controversial fact towards the Java/C++ endless performance quarrel. One of ESAs driving projects within the Distributed Computing Division, concerns the release of a Java RT VM for embedded platforms, actually for on-board satellite payloads. One of the most striking conclusions taken from these projects is that one is able to meet real-time constraints using a real-time virtual machine atop a conventional OS! It sounds blatantly paradoxical but it´s true! So there will be some more Java critical missions in the near future as well. I am not a Java fan, nor programmer, but I stronlgy respect this platform.Satellites are not in a hurry, they just go round and round, these are very leisurely beasts, have you seen Kubrick's Space odyssey 2001? "I'm sorry Hal I cannot do that", That's what I call a slow-talkin' computer! Seriously, the requirements determine if a given langauge is good enough. E.G. computer games are mostly written in C++.
Last edited by Cuchulainn on July 11th, 2005, 10:00 pm, edited 1 time in total.
 
User avatar
Cuchulainn
Posts: 22935
Joined: July 16th, 2004, 7:38 am

Stroustrup on the direction of C++

July 12th, 2005, 10:59 am

QuoteOriginally posted by: hennyJava is a joke!Why, pls explain.
 
User avatar
SierpinskyJanitor
Posts: 1
Joined: March 29th, 2005, 12:55 pm

Stroustrup on the direction of C++

July 12th, 2005, 11:12 am

in fact, satellite payload SW design has to cope with a rather unorthodox source of potential failures, ground-based systems simply don’t care about: quantum errors! This sounds something taken from Kubrick´s work as well, but it´s a real phenomena. SW byte-code registered within the payloads´ HDs suffers bit-changes due to the atomic impact of highly charged solar wind particles. SW designers have to cope with self-healing reprogrammable OS and middleware which justifies a substantial overhead to the whole project. JAVA is being used as such, namely due to one of its coolest and well-implemented features, which you seem to appreciate as well on .NET – Reflection. The first time I saw this being used, they were implementing manifest XML files describing JAR binaries which would upload the satellite’s payload middleware! So, despite behaving a bit like HALLish lumps of space-garbage, the SW components that payloads do carry on-board can be extremely complex to tackle. JAVA is being used as such, so it deserves some respect, that´s all.
Last edited by SierpinskyJanitor on July 11th, 2005, 10:00 pm, edited 1 time in total.
 
User avatar
Cuchulainn
Posts: 22935
Joined: July 16th, 2004, 7:38 am

Stroustrup on the direction of C++

July 12th, 2005, 12:18 pm

Last edited by Cuchulainn on July 11th, 2005, 10:00 pm, edited 1 time in total.
 
User avatar
DominicConnor
Posts: 41
Joined: July 14th, 2002, 3:00 am

Stroustrup on the direction of C++

July 12th, 2005, 12:24 pm

I'd like to hear more about this, since it sounds like an area where Java should crap all over C++.If I've understood you correctly, can the JVM self heal ?I can imagine some combination of checksum and error correction being able to compensate for the effect of radiation on memory.Some sort of voting perhaps ?JVM sounds pretty much the perfect way of doing it, since you could use vastly cheaper off the shelf hardware to survive quite hard blasts.Also, it's possible to make the remote patching of software vastly easier in a JVM, which I understand is critical in space gear, since rebooting and shoving in a new CD is not always an option. I haven't kept up with the leading edge of this technology, is it still the case that the limits deep space probes are more the bandwidth of sending signals back, rather than processing ?In that context the slower speed of Java, especially on a self checking JVM would not be a big hassle.I can see variations of that sort of technology being hugely useful in finance in specialist niches.
 
User avatar
SierpinskyJanitor
Posts: 1
Joined: March 29th, 2005, 12:55 pm

Stroustrup on the direction of C++

July 12th, 2005, 12:26 pm

say no more Dominic! You got it! Unfortunately I can’t disclose any specifics on that, might end-up making some time... but all you said is absolutely right and is currently under research within the framework of extremely classified projects run both by NASA and ESA. One of the most competitive environments is this RT-Java payload technology. This involves, RT-JVM, Reflection and SHOC (which is pronounced as “shock” for self-healing on the fly compilation).
Last edited by SierpinskyJanitor on July 11th, 2005, 10:00 pm, edited 1 time in total.