That very umph comes with Java. Java was originally developed at Sun Microsystems in 1991 to provide a platform-independent programming language and operating system for consumer electronics (TV sets, toasters and VCRs).
In syntax and execution, Java is a lot like a simplified version of C++. ("simplified" should be read in the previous sentence as "an improved"). It is a highly robust, distributed, high performance, object-oriented, multi-threaded language with all of the usual features. As such, it builds upon years of C++ development, taking the good and dispensing with the bad.
As it so happened however, Java did not make it into the consumer electronics market. Instead it wound up in our web browsers.
Java seemed to be a perfect fit for the web. The language itself was extremely small (as it was built to go inside toasters and alarm clocks with tiny amounts of memory). Thus it could quickly be transferred over the web.
Further, Java was platform independent. That is, any computer with a Java virtual machine can run a Java program. Programs can be written anywhere and be run anywhere. This is crucial because, as we saw in the case of the client-side scripting languages, if a language can not run on any machine, it cannot be used on the web that must service every machine, language, and environment imaginable.
Platform independence works because Java is an interpreted rather than a compiled language. Unlike C or C++ code, when Java is compiled, it is not compiled into platform specific machine code, but into platform independent byte code. This byte code is distributed over the web and interpreted by a virtual machine (typically built right into a web browser these days) on whichever platform it is being run. Perhaps a picture would be useful...
Thus, as a programmer, you need only concern yourself with the generic Java programming language and compile your applications into bytecode on whatever system you are using. You can then be assured that your bytecode will be executed correctly whether your clients are using Macs, Pcs, Unix boxes or anything else.
Java, of course, demands books worth of explanation and description. So, of course, we will not delve too deeply into the language here. Instead, I recommend that you browse through the resources collected at Gamelan which is the be all and end all of Java resource sites. There you can sample several Java programs yourself and see how amazing Java really is.
Did I say amazing? Well, Java is certainly a great addition to every web developers tool box, but as you might have expected, Java has as many drawbacks as any of the other tools we've discussed already.
Related Articles
- Java SucksThough Java can create interfaces that go way beyond the capability of HTML, CGI, and JavaScript. And though the language is extremely powerful and portable, Java still has serious restrictions...
- Conclusion: Stocking your ToolboxAs any good technician knows, there is no such thing as a best tool. The best tool is dependent on a whole host of factors from the type of task at hand to the personality of the marketing director. The best tool is a fantasy. Instead, every web developer should have at her disposal a wide a.....
- CGI: The Birth of Server Side Web ProgrammingAs with most computer jargon, the term Common Gateway Interface can be fairly meaningless at first glance. So, before getting into what CGI can do, lets take a moment to define what CGI actually is...
- Web Services InteroperabilityInteroperability is one of the main promises of Web services. Web services are designed to be independent of the underlying operating system and programming language.
In this article we will address some basic web services interoperability issues that are useful for developers. We will focus on... - Web Service MessagingWeb services are revolutionizing the Internet by enabling applications to speak a common language: XML. While Web services technology enables the execution of remote functions, it does not provide a robust infrastructure for handling information.
- Client Side ScriptingHowever, this is not to say that other technologies are not extremely useful. Several technologies have proven to be just as important as CGI for the average Internet developer. These technologies focus on putting the demands of computation in the hands of the client instead of the server...
- The Power of Windows Hosting - Save Time and MoneyThe Windows Server environment will give you far more freedom and flexibility to run a wide range of web applications and allow you to get a dynamic web site up and running fast.
- NT or UNIX? TopHosts helps you decide!When planning an Internet venture, one of the most basic questions for any Webmaster is what platform to base the Web site on. The two most popular platforms, UNIX and NT are widely available and offer various options and have differing abilities. Your choice of platform will define the utility and ...
- Foot NotesThe Web Developers Resource Library has an excellent HTML Primer if you need a refresher on what HTML is! But basically, HTML (Hyper Text Markup Language) is a way of describing how a web browser should display text and images. HTML codifies page layout into a series of instructions called HTML .....
- What Operating System is Best for Your Web Site?One of the first things you will need to do in setting up your business on the Internet is to find a web host. The Web expands every day, and so do our choices. Just how do you find a web ...
