* Posts by Lionel Gotti

2 publicly visible posts • joined 25 Nov 2006

Of opposable thumbs and software engineering

Lionel Gotti
Thumb Up

Back to the article's point...

I think here is the place for comments on the article itself, not The Reg's policy regarding ads :-)

I agree with Dan Clarke that it's a widely spread trend and mistake to make software development decisions at project level (such as language, platform...) based on technical tools we are familiar with. The author's example reminds us that software, just like any industrial product, should be designed and "packaged" for the targeted users, keeping in mind their expressed needs that motivated the software development in the first place.

Moreover I especially second his observations regarding language and machine interfacing technologies' evolution (ie. VMs). It's definitely allowing always higher levels of abstraction which makes developers' lives easier. This is extremely visible with the virtual machine based languages: the community of Java enthusiasts keeps on growing and delivering very friendly development tools (ie Eclipse) which drives this phenomenon, making it self-sustainable and continually evolving.

The database abstraction framework strikes back

Lionel Gotti

A matter of trends?

Thanks Daniel for this enlightening essay.

I believe one can be astonished by Java being more popular than C++ amongst the framework developers because both languages first appear to be quite similar in their main paradigm (object oriented). If you have a look at an elementary piece of code (say a Java class), you'll notice that you could turn it into C++ in 2 sec, the two syntaxes being so close.

Nonetheless, this naive observation must not hide the distinctions between Java and C++. The 'sexiest' part of Java is to be a cross-platform language (at least on the developer side). The application/framework developer does not have to worry about porting issues. Java virtual machines are done for that purpose. If you combine the native support of threads, this looks pretty much appealing. Now, what I like about C++ merely lies on the technical ground: generic programing with templates for instance. In a project management perspective, I believe it's more difficult to justify the choice of C++ (especially now that JVMs are more and more performant).

This said, I'm not sure there is a lot of stuff that you could achieve with Java and not with C++. Reflection is cool, but is it mandatory for any projects? Would the project development be cheaper though, if you could use reflection? That's probably one of the questions that drive the language choice. Still, I reckon it is most often a matter of sector, its constraints and also its trends.

Finally, I think your article will encourage the C++ enthusiasts to prove that useful, widely used frameworks that already exist in Java can just as well be written in C++.