Java > Scala

Russel Winder russel at russel.org.uk
Thu Dec 1 01:44:44 PST 2011


On Wed, 2011-11-30 at 00:48 -0800, Walter Bright wrote:
[...]
> I used to be intimately familiar with the JVM, I even wrote a gc for it. The 
> bytecode ops in it are designed for Java, nothing more. Worse, it's a primitive 
> stack machine. To generate even passably good native code, the JVM has to do a 
> lot of reverse engineering of the bytecode.

I am still intimately familiar with the JVM, I even wrote an
implementation of one for smartcards.  I guess we should stop the
pissing contest ;-)

The JVM and the Java programming language were clearly designed together
in the early 1990s.  However, the JVM now recognizes the importance of
Groovy, JRuby, Clojure, Jython, etc. and the JVM has evolved to better
support the needs of these languages.  Also changes have been made to
the JVM to improve its support for Java as Java has evolved.  Java 9 or
10 may even reify generic type parameters and ditch type erasure.  Which
will be great for Java and a real pain for Scala.

Yes, the JVM is a zero address stack machine.  Yes the JIT has to do a
lot of work to compile native code.  But it does it.  It is very
successful.  I am sure it could better.  It remains the market leader.

Promoting D gains nothing by pointing out things about Java -- however
interesting the points may be to some of us.

> For example, you cannot pass by value anything other than the primitive Java 
> data types. There are no pointers. Want an unsigned int? Forget it. Arrays of 
> anything but class references? Nyuk nyuk nyuk. Etc.

So f$$$$$$ what.  The computational model of Java is as it is, it is not
trying to be a native code system such as C, C++, D, Go.  To each its
own.  The skill of the programmer is to use the computational model of
the platform they have to use to create realization of algorithms.
Either than or change the platform.  Moaning about the deficiencies of
one platform compared to another achieves nothing positive. 

Java handling of bytes and shorts is derisible, the lack of unsigned may
be laughable, but there is a huge amount of Java activity out there and
let's be serious, next to no D.  Is the desire to make D a well used
language?  If so the tenor of threads like this in this news group needs
to change dramatically.  Bitching about things is the sign of a
community ill at ease with its own failure to become part of the
mainstream.  Just look at the Scala mailing lists for a classic example.
It is hugely counter-productive to the uptake of Scala.  The danger is
that the D community is its own worst enemy, much like the Scala
community has a reputation for being.

I put forward vague proposals for how to promote D in my earlier email
-- wherever that ends up in people's threads :-) -- basically do some
comparative work to show D's efficacy, get some high profile projects to
market the use of D.  Basically get outward looking rather than inward
looking.

This activity almost started with the effort to create new websites and
new imagery around D, but it all seems to have stalled.


-- 
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder at ekiga.net
41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel at russel.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111201/01ade8ab/attachment.pgp>


More information about the Digitalmars-d mailing list