Java and the new Internet programming paradigm

An excerpt from Rise & Resurrection of the American Programmer

1 2 3 4 5 Page 5
Page 5 of 5
  • Java-enabled Web pages are more interesting than those created without Java, so if your company is planning to use the Web to attract potential customers to your products and services, you need to be aware that your competitors will probably be using Java to create a more tempting and interesting environment in which to participate. Judge for yourself: Take a look at some of the Java demos listed above to see what kind of competitive difference they're likely to make in your world.

  • Java may replace Perl and CGI interfaces, so if you're just now beginning to explore the idea of Web pages connected to application functionality, you should seriously consider jumping right over the current generation of tools like Perl. This will be more of a problem for the organizations that have already invested a lot of time and effort in Perl scripts. But remember, it could be worse: It's not as bad as all those tens of millions of lines of COBOL legacy code that we're trying to maintain.

  • Java facilitates a new form of client-server applications; this may turn out to have the largest impact on many of today's conventional IT organizations. Rather than building your next application with conventional client-server tools and programming languages like Visual Basic or PowerBuilder, why not use a Java-enabled Web browser for the client, and an internal Web server as the application server, with connections to the data server on your enterprise mainframe?

  • Java could seriously decrease the interest in languages like Visual Basic and PowerBuilder, to the extent that those languages are being used for conventional client-server development projects today. Of course, Microsoft is working to make Visual Basic a Web-oriented language, and Powersoft will presumably do the same. But by the time they do so, it may be too late: Java may have captured the "mind share" of the leading edge of Web-oriented application developers.

  • Java may renew the interest in C++; I'm one of the people in the computer field who has described C++ as "the assembly language of the 90s," largely because of the problems associated with language features that Java has eliminated. Maybe Java will come to be the equivalent of "safe sex" for the C++ programmers of the world.

  • Java, together with the Web, may begin to minimize the importance of specific hardware/software environments. This is the result of the architecture-neutral approach taken by Java, together with a similar philosophy from Netscape, which owned most of the Web browser marketplace as this book was being written. Given the inertia that exists in the marketplace, I certainly don't think this will result in Intel and Microsoft going bankrupt tomorrow morning, but it could well take a lot of pressure off the beleaguered Macintosh owners around the world, and it could also fuel a renaissance in Unix and Unix-oriented hardware platforms. And even if Microsoft and Intel don't collapse entirely, the notion that those two companies might no longer "own" the desktop marketplace could be a staggering change in today's industry.

  • Applets could lead to the end of "fatware" and could change the distribution mechanism for software products, which could also trigger some enormous changes in the economics of the software industry. Imagine, for example, what the world would be like if your word processor and spreadsheet program were written in Java; for starters, you wouldn't have to buy it in a shrink-wrapped box, because you could download it from the Internet, with assurances that you always had the latest version. And there would be a much greater chance that you could customize the features and components of the word processor in ways that you can't easily do today. If you don't like the spellchecker on your Brand-X word processor, for example, why not treat it as an applet and replace it with a different spellchecker applet available from a third-party source? Companies like Microsoft, Novell, and Lotus who currently make a lot of money selling us "office suites" with 80-plus megabytes of software (much of which we don't need or want but are forced to buy anyway) would find it a radically different world.

  • Java could change the economics of paying for software; the software industry today is based on the concept of entire applications delivered to the marketplace in shrink-wrapped boxes for a fixed one-time cost, for which customers are given a license that allows them to use the software forever on a single platform. As we've already seen, Java makes it possible to market smaller, bite-sized pieces of functionality -- but more importantly, Java makes it possible to sell one-time usage of a piece of software. This one-time usage could be defined for a single transaction, or for a single session during which the user is connected to a Web server. Software guru Brad Cox argues that such a model will be the catalyst that spawns a thriving industry of software component-builders. (See References.) It's far too early to tell whether this will actually happen, though it's fairly clear that it requires a completely different business model than the one currently used by software product vendors. The companies most threatened will be the ones that sell relatively small products -- software utilities and games, for example -- though those companies may be nimble enough to change their way of doing business. It will be much more difficult for the larger, more established software vendors to respond to this new approach.

Summary and conclusions

