How do I answer the question: What is Java?

Things are going well on the designer tool, but we won't have anything to show publicly for a while. I will tease you with the news that I just implemented the first version of a drawing tool assistant that you have never, ever seen before. It's one of those clever things that seem obvious in retrospect, but no one (to my knowledge) has done it yet. But enough teasing: on to the question of the day.

How do I answer the question: What is Java?

A technically savvy friend of mine asked me today: What is Java? He is a photographer and learning about linux system administration and databases so he has a technical background but isn't much of a programmer (yet!). At first the answer seemed obvious, but upon further reflection I realized that it's not so easy. To understand "What Java is" requires a lot of context, both technical and historical. So I thought I'd ask my brain trust: you guys!

The rules are thus: You get only 200 words and you can't just link to another page. The reader of your answer must understand what Java is (including the difference between the JVM, JRE, language, libraries, etc. as relevant), why they should care, and where to go for more information. So, if you choose to accept my challenge I'll put the list to an independent judging by my photographer friend and then mail you a T-shirt of your choice from

So how do I answer the question: What Is Java?

Talk to me about it on Twitter

Posted January 9th, 2008