Monthly Archives: August 2012
SmartCloud leads IBM to dethrone Microsoft on CNN’s “Four Horsemen of Tech” list
The times, they are a’changin’! In the shifting sands of technology, IBM is proving to be the Rock of Gibraltar.
CNN Money just conducted their annual survey of technology and investment experts to determine which 4 technology companies are the best investments in the industry. Apple, Amazon, Google, and IBM are what they describe as “The Four Horsemen of Tech”.
Microsoft and Dell are no longer on that list. And as recently as 2 years ago Research in Motion might have been expected on that list. The CNN article describes the changing of the guard is due to the shift from PCs to mobile and cloud solutions. I think it goes deeper than that.
Apple, Amazon, and Google are all following the same track that led Microsoft to its fame and glory days by riding the fast-but-fickle success opportunities provided by the consumer market. They are simply the latest fashion trends. In this list of top performers, IBM is the dark horse, being the only one not involved in consumer products whatsoever. They also just celebrated their 101st birthday this year. Coincidence? I don’t think so.
Rides on the consumer wave are relatively short. Google is 16 years old, Amazon is 18 and Apple is 36, though Apple’s great surge came in the last 6 years starting with the introduction of iOS. For reference, RIM and Dell are 28 years old and Microsoft is 37 and they are already declining. They too, based their success heavily on consumer products and are now feeling the consequences. Yes, RIM’s BlackBerry is intended to be a business tool, but it is a consumer device first and foremost. It is considered even more personal than a personal computer (PC). One might argue that Microsoft also makes software for business, but their primary focus has always been on consumers and their foray into the business product market has depended on consumer-driven brand recognition. Also, because many of their products service both business and consumer needs, they are driven by consumer markets. (See RIM.)
Similarly, the focus that led 3 of the current Four Horsemen to their place in the lineup has a consumer emphasis: mobile devices and advertising. Apple’s iPhone and iPad redefined mobile. Google has Android devices and search (advertising). Amazon is into selling (and advertising) along with the Kindle for a mobile presence. All of them are also dabbling in cloud services for businesses. Then there is IBM, the seasoned veteran of business solutions. What makes them part of this leadership crowd? I isn’t just for their SmartCloud solution, I think it is the fact that they have stayed true to their earliest beginnings. Unlike all of the other players, IBM has focused their attention, with laser beam precision, on the proven stable base of the business market.: They provide business solutions for businesses. IBM has resisted the temptation to cross the line into the consumer market, even at the urging of experts and loyal customers who pushed to have Lotus Notes repackaged for consumers. Doing so in the short term would certainly win consumer approval and thus fend off the consumer-led push for the Microsoft Outlook mail client to be used at both work and home. But that would have forced IBM to chase the whim and fads of consumers rather than staying focused on long-term needs of businesses.
When it comes to technology, IBM is all business.
I predict we will see a rise and fall of all 3 of the consumer-driven horsemen in CNN’s list, replaced with 3 new ones as the what’s-hot list changes. I also predict that IBM, with it’s exclusive commitment to serving up business solutions, will continue to stand at or near the top as it has for decades. For consumer products, you shouldn’t care. But for your business, it matters.
A Moment in History for Structured Programming
As we race forward in technology, clamoring to be the first person to discover the next big innovation with all the chaos and enthusiasm of the great land rush of the American West, it is good to occasionally take a break from the race and check our bearings by looking back at our past.
Today is a very special day in the history of computer science. Not for the birthdays we are celebrating today (Happy Birthday Ed!) but for the memorial of one who passed away on this day in 2002. Today I write in honor of the Dutch computer scientist Edsger W. Dijkstra and his influence on this field of science.
Edsger Wybe Dijkstra (May 11, 1930 – August 6, 2002) made numerous important contributions to computer science. You can get a good feel for his impact in the Wikipedia article about him. As you read, search through the bibliography and you can find details of his original works that apply to software development even today. Even Google probably would not exist without Dijkstra’s insights. There is one topic that had a particularly profound impact on me. It all revolves around the Goto statement.
In 1968 this article by Dijkstra was published in the Communications of the ACM (Association for Computing Machinery).
In his letter, Dijkstra calls for the abolishment of the Goto statement from high level programming languages because it promotes bad programming practices that make for unmanageable code. The debate went on for awhile before subsiding. But then in 1987 a new article was published in the Communications of the ACM titled “Goto considered harmful, considered harmful”. This article debated the merits of the original article of 1968. That stirred the debate once again and over the next few months letters to the editor dominated the magazine. Then after several months of debate, there was one letter to the editor that was particularly detailed and scientific which poked holes in the arguments of both sides of the debate, first pointing out the incorrect syntax used in the arguments, like the use of upper case vs. lower case variables, then it ripped apart the content of the arguments. In the end, the author stated his disappointment that after 20 years, we had made no real progress on this position. The letter was signed by Dijkstra himself.
I find it fascinating to have been actively involved in that debate with the computer science legend himself in those days. Since that time, the topic has occasionally surfaced again in one form or another, though never with the energy and passion of the programmers and computer scientists (called developers now) in those first two waves of debate. And yet, even today, 44 years later, we still see the results of programmers who continue to fail to heed the real message Dijkstra was sending: the concept of structured programming. Corrupted data, security vulnerabilities, software crashes and incompatibilities are the result. While object-oriented languages make it easier to follow structured programming, they do not guarantee it. Learning to write a program (now we call them “apps”) is easy. There is an endless supply of self-taught developers. The challenge is getting the world to use the best practice concepts that Dijkstra was championing.
It might seem like 44 years is a surprisingly long time for such bad practices to persist. But, depending on what you consider the starting point, computer science is only about 60 to 80 years old. If you compare Computer Science to Medical Science, we are at the medical science equivalent of using leeches and witch doctors. With the explosion of information, it is no longer likely that any one person will accomplish the brilliant feats like DaVinci, Edison, or Einstein did, but hopefully our collective intelligence will make it possible to accelerate the maturing process of computer science that we can quickly realize the goals of Edsger Dijkstra in his pursuit of better software. So what do you think? Should the Goto statement be considered harmful?