Articles

Java versus C++ Performance

Recently, I came across an interesting discussion of C++ versus Java performance over on Stack Exchange. There was also some good discussion of the article on Reddit which included a link to an interesting article from Google.

Understanding these languages from a performance perspective is important to me, as it impacts the design of . . . → Read More: Java versus C++ Performance

Reflecting on the JVM Class File Format

The latest release of Whiley (v0.3.16) includes (finally) a binary file format for the Whiley Intermediate Language (WYIL).  You can think WYIL files are to Whiley, as class files are to Java, or CIL files are to C#.  Furthermore, the existence of WYIL files implies there is a corresponding (albeit currently hypothetical) Whiley Virtual . . . → Read More: Reflecting on the JVM Class File Format

One Thing I Really Hate About the JVM

Whilst I think the [[Java Virtual Machine]] is generally speaking a fantastic piece of kit, there is one thing that I really hate about it: I can’t stop threads!!!

Sure, there’s a method called Thread.stop() … but it’s deprecated. There’s even a whole article devoted to why it should be deprecated.

Great.  That’s just . . . → Read More: One Thing I Really Hate About the JVM

Actors on the JVM

The [[Actor Model]] is an interesting alternative to the standard threading model used in languages like Java. Its been around for a while, but Erlang has recently brought it into the mainstream. Roughly speaking, an actor corresponds to a Thread, except that actors do not share state. Actors communicate by sending messages, and [[Synchronization . . . → Read More: Actors on the JVM

Implementing Actors on the JVM

Whiley adopts the [[Actor model]] of concurrency, instead of the traditional [[Thread (computer science)|multi-threading]] approach used in e.g. Java.  The actor model is simple and easy to use, and is less likely to result in complex [[race condition|race conditions]] or [[deadlock|deadlocks]]. The Actor Model has been around for a while, but Erlang has recently . . . → Read More: Implementing Actors on the JVM