While Java is exciting, it's important to remember that it's also very new. However, the potential for Java is so enormous -- in terms of its impact on the overall computing paradigm -- that an organization would have to be suicidal to ignore it. Of course, your organization may not see it that way, especially if it has a great deal of its culture invested in current client-server technologies or in ancient technologies like mainframes and COBOL. Over the next five years, I expect to see most conventional IT organizations slowly moving into the world of Web-based application development, but they'll probably do it through extensions of existing technology (for example, with products like TI's new version of Composer or ParcPlace's VisualWave). But as you make your plans for this new world, remember to make the distinction between the "Java paradigm" -- where live-content applets are dynamically sucked down into the user's workstation for execution -- and the old-fashioned paradigm of building static applications for a client-server architecture that happens to use a Web browser for a client and a Web server as a gateway into the traditional storehouse of enterprise applications and databases.

Whatever the organization decides to do about the Java paradigm, my advice to you -- as a professional programmer, software engineer, or application developer -- is to invest the time and effort to learn this technology. The elimination of the "social contract" between employer and employee means that it may be necessary for you to invest your own time and money to become competent in Java. If you decide not to, you might be able to continue earning a living writing PowerBuilder programs; but you also run the risk that your organization will surprise you one day by telling you that your job has been outsourced to someplace in Guatemala or Greece, where equally competent PowerBuilder programmers work for a fraction of your salary.

There's another aspect of the Java paradigm that you need to think about. As I suggested above, it may be the catalyst that generates a booming cottage industry of applet builders. As a result, you may find that it's possible to create your own "cottage business," rather than working in a large organization with hundreds of other developers. Indeed, it's possible that you may find it necessary to do so in order to maintain your current income. We can already see a small form of this with Visual Basic, which supports an industry of nearly a thousand tiny, cottage-industry companies building VBX components. In the past, one of the big obstacles to this kind of business was the cost and difficulty of marketing one's products. But the Internet, as we all know, is not only an environment for software development, it is also a wonderful mechanism for marketing one's wares via the Web.

The idea of a nation of programmers working from their individual cottages is perhaps a bit extreme; obviously, there will still be room for corporate IT development, as well as conventional software-product builders. But the scenario I've described here does suggest that the conventional IT organizations and Silicon-Valley shrink-wrap software-product companies might not continue to be a growth industry over the next five to 10 years. By analogy, mainframes haven't disappeared, but most of us don't consider it a growth industry. Similarly, COBOL hasn't disappeared, and it still forms the basis of employment for some two million programmers in the U.S.; but even with the recent arrival of object-oriented COBOL, it's hard to imagine it as a growth industry. What I'm suggesting here is that client-server technology and all of the currently popular tools and languages for traditional client-server development may also cease to be a growth industry within the next couple of years. The Java paradigm may well replace them.

In the extreme case, this paradigm shift could put all of the big software companies out of business. As I said earlier, I seriously doubt that Microsoft and Oracle and Computer Associates and the other big software companies will go out of business, but for some of them, the paradigm shift may turn out to be nearly impossible for their existing culture to support, just as IBM found it difficult to switch from a mainframe culture to a PC culture. But if it's hard for the American big-company culture to change, it's also hard for the big-company culture in Europe, Asia, Africa, and South America. It's easier for the culture of a small company to change, and it's even easier for a completely new culture to emerge in a start-up company. There will be many such start-up companies created by the Java paradigm, and several of them will be in places outside the U.S. To participate in this paradigm shift requires a combination of infrastructure (for example, easily available 28.8-kilobyte access to the Internet), technology (a Pentium-based machine in one's own cottage), and an entrepreneurial spirit. And while the U.S. doesn't have a monopoly on these items, it does have a head start. I see it as one of the best things that has happened to the software industry since the introduction of the PC and MS-DOS in the early 1980s.

Ed Yourdon is a consultant with more than 30 years of experience, as well as the developer of structured-analysis and object-oriented software engineering methodologies used by computer professionals around the world. He is the editor of three industry journals and newsletters, has written 21 books, and is a keynote speaker at many major computer conferences. His work takes him to over a dozen countries each year, which provides the global perspective in Rise and Resurrection of the American Programmer.

Learn more about this topic

  • Web sites
  • Books
  • December, John. Presenting JavaAn Introduction to Java and HotJava. (Indianapolis, INSams.Net Publishing, 1995).
  • Tittel, Ed, and Mark Gaither. 60 Minute Guide to Java. (Foster City, CAIDG Books Worldwide, Inc., 1995).
  • Articles

1 2 3 4 5 Page 5
Page 5 of 5