On Thu, 2013-09-19 at 18:34 +0100, Bruno Medeiros wrote: […] > I was about to say something similar. Java is no longer under-performant > to C/C++, etc., for a *certain* class of applications only. Applications > that mainly do data manipulation, I/O, etc., because the JIT will > (eventually) compile the Java bytecode to native code. > So Java really is not behind because of being VM-based instead of fully > native-based. > > Generally though, I would still say Java is under-performant compared to > C/C++, etc., although I would say it's mainly due to lack of optional > manual memory management. Or lack of value-types (which in a way, are a > form of memory management). > I didn't think layout control would be a major issue, except for a very > specific type of applications, no? That seems like a very low level > optimization.
I am not going to be drawn into a low-level blow-by-blow debate on this, definitely not on this list since it is inherently biased!, but mainly because Andrei will accuse me of being David Bryant again ;-) There are native code shops and JVM shops (as well as PVM shops, and Ruby shops, etc.) There is a quasi-religious fervour involved in each of these. To be honest I do not care, I am happy working native (D, Go, Rust, C++, but not C) or JVM (Groovy, Scala, Java, Ceylon, Kotlin, Clojure, JRuby, Jython), or PVM (Python), or Ruby. For me there is no absolute best, just a relative best for the client involved. Skills of the team involved at the time, and the overall dependencies of the organizations, matter as much as any absolute notion of best wrt a processor. I do note though that The Disruptor (by LMAX) is a seriously cool lock free ring buffer based system written entirely in Java. -- Russel. ============================================================================= Dr Russel Winder t: +44 20 7585 2200 voip: sip:russel.win...@ekiga.net 41 Buckmaster Road m: +44 7770 465 077 xmpp: rus...@winder.org.uk London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
signature.asc
Description: This is a digitally signed message part