Java is a set of several computer softwareproducts and specifications from SunMicrosystems (which has since merged withOracle Corporation), that together provide asystem for developing application software anddeploying it in a cross-platform computingenvironment. Java is used in a wide variety ofcomputing platforms from embedded devicesand mobile phones on the low end, to enterpriseservers and supercomputers on the high end.While less common, Java applets are sometimesused to provide improved and secure functionswhile browsing the World Wide Web on desktopcomputers.
Java was created by a team led by James Gosling forSun Microsystems, James Gosling, Mike Sheridan, andPatrick Naughton initiated the Java language project inJune 1991. Java was originally designed for interactivetelevision, but it was too advanced for the digital cabletelevision industry at the time. The language was initially called Oak after an oak treethat stood outside Goslings office; it went by the nameGreen later, and was later renamed Java, from Javacoffee, said to be consumed in large quantities by thelanguages creators. However, when Java 1.0 wasreleased to the public in 1996, its main focus had shiftedto use on the Internet.java language derives much of itssyntax from c and c++ but has a simpler object modeland fewer low-level facilities.
Java is a fully functional, platformindependent, programming language it haspowerful set of machine independent libraries,including windowing (GUI) libraries.Javaapplications are typically compiled to bytecode (class file) that can run on any JavaVirtual Machine (JVM) regardless of computerarchitecture. The most interested thing about java is "writeonce, run anywhere" (WORA), meaning thecode that runs on one platform does not needto be recompiled to run on another.
One characteristic of Java is portability, which meansthat computer programs written in the Javalanguage must run similarly on anyhardware/operating-system platform. This is achievedby compiling the Java language code to anintermediate representation called Java byte code,instead of directly to platform-specific machinecode. Java byte code instructions are analogous tomachine code, but are intended to be interpretedby a virtual machine (VM) written specifically for thehost hardware. End-users commonly use a JavaRuntime Environment (JRE) installed on their ownmachine for standalone Java applications.
Java is very powerful language butit has its own pros and cons too. Solets discuss some strong and weakpoints of java.
Completely Free. The syntax is familiar to the programmersthat know any other C based language. Java (the platform) has a very large andstandard class library, some parts ofwhich are very well written. Automatic Memory Managementimplemented by Garbage Collection
Java provides a platform for behavioraltransfer from one address space toanother. This is particularly evident in thedynamic class loading mechanisms of RMI(Remote Method Invocation). Explicit Interfaces Improving performance Good portability (certainly better than thatof nearly any compiled alternative)
Simplified syntax (compared to C++) Language design not committee driven Lots of available code and third-party libraries If you love OOP, the only way to write functionsis to make them class methods. Many standard interfaces defined in thestandard library, which would have beenvendor/OS specific otherwise, helps a lot inachieving portability and easeintegration/selection of 3rd party libraries. E.g.JDBC, JMS, JCE, JAI, serial I/O, JAXP, JNDI, etc.Some have correspondence in otherlanguages (e.g. ODBC) but not all.
Performance: Java can be perceived as significantlyslower and more memory-consuming than nativelycompiled languages such as C or C++. Look and feel: The default look and feel of GUIapplications written in Java using the Swing toolkit isvery different from native applications. It is possible tospecify a different look and feel through thepluggable look and feel system of Swing. Single-paradigm language: Java is predominantly asingle-paradigm language. However, with theaddition of static imports in Java 5.0 the proceduralparadigm is better accommodated than in earlierversions of Java.
The general-purpose, high-level Javaprogramming language is a powerfulsoftware platform. Every fullimplementation of the Java platform givesyou the following features:
Development Tools: The developmenttools provide everything youll need forcompiling, running, monitoring,debugging, and documenting yourapplications. As a new developer, themain tools youll be using are the javaccompiler, the java launcher, and thejavadoc documentation tool.
Application Programming Interface (API):The API provides the core functionality ofthe Java programming language. It offers awide array of useful classes ready for use inyour own applications. It spans everythingfrom basic objects, to networking andsecurity, to XML generation and databaseaccess, and more. The core API is verylarge; to get an overview of what itcontains.
Deployment Technologies: The JDKsoftware provides standard mechanismssuch as the Java Web Start software andJava Plug-In software for deploying yourapplications to end users. User Interface Toolkits: The Swing andJava 2D toolkits make it possible tocreate sophisticated Graphical UserInterfaces (GUIs).
Integration Libraries: Integration librariessuch as the Java IDL API, JDBC, API, JavaNaming and Directory Interface (JNDI)API, Java RMI, and Java RemoteMethod Invocation over Internet Inter-ORB Protocol Technology (Java RMI-IIOPTechnology) enable database accessand manipulation of remote objects.
We cant promise you fame, fortune, oreven a job if you learn the Javaprogramming language. Still, it is likely tomake your programs better and requiresless effort than other languages. Webelieve that Java technology will help youdo the following:
Get started quickly: Although the Javaprogramming language is a powerfulobject-oriented language, its easy to learn,especially for programmers already familiarwith C or C++. Write less code: Comparisons of programmetrics (class counts, method counts, andso on) suggest that a program written in theJava programming language can be fourtimes smaller than the same programwritten in C++.
Write better code: The Java programminglanguage encourages good coding practices,and automatic garbage collection helps youavoid memory leaks. Its object orientation, itsJavaBeans, component architecture, and itswide-ranging, easily extendible API let youreuse existing, tested code and introducefewer bugs. Develop programs more quickly: The Javaprogramming language is simpler than C++,and as such, your development time could beup to twice as fast when writing in it. Yourprograms will also require fewer lines of code.
Avoid platform dependencies: You cankeep your program portable by avoidingthe use of libraries written in otherlanguages. Write once, run anywhere: Becauseapplications written in the Javaprogramming language are compiledinto machine-independent bytecodes,they run consistently on any Javaplatform.
Distribute software more easily: WithJava Web Start software, users will beable to launch your applications with asingle click of the mouse. An automaticversion check at startup ensures thatusers are always up to date with thelatest version of your software. If anupdate is available, the Java Web Startsoftware will automatically update theirinstallation.
You can put your first step here, the mostreliable source provided by oracle itself !http://docs.oracle.com/javase/tutorial/getStarted/index.html
Wikipedia Oracle Documentation Personal Experience
FromNazmul Hasan RupokCo-founder & CTO, ZOVOXZwww.rupok.me