Java and JDK
Many confusing concepts of Java and JDK are discussed in simple terms for a beginner.
1. What is a high-level language?
A language is required to communicate with the computer hardware and operating system. A language comprises of instructions known as commands. Commands, earlier at the very beginning are written in binary code, later punch cards and still later in assembly language. But now-a-days, commands (or a language) are written in English that can be readable and writable by humans (binary language cannot be read by humans). A high-level computer language is written in English. Of course, all computer languages are high-level languages.
2. What is Syntax?
Like any other computer language, Java commands are written in with some rules that can be understood by the Compiler (Infact, even a human language like Telugu comes with rules known as grammar). These rules are known as syntax. Syntax varies with each language. Learning a language means learning syntax. The high-level instructions at runtime (execution time) are converted in numeric codes (known as binary code of 0 and 1s) and executed as Microprocessor understands only binary code.
3. What is Java?
- Java is a high-level programming language released to the world in the year November, 1995 by Sun Microsystems (now purchased by Oracle Corporation).
- Java is designed to be used in distributed computing using Internet (Servlets/JSP) and non-Internet (EJB). Java can be developed to work on a standalone system or in client/server communication.
4. Where to use Java?
- There are billions (not in millions) of devices (applications) in the world as-on-today working on Java platform like Web applications (e-commerce), mobile applications (Android is in Java), game consoles (with J2ME) and standalone applications as in banks (Finacle – a banking software by Infosys is developed in Java) etc. To put in other words, there is no place in the world without Java.
- With Java, you can play online games, chat with your friends, estimate the interest payable to your housing loan, design graphic 3D animations and online shopping etc.
5. Who developed Java?
Java is not a single man property. It is a corporate property of Sun Microsystems (now purchased by Oracle). A corporate contains number of employees. Java is developed by a team of software engineers headed by James Gosling. The first version of Java, JDK 1.0, was released to the market in November, 1995.
6. What is the history of Java? OR how Java name came?
The Java project started its way in 1991 to use in set-top boxes. Set-top box is a unit that connects a television set to an external signal. The signal is converted into content and displayed on television screen to the viewers; a visualization to network the digital devices with computers finally. The project was initially named as Green project and afterwards renamed to Oak, on the name of Oak tree that stood in the premises of Sun Microsystems. Finally, at the time of release, Oak was renamed (as the name Oak was existing by that time as a name of a software company) as Java, as suggested by Kim Polese, a Oak product manager in the team of James Gosling and the discussion came when they were in a coffee-shop (other names stood for final selection were DNA and Silk). Java (Jawa, in Indonesian language) is an island in Indonesia famous for coffee plantations and volcanic mountains.
Gosling’s aim was to develop a virtual machine that can "write Once, Run Anywhere", meaning compile once and run on any system. Another aim was to make Java as simple as possible avoiding many confusing concepts of other languages so that the programmer should feel comfortable to learn and practice. Due to its simplicity, Java became very popular within no time and the work on the Java language development did not see back. Whenever, Java is added with more functionality with new classes and packages, the Sun Microsystems releases a new Java (JDK) version. The major changes to Java came with Java 2 (JDK 1.2) version, released in 1998, that included three components – J2ME (Java 2 Micro Edition), J2SE (Java 2 Standard Edition), J2EE (Java 2 Enterprise Edition).
7. What is JDK?
JDK stands for Java Development Kit. JDK is a software that compiles and runs a Java program.
8. Does Java freely downloadable?
Definitely. Java is a freely downloadable software. Got to Java Download and Install
9. Why should we write a Java program in the latest version of JDK?
Java Architects motto, from the day one to to-date (from Jdk 1.0 to JDK 1.8), is how to make Java simple to practice and increase performance. To reach this goal, Java is added with new classes with every version. New versions come with added features like performance, security updates and JVM tuning etc. Using the latest version gets you all these benefits intended by the Architects.
10. What is the difference between a program and an application?
An application has got a task to perform. To perform the task, an application comprises of number of programs. That is, number of programs integrated is an application. Example: Banking application having number of operations like debit, credit, money transfer etc., e-commerce application with operations like shopping cart, billing, money transfer etc.
11. Why should we choose Java only and not other languages?
Following are the underlying principles of Java development.
- Platform Independent: A Java program can be compiled on any platform (OS) and executed on any other platform. That is, you can compile a Java program on DOS and execute it on Linux or Macintosh. This is not possible with any language as-on-day.
- Reliability: Java is a robust and reliable language. JVM executing on a system, does not crash the host operating system even with fatal errors.
- Secure: Java, comparative with other languages of today, is very secure. JAAS (Java Auhorization and Authentication System) gives customized security to a Java application.
Java and JDK 12. What are features of Java?
All the Java features can be described in one sentence:
"Platform-Independent, Portable, Simple and Familiar, Object-Oriented, Architecture Neutral, Robust, Internet-based, Implicit Memory Management, Interpreted, Distributed, Multithreaded, Dynamic, Secured, High-Performance, Free from Language".
All are described with figures in Java Features – Buzz Words
Java and JDK 13. Is platform and language one and the same? Java is a platform or language?
Generally as we talk, a platform means operating system on which programs run. The popular platform are Windows, Linus and Macintosh. A platfrom requires hardware.
We call Java is a platform (to call as Java platform) is a software that runs on the top of hardware and OS.
Java platform comes with JVM (Java Virtual Machine) to run the Java applications and standard libraries known as Java API (Application Programmng Interface).
Java and JDK 15. Does Java comes with any drawbacks?
Yes, there are drawbacks.
Even though Java is hyped as the most demanded language, it comes with its own disadvantages, of course, minor to think and not bothered much with the advantages it brings with. These disadvantages, what the people call, are purposefully committed by the designers to make Java more beneficial to the end users and easy to practice to developers.
- Lack of performance: Java is slower in execution compared to C/C++. The Java designers aimed at platform independence and simplicity rather than its performance. The execution speed is increased with the introduction of JIT (Just-In-Time) compiler. It is really a trade-off in the selection of Java for product development.
- Lack of support for low-level programming: Java is not suitable for low-level system programming. It is difficult to write platform specific code as Java is intended to be platform-independent.
- Lack of features in GUI: The Core Java supports GUI; but its controls come with very poor features. Of course, it is purposefully designed so to give the same look of GUI controls the operating system supports. But more features are added in javax.swing package, features unparallel and comparable to any other GUI in the market.
- Lack of control over garbage collection: Programmers are not given any handles to control the garbage (unwanted objects whose job is over in the execution) generated while the execution is going on. The reason is Java designers wanted to make Java simple to practice and thereby planned to collect the garbage implicitly without any extra efforts by the programmer.
Java and JDK 16. How to start learning Java?
After installing Java, follow Java Learning.
17. For Java tutorial refer way2java.com.