How can Java be faster?

I've just remembered two, perhaps rhetorical, questions that I was once asked:

  1. How can ever Java be faster than native code when it runs in a virtual machine?
  2. When I miss a semicolon of the end of a compilation line, why doesn't it just insert the semi-colon and continue? If it knows what's wrong with it, it should just fix it?

Open Source and Intellectual Property

The first man who, having enclosed a land, thought of saying 'this is mine' and found people simple enough to believe him was the true founder of civil society. How many wars, crimes, murders; how much misery and horror the human race would hve been spared if someone had pulled up the stakes and filled the ditch and cried out to his fellow men: 'beware of listening to this imposter. You are lost if you forget that the fruits of the earth belong to everyone and the earth belongs to no one!'

Jean-Jacques Rousseau, A Discourse on Inequality, 1755

What is the relationship between common resources and property? I'd wager that most proprietry systems are build either using or on-top of commonly available code. Rarely is something so unique to be genuinely produced by the inventor. Rousseau is an idealist, a romantic; people forget outside the natural world is much worse. What animals do to each other in the natural world wouldn't be tollerated in civil society. If a squirel thinks he can get aways with it, he's pounce on an unsupecting pidgeon and have it for lunch.


Natural Selection in Software Production

I had an interesting conversation today about coding standards, it started with a document How to write unmaintainable code. One of my collegues sent this out after reading slash-dot. It reminded me of, perhaps a more cynical version, of How to get your abstract rejected.

How much of this is tongue in cheek and how much understanding of the natural processes involved is there. Quoting statements like:

Let's face it, you and I and everyone else are going to write crap code anyway, so it may as well be cheap and simple crap code that you understand and can afford to throw away rather than complicated and expensive crap code. (The fact that 90% of the code written by 90% of developers is crap is a corollary of Sturgeon's law that 90% of everything is crap.)