Back in the dark days of 1990, when the arrival of the push-button home seemed imminent, the folks at Sun Microsystems launched an ambitious project. They would develop a revolutionary computer programming language – one that would run all of our newly intelligent appliances. It would ensure that our robotically prepared eggs didn’t get burned, and that our colours didn’t get bleached.
As the 90s progressed, though, it became increasingly clear that, economic recovery or not, the networked toaster was going to be a pretty tough sell. Happily for the Sun team, an explosion of public interest in the Internet and the World Wide Web arrived just in time to save their project from complete irrelevance. As it turned out, the new language – by this time called “Java” – was especially well suited to the Net’s style of long-distance information exchange.
In nerdspeak, the Web is a “cross-platform data standard”; its millions of pages are all written in something called the HyperText Markup Language, or HTML. In short, it’s been designed so that, no matter what kind of computer you’re browsing with, you’ll be able to read a given Web page on your machine. Coding HTML is relatively easy; it’s more like using a stubborn word processor than programming with a language like C++. This, in a nutshell, is why Web publishing has grown so quickly: nearly anyone can do it.
Lately, though, Webmasters have been an increasingly dissatisfied lot. For all its beauty and efficiency, the Web is still largely made up of static text and still pictures, and this grates at the fashion sense of the multimedia set.
Enter Java. The language that was built to run toasters, Cuisinarts, and bread-making machines became, with a little massaging, a full-blown programming language that would operate on Macs, PCs, and a whole range of UNIX machines. Java, the Sun team reasoned, would do for programming what HTML had done for text: make it cross-platform.
After a flurry of high-powered dealmaking, Netscape Communications announced that the new version of its popular Navigator browser would support Java “in the form of applets” – little programs embedded in Web pages. That’s where things stand today. People running Netscape 2.0 for Windows 95 or Macintosh can make full use of Java-enabled pages. Rather than old-fashioned text and still pictures, the Web is now home to all kinds of interactivity – from animation to games. Or so goes the PR bumph, anyway. In truth, the world of Java on the Web consists of two factions.
First, there are hardcore computer geeks (code warriors, if you will) who’ve found a new – if pointless – toy. The high points of Sun’s Java gallery are a third-rate Hangman game and something called “Bubbles” that turns your computer screen into a simulated glass of 7-Up.
Second, there are great numbers of Web publishers desperately worried that they’re somehow being left behind. And, sadly, the current crop of Java instructional manuals does almost nothing to help. For nowhere in this veritable ocean of new books does anyone bother to explain why it’s worth learning a whole programming language just to add some movement or interactivity to a Web page. Nor does anyone bother to explain why we should choose Java over the range of other, much easier-to-use tools available for spicing up Web pages (Macromedia’s Shockwave, in particular, comes to mind).
And, to top it all off, every one of the books reviewed here resigns itself to the impossibility of teaching the language to a beginner.
Take Hooked on Java, for example. This book was written by members of the team that developed the language, so we have to slog through 10 pages of self-congratulation before the truth comes out: “Java is much easier to learn than C++ because there are fewer concepts. If you know a little C, C++, or Pascal, you’ll be hacking in Java in no time.” Readers not frightened off by this can go on to read descriptions of “cool applets” on the enclosed CD-ROM. These ready-to-go programs, the authors tell us, would be perfect for inclusion on most anyone’s Web page. Much easier to do that than to write them from scratch, too.
Maybe I’m just being sour, but “Bouncing Heads,” Tic Tac Toe, and a choice of dancing Sun trademarks leave me pining for the days of black type and plain grey backgrounds.
Java Sourcebook is much less interested in “cool.” It spends a couple of chapters explaining applets and then outlines just who the book is for: “We assume that you have had some exposure to programming, although not necessarily in C or C++, and probably not with an object-oriented language.” Then, in chapter three, the course begins. Three hundred or so pages and countless chunks of code later, seasoned progammers will have another tool at their disposal, and most Web publishers will find themselves wondering what any of this has to do with their sites.
Teach Yourself Java in 21 Days and Programming with Java! Beta 2.0 cover much the same ground; more than any of the others, these two are most guilty of irresponsible hype. Their covers are bright and friendly, and promise to “unfold the mysteries and complexities of Java” at a level suitable for casual users. Inside, each starts with a friendly introduction, immediately followed by a plunge into the deep waters of objects, classes, variables, and threads. Oh, and it would help if you knew some C++.
Of the five, Java Programming Basics is the best for neophytes who still want to give it a try. It begins with a comfortable one-step-at-a time pace, explaining technical monsters like “object-oriented programming” and “polymorphism” with remarkable clarity. Things get pretty muddy around chapter four, however, when the ghost of C++ appears. Readers should plan on spending long hours with this volume if they really want to learn the language.
Like the C++ that all of these books mention, Java is a full-featured programming language. But the current level of hype is, to my mind, completely out of whack with reality. The people building Web sites today are not programmers. Rather, they’re editors and businesspeople, students and hobbyists – people far more likely to use a word processor than write one. Java isn’t for those people. It’s for people who’d rather build a watch than ask for the time. And, sadly, all of these books are too lost in the nuts and bolts to realize that.
Hooked on Java
Java Sourcebook
Teach Yourself Java in 21 Days
Programming with Java! Beta 2.0
Java Programming Basics