Comments
Richard Davies wrote: The UK has a good crop of technology pioneers in cloud computing - for example ElasticHosts, FlexiScale, Flexiant, OnApp - and also some strong government initiatives such as G-Cloud. We will have to see whether this kind of technical leadership converts into swift mass-market adoption or not.
Cloud Expo on Google News

SYS-CON.TV
Cloud Expo & Virtualization 2009 East
PLATINUM SPONSORS:
IBM
Smarter Business Solutions Through Dynamic Infrastructure
IBM
Smarter Insights: How the CIO Becomes a Hero Again
Microsoft
Windows Azure
GOLD SPONSORS:
Appsense
Why VDI?
CA
Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments
ExactTarget
Messaging in the Cloud - Email, SMS and Voice
Freedom OSS
Stairway to the Cloud
Sun
Sun's Incubation Platform: Helping Startups Serve the Enterprise
POWER PANELS:
Cloud Computing & Enterprise IT: Cost & Operational Benefits
How and Why is a Flexible IT Infrastructure the Key To the Future?
Click For 2008 West
Event Webcasts
Easy Does It
Easy Does It

Visual Basic is arguably the most successful programming language in the history of programming languages. The number of VB components and applications out there is staggering, and the number of VB programmers is even more so. However, there is a not so silent contender for the World's Most Popular Language. It's OO, multithreaded and Internet-ready. It's an expressive and flexible language capable of industrial-strength server-side computing and, for the C++ crowd, here's the real rub: it's idiot-proof. It's Java. Java not only promises enterprise solution-capable software, it promises to do so with VB-style ease of use and with an unrivaled adoption rate. Therein lies the central issue: The combination of ease of use, power and popularity makes Java an important language for the software engineering community.

Consider distributed computing. There has been an evolution of technologies including socket programming, RPC and distributed objects. For a while, however, we had distributed objects with a little baggage - you had to muck with your application logic and you had to generate stub and skeleton code. This model is rapidly being eclipsed in favor of easier and more seamless programming models. Clients of remote objects often need to know that the server object is remote to be prepared to deal with the inevitable "gotchas" of network computing. However, there is no justification for coupling the server object to the distribution layer - it need not know how it's being accessed. Therefore, some distributed computing platforms are removing this burden from the programmer and allowing any class to be remote-enabled without modification. In fact, even the tedious and error-prone proxy class generation step now happens on demand at runtime. It no longer requires intervention from the programmer. What does this mean? Distributed computing in Java is approaching the theoretical limits of ease of use!

The beauty of this is that it's just the beginning. Distributed computing is just one tool in a software engineer's bag of tricks. The entire gamut of software engineering is subject to this level of ease of use. Java's thread model has almost made platform-independent, multithreaded application development a non-issue. Garbage collection almost makes memory management a non-issue. Dynamic class loading greatly facilitates mobile agent platforms and applications. JavaBeansª is quickly making GUI development a matter of connecting the dots. EJB promises to work similar magic for server-side transactional programming and persistence integration. JECF is on the way to solving the problem of developing electronic commerce software. The list goes on and on. Many of yesterday's programming nightmares are evaporating before our very eyes. As layer upon layer is added, we'll find more software development issues being taken care of automatically. Expect it and demand it.

Microsoft Windows NT 5.0 is supposedly comprised of no less than 25 million lines of code. That is significant by any standard. Now, imagine if the authors had to write this opus, not in C and C++, but in binary. Imagine the complexity of such a task. The number and quality of minds needed would be tremendous. You could make a strong case that human sociological development has not yet advanced to the stage that such a group project is possible. It would seem that an accomplishment like NT 5.0 is simply not feasible (perhaps not even possible) without the higher levels of abstraction provided by C, C++, COM and the rest. My own experience in building distributed computing technology provides at least a modicum of evidence that Java, with its flexibility, ease of use and power, has the potential to go even further. Java makes it possible to achieve instant distributed computing, and there is every indication that there is much more to come.

Let's step back and consider the big picture. Why do we even care that software is easy to build? Does it matter that Java technologies are easy to use? Definitely, because by making it easier for us to build software, we are improving our ability to solve problems. The human race advances by the number of operations it can perform without thinking about them. When Alfred North Whitehead said this, he probably wasn't thinking about software engineering abstractions, but his words couldn't be more applicable. Let's face it, software runs the world. Many improvements in the nature of medicine, government, quality of life, science and economy can be directly linked to improvements in software. By making it easier to build software, we're making it easier to advance as a people.

The last thing the Java community needs is more hype. It is certainly not my point to compound the hype problem. My contention is that Java and the emerging frameworks do, or at least can, facilitate software engineering better than the commercially viable alternatives on the market. I offer the ease and growing adoption of distributed computing in Java as a success story. Java isn't the solution for world hunger. It does, however, offer a compelling combination of popularity, ease of use and power. Software engineering is getting easier, and the Java platform is an important reason why.

About Rhett Guthrie
Rhett Guthrie is a Senior Technologist at ObjectSpace, Inc. working on ObjectSpace Voyagerª, ObjectSpace's innovative distributed computing
platform.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

Latest Cloud Developer Stories
In a surprise move Tuesday Oracle wheeled out its Big Data Appliance. That’s the one it said in October would be ready sometime in the first half. Only nobody believed it meant early in the first half. Heck, it’s not even clear anybody thought Oracle could make the first half...
Rackspace Hosting, the service leader in cloud computing, on Thursday announced its acquisition of SharePoint911, an industry leader in SharePoint consulting, training, and "JumpStart" services within SharePoint. The unification of both companies provides capabilities to deliver ...
Wyse Technology, the global leader in cloud client computing, on Thursday announced it's working with Microsoft to market school IT labs and one-to-one computing solutions that allow a cost effective delivery of innovative IT enabled education. These solutions are available throu...
With Cloud Expo 2012 New York (10th Cloud Expo) now under four months away, what better time to start introducing you in greater detail to the distinguished individuals in our incredible Speaker Faculty for the technical and strategy sessions at the conference... We have techn...
Nimble, the social CRM platform has announced the launch of Nimble 2.0, billed as the “most social” CRM platform on the market today. Nimble was designed entirely with social CRM in mind and is the first social business platform that empowers companies with the ability to get clo...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

SYS-CON Featured Whitepapers
ADS BY GOOGLE