
Please feel free to forward this newsletter to as many friends as possible. I have a personal goal of having one million readers. I can achieve it with your help.
the Software View: KISS (Keep It Simple, Stupid)
For those of you with Internet and World Wide Web access and a Netscape Navigator web browser, please point your browser to:
http://www.softwareview.com/
Scroll down the page and you will spy a link entitled, "Current views web log (fresh news daily! Click reload, clear the browser cache)" The daily news page is also known as a "web log". It is en vogue and the fashion of these days to call it that. Click on the link, click "reload" on your browser or clear your browser cache to ensure that you always receive the freshest, hottest daily news concerning Java, Linux, XML, and the software industry! The link never changes, but I will be updating the HTML file page behind it every day. Please, do take a gander at it every day.
Also, some important news, gentle readers. the Software View is now an Associate Internet World Wide Web site of Amazon.com. I would like to extend my sincere, heartfelt gratitude and thanks for your patronage. I am offering links to books, et cetera that you can purchase from my web site. I would greatly appreciate it if you would purchase software industry books from my web site. Help support my newsletter and web site by purchasing items from Amazon.com from my web site. Here is the URL (Uniform Resource Locator):
Click here
Now, dear readers, on with this week's episode of the Software View!
At first, I wanted to title this missive with the grand, "Smaller is Better", but then a friend jokingly wrote me to say that I had great courage to announce the inadequacies of my private parts over the Internet. Chuckling to myself, I decided to entitle this episode, KISS.
I first became fascinated by George Gilder's The Telecosm Series of articles about three years ago. Let me take you back, dear reader, to the year, 1995. Microsoft and Bill Gates were ascendant. The release of Windows 95 had people staying up past midnight to seize their first copies at CompUSA. The Win32 API and Microsoft's MFC libraries were kings. And UAE's (Unrecoverable Application Errors) were replaced by the more informative, user-friendly GPF's (General Protection Faults).
The Software Industry's other Bill, Bill Joy, co-founder and Vice President for Research at Sun Microsystems, sounded a dire warning. Gilder writes that Joy "lamented the prolix inelegance of the triumphant waves of Microsoft programs sweeping through the industry: "As we add more and more of these features to older systems," he said, "the complexity gets multiplicative. I have 10 different packages that interact in 10-to-the-10th different ways. I get all sorts of surprises, and yet because these things don't play together well the power is only additive. I get this feature and that feature but the combinations don't work. What I'd really like to see is a system where the complexity goes up in a linear way but the power goes up exponentially."
A rule of science from Book 3 of Principia is a 14th Century old principle called Ockham's Razor: "What can be done with fewer is done in vain with more." William of Ockham (1285 - 1349) for William's Surrey village. The urge to simplify has been a noble force in the evolution of both theological disputation and scientific reasoning, enshrined in William of Ockham's razor-sharp warning: Shun the multiplication of entities beyond necessity. Given two "equally effective explanatory schemata," says the Ockham of late medieval scholasticism, avoid the dark-age shadow and promote the cleaner-shaven framework, the one with fewer "arbitrary" hypotheses. In software, complexity has long been rising exponentially, while power has been rising additively. In response, Niklaus Wirth, the inventor of Pascal and other programming languages, has propounded two new Parkinson's Laws for software: "Software expands to fill the available memory," and "Software is getting slower more rapidly than hardware gets faster." Writing software was more an art than computer science. And programmers were like artisans, creating castles in the air from scratch. Writing software at that time was more complex than ever. Microsoft was intimately familiar with that fact. Microsoft Word 6.0 for the Mac was received with a resounding chorus of boos from the Macintosh user community for being buggy, too slow, and taking up too much memory. The Microsoft Internet Explorer browser had numerous security bugs. Microsoft Excel has thousands of features that I will never use in my lifetime. The complexity of Windows was a competitive advantage for Microsoft. Its internal application programmers were always privy to the latest Windows API's and services. Thus, they were able to ship COM and ActiveX enabled software long before independent software vendors.
But none of this mattered. Bill Gates has always known that no matter how huge or complex his software becomes, Intel and the hardware guys would always save his bacon. Windows 98 and Office 98 run reasonably well on a 400 MHz dual-processor Pentium II box.
Meanwhile, in the face of Gates' supremacy, Bill Joy retreated to Aspen, Colorado to pursue advanced research for Sun in small programs and handheld consumer appliances. His small research and development team was called Aspen Smallworks, a division of Sun Microsystems. Microsoft's dominance reminds me much of Detriot and the Big Three automakers in the 1970's. They were creating big huge gas guzzling cars, just waiting for the Japanese to eat their lunch. Gilder writes that in 1995, Bill Joy made a prophetic prediction. Everything would change. There would be a "break-through that we cannot imagine today. Microsoft is cruising for a bruising." A breakthrough "from people and companies we cannot know today. Maybe, even an eighteen year old." The key to software innovation, he said, was smart programmers. Smart programmers are hundreds of times more productive than ordinary programmers. And "let's be truthful," said the sage of Sun, propounding what has become known as Joy's Law, "most of the bright people don't work for you - no matter who you are. You need a strategy that allows for innovation occurring elsewhere."
Well, that eighteen year old, that Archimedean man, who with a lever long enough (Netscape Navigator) and fulcrum strong enough (the Internet and world wide web), single-handedly, moved the world. That man is Marc Andreessen, co-founder and Vice President of Products at Netscape. This little company called Netscape released a simple program, the first commercial Internet browser. These simple events scared Microsoft, the Redmond behemoth, so much that Bill Gates was forced to give his infamous "Pearl Harbor" speech on December 7, 1995. In front of his armies of programmers, he announced that mighty Microsoft was going to embrace and extend the Internet, and announced the creation of the Internet Platform and Tools Division. The Netscape browser and JavaTM combination is so simple, it's like biting off the bottom of an ice cream cone and sucking the ice cream down from the bottom. Netscape's and Java's simplicity will suck the complexity down from Microsoft Windows. We are witnessing the hollowing out of the PC. Bandwidth is King now. No longer do you hear people brag about their chip speed ("My 486 is better than your 386."). You hear people brag about the size of their Internet pipe ("My T3/OC3 is better than your T1."). Sun's mantra is becoming true. "The Network is the Computer".
Speaking of Sun and Bill Joy ... Java is the greatest architectural threat that Microsoft currently faces. Microsoft is terrified of Java. Just as the beauty of HTML is "write once, view anywhere", Java has the potential to become the DNA of the Internet. "Write once, execute anywhere." Joy foreshadowed Java at the 1990 PC Forum conference when he said, "Large programs are embarrassing because they have a fixed set of ideas and so much code that it's very difficult to change them. And they all tend to reflect existing metaphors, not the new metaphors. Everybody's using C++. That's a 'crufty' language. It's very hard to understand. "I'm starting a small group to try to do something small - Sun Aspen Smallworks. I believe it's possible to do small systems of a few hundred thousand lines of code that live in this world of persistent distributed objects with open protocols [and] make an incredible difference - much more than an extra 100,000 lines on a 10-million-line system. So I'm looking for a few great hackers. The one he found was redoubtable Sun engineer James Gosling, Vice President and Sun Fellow. He is called by venture capitalist John Doerr of Kleiner Perkins Caufield & Byers "perhaps the world's greatest living programmer". Like Joy, Gosling was eager to do something simple to bring Sun into the world of consumer electronics where a large program used no more than a few thousand lines of code.
Shahrooz Feizabadi outlines the history of Java well. "At first glance, it may appear that Java was developed specifically for the Internet. However, interestingly enough, Java was developed independently of the web, and went through several stages of metamorphosis before reaching its current status of de facto programming language for the Internet. In 1991, Aspen Smallworks, also known as Sun's "Stealth Project" was started in Aspen, Colorado. Patrick Naughton, President and Chief Technical Officer of Starwave, began work on the graphics system of what later became known as the Green Project. James Gosling was tasked with identifying the proper programming language for the project. He began with C++, but soon after was convinced that C++ was inadequate for this particular project. His extensions and modifications to C++ were the first steps towards the development of an independent language that would fit the project objectives. He named the language "Oak" while staring at an oak tree outside his office window! The name "Oak" was later dismissed due to a patent search which determined that the name was copyrighted and used for another programming language. In November of 1992, the Green Project is incorporated under the name FirstPerson. In June of 1994, Bill Joy started the "Liveoak" project with the stated objective of building a "big small operating" system. In July of 1994, the project "clicked" into place. Naughton gets the idea of putting "Liveoak" to work on the Internet while he was playing with writing a web browser over a long weekend. Kim Polese, now President and CEO of Marimba, forever immortalized the consumer-friendly and marketable name of Java and was Sun's first Java marketing manager. A little known story is that Sun's executives, at first, wanted to charge for downloading Java. But after the engineering team threatened to quit, the decision was made to release it to the world. Sun followed Netscape's lead of giving away software to build market share.
This small, simple combination: Netscape's browser and Sun's Java platform offered the "write once" philosophy and moved the world. I have seen the future ... it is small, and it is simple.
Sincerely,
Mark Kuharich
Join my free e-mail newsletter called the Software View by clicking here or sending mail to thesoftwareview-owner@west-point.org