A lowdown on... Java
Posted on 21 Nov 2001 at 16:43
A bit of history. Back in the early nineties James Gosling was working on the 'Oak' programming language out of which Java would grow. This was part of a Sun-sponsored project to target smart consumer electronic devices, such as TV set-top boxes.
By 1994, the First Person project was abandoned, but this didn't spell the end for the language. Sun presciently realised that the same constraints for programming consumer devices - the ability to run within a 'small footprint', platform-independence, and the maintenance of security - also applied to the daddy of all networks, the Internet.
Gosling, along with Mike Sheridan and Patrick Naughton, proceeded to shape the language that is globally used today. All that was needed was a name change - something vaguely 'cool', universally recognised and thus easy to market... 'Java'.
This very brief version of Java history, by the way, is based on comp.lang.java FAQ list.
Today, Java is widely used in both commercial and academic worlds - it has largely overtaken both Pascal and C++ as the default language for teaching computer programming.
Only recently, Sun has announced a preview version of a JVM for Windows XP. 'We're committed to delivering the best interactive user experience on the Web through Java technology,' said Rich Green, a VP at Sun. 'The Java platform has achieved incomparable success in the software industry as a fundamental foundation for end-to-end cross-platform architecture for everything from the enterprise to mobile phones. Sun continues to build on this success by delivering cutting-edge support for Java technology for the Windows desktop.'
You might think Microsoft would welcome its latest version of Windows joining the family of platforms capable of supporting Java, but things are slightly more complicated than that. There are two main issues regarding Java and Microsoft.
First, the two companies have already fought a legal battle over Microsoft's version of Java (Visual J++). The court found in Sun's favour that Microsoft had deliberately made its version of Java incompatible with the de-facto standard, thus undermining the 'write once, run everywhere' premise of Java. Effectively, if Microsoft 'embraces and extends' what Java can perform, then the supposedly platform-independent language rapidly becomes implementation-specific.
Theoretically, you should be able to write a Java program and (within reason) get the same results on any machine that can support running Java code. For example, imagine creating a little program to write 'Hello World' to the screen. For a Windows program, coded in C or C++, you would have a particular set of API calls to manage the Microsoft windowing environment (create a window, display it, load a font, etc) and then the particular command to start writing a piece of text. Java, by contrast, essentially 'abstracts' this problem into the essence of 'display text on a screen'.
For example, for a running Java applet, the details of the graphic device-context will be handled by the device's virtual machine. You just 'write to the screen' and the local environment manages this, as sensibly as it can, within its local context. JVMs running on a mobile-phone or on a Windows-based PC or on some special display device, would handle the request differently in the physical details, but 'logically' the program can remain unchanged. Of course, completely platform-agnostic applications do not always make sense - full-featured video editing on a watch, as an extreme instance. But this generalised approach often promises a better solution than, for example, HTML being 'repurposed' as WML (Wireless Markup Language) in order for a Web site to appear on WAP phones.
advertisement
- Need a bit of extra Christmas cash? Grass up your boss, says BSA
- Photoshop Mobile on Android review: first look
- ATI Radeon HD 5970: 42% more expensive in the UK
- Office 2010 Beta – 32-bit or 64-bit – The Choice is Clear
- Why Britain's watchdogs have fewer teeth than goldfish
- Tabbed documents: how to make Office 2010 great
- Outlook 2010 People Pane – does it spell death to Xobni
- Microsoft Outlook 2010 screenshots
- Co-Authoring in Word 2010 and SharePoint Foundation 2010
- Microsoft Outlook 2010 screenshots: Backstage view
- Getting to grips with Microsoft's IT Health Environment Scanner
- Virtualise your servers
- The changing face of travel gadgets
- Build your own distributed file system
- The bulletproof Dell that costs an arm and a leg
- Microsoft Office 2010 Technical Preview: Q&A
- Lawnmowers, the TyTN II and one odd insurance request
- There'll never be a bulletproof OS
- How far can we trust apps?
- Five nice touches in Outlook 2010
advertisement
Printed from www.pcpro.co.uk


