Java : Java Glossary

*0-9ABCDEFGHIJKLMNOPQRSTUVWXYZ (all)

Java logo Java

Introduction for Non-Programmers

I have been using the Java computer language since 1996. A computer language is a way of specifying a recipe for calculations, e.g. to teach a computer how to compute Canadian sales tax. Java has been a remarkably successful language, the most successful of all time in terms of the number of devices it runs on from cell phones, to laptops, to desktops to giant mainframes. It is installed in 400 million Android devices alone. It is unusual in that once you write a Java program it will run unmodified on any computer with any browser and pretty well any operating system. Even programs written for Java 1.0 will still run without modifications or recompilation. It was invented by Sun Microsystems. The Oracle database people then bought Sun out. It is friendly to programmers in that usually won’t let you make a mistake and when it does, it is quite specific explaining what went wrong when the consequences of your error manifests. Its main drawback is verbosity, but IDEs (Integrated Development Environments) help compensate for that. You can use it and write programs in it without spending a dime. Even the editing tools and databases are mostly free. It is the ultimate free lunch, nay, free banquet.

Introduction for Potential Java Programmers

There are two sorts of answers required to the question What is Java?, one for people unfamiliar with any computer language and one for those who already speak some computer language.

  1. Java is a tool that lets you direct the computer to do computations, keep track of things or draw graphs. Many of the more complex animations and calculating tools you see on the Internet are Java Applets running inside your browser or are Java Servlets running on server machines. The main advantages of Java over other computer languages are:
    1. It was designed for the web.
    2. Java programs run unmodified on any computer (without even recompiling — converting the human-friendly *.java form of the program to the machine-friendly *.class/*.jar form). With ordinary computer languages, you need a separate version of each program specially modified for each platform.
    3. Java programs have an elaborate safety net to prevent them from doing any damage to themselves or others. The other commonly used languages have no such safety net.
    Why learn Java? It might be sufficient to know that there are three Java jobs waiting for every Java programmer.
  2. Java is a computer language like a stripped down C++ that has been designed so that its object modules can run unmodified on many different platforms. Its primary characteristics are safety and security. The language was originally named Oak, but it turned out that name was already taken. Over coffee, somebody suggested Java as a replacement. Since programmers are the occupationally prone to caffeine addiction, the name seemed auspicious. James Gosling is considered the father of Java. More recently Bill Joy and Arthur Van’t Hoff are seen also as the Java illuminaries.

Oracle currently provides Java with the Solaris Operating Environment, Microsoft Windows, Apple and Linux platforms. Other vendors provide Java for other platforms.

Advantages of Coding A Project In Java

Disadvantages of Coding A Project In Java

Learning More

Java Security

Java is head and shoulders above other languages in security. There was one major hole discovered and immediately fixed in 2012-06. That broke Java’s record of 16 years without a security hole. Java’s detractors danced about claiming the Java itself was too dangerous to use, even though its record is far better than any other programming environment. Windows itself had tens of thousands of holes detected.

The breach was not even completely Java’s fault. The Java sandbox hole exploited a hole in browser security accessed via Java. It is no co-incidence his happened during the transition from Sun to Oracle control of Java. SecureList put out an advisory, which is still available, explaining that the problem has been fixed, but using language that might, to the lay person, suggest Oracle did not properly fix it or that users would have to do something special to get the repaired version.
The Java security problem has been fixed, but a new vulnerability has emerged call the 0-day exploit. It has only been partially fixed. Until it is, it is wisest to turn off Applets, unless using them on trusted sites or on your local machine.

On the other hand, JavaScript has no security at all. It is in no way related to Java. Using that Java-ish name was a dishonest attempt to piggyback on Java’s good reputation. ActiveX, JScript and ECMAScript have similar problems.

Any application you install can do anything it wants to any of your files, no matter what language it is written in. With applications, the author of the program, either through incompetence or malice, is the risk, not the Java runtime. Java is no exception. The concept of security applies to code you run automatically merely by clicking something in the browser. Java has three types of online program:

  1. unsigned Applet Very safe. Cannot look or write you your disk files. It cannot find out even the most basic facts about you. See wassup to discover the safe properties are that it can determine. Programmers refer to this as the Java Sandbox since programs are severely restricted to completely innocuous actions.
  2. signed Applet If approval is granted, it can do anything a application can do, unless you specify what limitations you want to place on it in your policy file. You have extremely fine control of the privileges you grant.
  3. signed Java Web Start If approval is granted, it can do anything a application can do.

There are two ways Java code can be digitally signed:

  1. Java code signed with a real certificate guarantees the code has not been tampered with and that a company like Verisign or Thawte guarantees who the author is and that they have checked him out.
  2. Java code signed with a self-signed certificate guarantees the code has not been tampered with and that the author is someone with access to upload a copy of his public key to the same website you got the code. It assures the program has not been modified or damaged in any way since it was signed.

Java also internally always does consistency checks so it cannot accidentally do damage. Other languages don’t even try. The trashing of Java is primarily politically motivated. People who use inferior software programming systems tend to spread lies (without knowing if they are true) about Java presumably to excuse their own poor quality software.

Java Applets have inherently much superior technology for client side computing. Nothing else has a sandbox. Nothing else is so scrupulous about signing for dangerous code. ActiveX has signing, but does not enforce it. Nothing else is so compact. What happens when Java stumbles is a bit like Mercedes-Benz doing a recall for a potentially dangerous problem, then the Yugo owners chorusing that this means the Yugo must be superior to the Mercedes.

Books

book cover recommend book⇒The Java Programing Language, fourth editionto book home
by Ken Arnold, James Gosling, David Holmes 978-0-321-34980-4 paperback
publisher Prentice Hall
published 2005-08-27
This is not The Java Language Specification, the formal language specification. This is not a suitable book for beginners. The fifth edition, 978-0-13-276168-0, is due out 2013-04-11.
Australian flag abe books anz abe books.ca Canadian flag
German flag abe books.de amazon.ca Canadian flag
German flag amazon.de Chapters Indigo Canadian flag
Spanish flag amazon.es Chapters Indigo eBooks Canadian flag
Spanish flag iberlibro.com abe books.com American flag
French flag abe books.fr amazon.com American flag
French flag amazon.fr Barnes & Noble American flag
Italian flag abe books.it Nook at Barnes & Noble American flag
Italian flag amazon.it Kobo American flag
India flag junglee.com Google play American flag
UK flag abe books.co.uk O’Reilly Safari American flag
UK flag amazon.co.uk Powells American flag
UN flag other stores
Greyed out stores probably do not have the item in stock. Try looking for it with a bookfinder.

This page is posted
on the web at:

http://mindprod.com/jgloss/java.html

Optional Replicator mirror
of mindprod.com
on local hard disk J:

J:\mindprod\jgloss\java.html
Canadian Mind Products
Please the feedback from other visitors, or your own feedback about the site.
Contact Roedy. Please feel free to link to this page without explicit permission.

IP:[65.110.21.43]
Your face IP:[18.97.9.170]
You are visitor number