Oh for the simple days of mainframes when everything was hidden behind the glass-enclosed datacenter. When users didn't know an operating system from a serial port, and we didn't have to explain nothin' to nobody.
Now 80 million desktop PC users clamor for support as they work daily on their Windows applications -- undoubtedly the most complex computer system ever devised by a world gone high tech. If we thought DOS' AUTOEXEC.BAT and CONFIG.SYS files were difficult, we look back on those days with envy. We even thought WIN.INI and SYSTEM.INI were rough. Ha! Although any single environment can be mastered, few of us want to master them all. Supporting Windows 3.1, 95 and NT has become a huge expense. If you were on the cutting edge of NT, you may be supporting 3.51 and 4.0 as well.
What a perfect time for a breath of fresh air. Enter the network computer (NC). Time to switch from bloated Windows to a new paradigm. The "thin client" has come to save us. This almost-reminiscent-of-the-dumb-terminal stores nothing. It gets everything from the server and puts it back there. Users return to what they were paid to do in the first place rather than diddle around with installing programs, configuration settings and other bits-and-bytes trivia.
If we are to believe all the hype surrounding the NC, Microsoft finally loses its grip. It succumbs to the open, democratic world of the Internet where committee rules and cooperation is the name of the game. The World Wide Web has set us free.
The NC is a CPU and memory. It is designed to boot up with a very small operating system and a Web browser. The NC includes an interpreter for running Java applications. Hence, the NC is also called a Java machine. Java is an interpreted language designed to run in any computer that contains the Java Virtual Machine. Java programs are compiled into an intermediate language called "byte code," and it is the byte code that gets executed by the Java Virtual Machine, which is a fancy name for the Java interpreter. Since Web browsers with the Java interpreter are available for all major computing platforms, Java applications run in "virtually" every desktop.
Visual Basic also generates byte code. If there were Visual Basic interpreters for all the major hardware platforms, then Visual Basic would be just as virtual as Java. It's just that the Internet has taken a programming language nobody heard of two years ago and made it mainstream. By the way, Java was not created for the Internet. Sun developed it for PDAs, set-top boxes and other small devices. After the Web took off like a bat out of hell, Sun repositioned it as a new paradigm. Good timing.
The Internet spawns the Web. The Web gives birth to the intranet. The very thing that made this all so appealing was the ease with which we could create Web pages. But static Web pages were accused of being nothing more than interactive color faxes. Then dynamic HTML came along. Using CGI scripts that interface the page to a database server, we could search and query databases on the Web. Then browser plug-ins enabled us to implement audio, video, telephony and animated 3-D graphics.
That wasn't enough. The cry became, "why can't we write real applications for the Internet just like we can for other platforms?" Combined with claims that it costs more than $10,000 a year to support a user with a PC, Java was in the right place at the right time. Now, after spending a decade converting mainframe and mini applications to networks of PCs, we can rewrite all of our information systems over again. We sure have a penchant for keeping ourselves busy in this field. Guess it keeps us off the streets.