Java is a general computer programming language developed by Sun Microsystems. Originally called "Oak", by its inventor James Gosling, Java was designed with several innovative features. These include a language that is entirely object oriented, and the ability to write an application once and move it to virtually any platform.

Innovations

The benefits of object-oriented programming are not necessarily obvious to non-programmers. Essentially what this means to managers is that code written in Java will be easier to maintain and reuse in the long run. The downside is that object-oriented programming requires better planning from the beginning of a project, and may increase the amount of initial development time a project requires. For this reason alone, Java is rarely a good choice for small projects requiring a fast turnaround time.

The second innovation that Java provides, platform neutrality, is perhaps the greatest reason for its wide acceptance. The fact that Java was originally intended a language for writing device controllers for items such as garage openers and microwave ovens is the key reason for this. In practice, however, this ability has been more useful in writing enterprise class business applications, where mission critical software may be required to run on a variety of platforms over its lifetime. Theoretically at least, once compiled, a Java binary should be able to run on any machine that also has a piece of software called a Java Virtual Machine. In reality, this is not always the case. However, more often than not Java does succeed in this regards, whereas this is impossible with an application written in a language such as C++.

Java in Web Development

In terms of web development, Java is frequently used in two ways. Most commonly Java is used to write server-side web applications using two technologies: JSPs and servlets. Using Java in this capacity is a good choice for complex applications, that will have large numbers (~1000+) of concurrent users, and will be developed by a team of programmers. Less complex projects, with fewer concurrent users may have better outcomes when developed in procedural scripting languages such as PHP or PERL.

The second way in which Java is used, is to create special, browser embeddable, programs called Applets. While applets had a brief period of acceptance, their use is becoming increasingly rare, being replaced by a number of technologies such a Flash and JavaScript, which are more effective at providing design enhancements such as animation and rollovers. Using applets for these purposes is a mistake frequently made by beginning developers. Still, Applets do have a place in writing specialized browser-based applications that cannot be accomplished by these other technologies. Careful consideration should be made before approving any project that uses Applets.

Origin and Growth

Like many recently developed computer languages, Java borrows much of its language design from C/C++. For that reason, many programmers who are proficient in those languages have leaned Java, and provide a large pool of qualified developers. Java has gained additional ground as a first language, as it is generally simpler to master than C++, another commonly used programming language.

Java v. JavaScript

It is important to not that managers should not confuse Java with another language called JavaScript. The two are not the same. Most commonly, Javascript is used to perform scripting functions within a browser. The two languages are not comparable in any significant way, and competency in one does not imply any level of skill in the other.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
© 2004 - 2022 Lampfire Information Services, All Rights Reserved.