Wednesday, December 1, 2010

From OAK to JAVA

I like to follow history behind computers and programming languages and I also wondered how peoples inventing or creating operating systesm or programming languages. One another thing amazed me is the way JAVA evolved (See the history in PPT) and how Green team at Sun arrived the name so called "JAVA". See below email from Gosling to Jonathan (copied from Jonathan's blog)
--------------------------------------------------------------------
From: James Gosling
Date: August 24, 2007 8:16:58 PM PDT
To: Jonathan Schwartz

Subject: How was Java named?

The story goes like this:
We needed a name. We had been using "oak" (which was selected essentially randomly by me), and while the team had grown attached to it, the trademark lawyers ruled it out. We had lots of email debates about names, but nothing got resolved. We ended up in the awkward position where the #1 thing stopping us from shipping was the name.
Our marketing lead knew someone who was a "naming consultant" (I don't remember his name, but he was great). We could neither afford the price nor the time of a conventional product naming process. He agreed to do something rather odd, but effective and quick: he acted as a facilitator at a meeting where about a dozen of us locked ourselves in a room for an afternoon. He started asking us questions like "How does this thing make you feel?" (Excited!) "What else makes you feel that way?" (Java!) We ended up with a board covered with essentially random words. Then he put us through a sorting process where we ended up with a ranking of the names. We ended up with a dozen name candidates and sent them off to the lawyers: they worked down the list until they hit one that cleared their search. "Java" was the fourth name on the list. The first name on the list was "Silk", which I hated but everyone else liked. My favorite was "Lyric", the third one on the list, but it didn't pass the lawyers test. I don't remember what the other candidate names where.
So, who named Java? Marketing organized the meeting, the consultant ran it, and a whole pile of us did a lot of yelling out of random words. I'm honestly not real sure who said "Java" first, but I'm pretty sure it was Mark Opperman.
There certainly wasn't any brilliant marketing mind who went through a coherent thought process.
--------------------------------------------------------------------------

But, there is another reason behind this wirte up,

public class HelloWorld{
public static void main(String args[]){
System.out.println("Hello "+args[0]);
}
}

What you think about above 5 line program? probably one answer among below,
- just a Hellow World program for a beginner
- this program or similar in other languages executed at least once in all amost all programmers life

but, the story I am going to explain here pretty unbelievable.
we just had a discussion - as a start up session for our SCJP campiagn. I planned a session for 15 mins to go over the basics
- Brief history of JAVA
- Compile Java file
- Execute java file
- Creting Jar
- Executing Jar
More over this is not a planned session, i just collected some info about above points and put into a PPT
I never expected this session going to cross around 1.5 hrs and the number of questions we received just based on the "Hellow World" program was amazing!
For others benefits, I am just adding the questions so that you can brush up the JAVA basics..
1. What will happen if the class is Private?
2. How many public classes can add in a single JAVA file?
3. Why the main class is public?
4. What is the significant of static and void in main method?
5. Why don’t a main method return something to the caller?
6. Why JAVA program execution slower comparing to C or C++?
7. Why the argument is a String array?
8. How we can package and compile a set of JAVA files together to meet a common functionality.
9. How to create and run a JAR?
10. How to specify our own MANIFEST file while creating JAR?
11. Why java is generating byte code instead of binary executable like C or C++
12. Why JAVA is not preferred or not meant for command line programming?
13. Java file name case sensitive?
14. Java class name case sensitive?
15. What will happen if file name & class different.
16. Can we have more than one class in a single file?

Interesting?

Question 5 iteslef can be a topic for a PHD. :)
Download Java Intro PDF @ >http://www.s4java.com/tutorials

No comments:

10 Opensource tools/frameworks for Artificial Intelligence

Here are 10 tools/frameworks which popular or getting popular in the “hot topic” of today’s IT world – Artificial Intelligence. The detai...