Skip to main content

How do I answer the question: What is Java?

Posted by joshy on January 9, 2008 at 3:33 PM PST

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?


01001010 01100001 01110110 01100001

java is a powerful programming language.

java is a powerful language.

This is the way I explain it when people ask, "What is Java?" Java is a way of building computer programs that can run on any computer or device. Most computers and devices (like Windows PCs, Macs, Linux PCs, cell phones, Blackberries, Blu-ray players, and so on) have Java support so they can run Java programs. As an example, when you build a computer program in a Windows programming language, it can only run on Windows. But when you write a program in Java, it can run on all sorts of different machines.

So when does this contest end, and when will we know the winner?

Java the name given to a collection of computer technologies with the expressed purpose of creating programs that run on a wide variety of hardware. This hardware runs the gambit from cell phones to desktop computers, high traffic websites. There are three base components to Java that work to achieve this goal.
  1. (Java) Language - A syntax by which the behavior of a program is defined.
  2. (Java Core) Libraries – A base of prewritten behaviors that can be chained together into more complex behaviors.
  3. (Java) Virtual Machine – A computer program that transforms complex Java behaviors into computer machine instructions for a particular type of computer equipment. Abbreviated as JVM.
This design allows programs written with the Java language and using the core libraries to run on any machine that has a JVM. The packaging of the JVM with the core libraries is called the Java Runtime Environment or JRE. When a JRE becomes available for a given platform virtually every Java program that has ever been written is now compatible with that system.

For more information on using java programs on your machine please visit For information on creating program using the Java language please visit

First, Java is a programming language. The code you write can be used on any computer where a Java engine is available (called JRE meaning Java Runtime Environment). What's cool with Java is that there are a lot of code written by others that is available to you for free. People refer to this code written by other as 'libraries' or 'frameworks', which is essentially a bunch of code packed together. Why is the availability of many libraries important? It is important because each library contains specialized knowledge about something and you can used that in your own program without having to write everything from scratch. So Java is just that: the ability to write code that executes on many OS and a lot of code out there waiting that to help you solve your problems.

Java is the readable language with which you can create a written description of an interactive system that does useful things. Your computer understands that description and will build the system.

Java is very rich computer programming language which spares developers from having to learn multiple, redundant languages and software development toolkits in order to have their programs run on all OSes. Done.

Let me take a stab at this. Java is a hardware, and OS independent, VM based platform for running applications written primarily in the Java programming language, and more recently other dynamic/scripting languages. The Java platform consists of the byte code, the VM that executes this byte code, and the runtime libraries which form the runtime environment (JRE), and the Java + other JVM based language compilers, tools, and Java + JVM based language libraries which form its development environment (JDK). How does that sound?

Java is a computer, implemented entirely in software.

The Java computer provides an operating system (JVM), system libraries (JRE), and a human-readable language (Java) that can be compiled to run processes on it's operating system.

Because it is implemented in software, the Java computer can be embedded within other computers like a PC, cell phone, BlueRay player or toaster.

Java is a programming language with its own set of runtime (JRE) and libraries. One of its features is that Java applications are only partially compiled by software manufacturers, being the final compilation performed by the JVM (a special part of the runtime) while they are executed on the user's computer. In this way a single application binary can run on multiple platforms and the compilation takes a better advantage of the target environment.

**** Should I win, rather than the t-shirt I prefer you talk with your photographer friend about blueMarine ;-)

Java is a promise to software developers that they can easily and freely take advantage of a large, wondrous body of existing work and combine it with their own creativity to produce interesting and useful software that can run on a user's computer of choice without the madness of maintaining multiple versions for said computers. This body of existing work spans nearly every area of software function including internet access of forms to databases, graphics, imaging, multimedia, communication and supercomputing. This was the hope and promise from the beginning. It's coming to fruition and we should not give up that hope!

Java is like python only static, with braces and compile time errors. And a python is a relatively dangerous snake.

Java is the island where i eat, stay and work and promote Java (from Sun). anyway Java is from Sun?

Java is the name of a island, right.?

Josh, I'm really looking forward for the new designer tool. I understand from your previous posts that it will be targeted at creative people, not developer. If you guys make it right, it will be huge! I have a question though. I would be trilled to contribute to a project like that! Will it be open source? Not sure if you have the right to tell me this but…:o) Cheers, Mike

Java is a name of programming language. When developing Java applications you have in addition strong API (library), free compiler and free runtime( called JRE which makes java code to start :+) ) - 197characters.

Java is an affectionate sobriquet for coffee. A JVM is a Java Vending Machine. The JRE is Java Roast Espresso. Language is your medium for requesting java. A library is where you partake of java. You should care because that's the only way I'm going to score that t-shirt. Strabucks could help you with more information.

My acronym soup: Java is a software abstraction that makes any computing box programmable in a sane and portable way with a common set of tools: * JVM: the computer abstraction, uses byte-code (like higher level machine code) * JRE: minimal distribution of tools and APIs needed to execute code in the JVM * Java language: main programming language to write code * Distributions: standard set of tools and APIs to develop * JSE: for PCs * JME: for smaller devices * JEE: for distributed servers * Ecosystem: more specialized languages, more APIs (Apache ...), IDEs, webs, books, a huge codebase, and lots of developers ... It is the biggest platform available, and its developers code for (and in) the biggest spectrum of devices and operating systems available.

Java is a trademark owned by Sun Microsystems.

Java is THE tool(actually free and open source), that we developers will ever need to build, web, client or any kind of applications, It is complete, it has an api that helps you start, you will develop on top of it

Well Java is our only hope. Java is everything that we have to fight this battle against the closed code this insane world, java give opportunities to everyone, you can start a business just buying one computer, everything else java provides to you(netbeans, javadb). Java is everywhere, and maybe it is easier to do some thing in other language, but you will suffer just the first time, because java is not easy, but as soon as you do it one time, you understand how the things work, you will be a better developer. Java is free, Java is hope, Java is all we have. Yeah I know it has its flaws, but besides God what is perfect? Java is almost that. :-)

The Java Programming Languages is a "Platform" and a "Language" itself.

<p>Yes i am agree with your ...

Yes i am agree with your point.