Home > SOA News > Google architect offers tips at ServerSide Java Symposium
SOA News:
EMAIL THIS

Google architect offers tips at ServerSide Java Symposium

By Rich Seeley, News Writer
27 Mar 2006 | SearchWebServices.com

News on SOA, EAI, Web services
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google

Las Vegas - It is an article of faith that every software development team only hires the best and the brightest programmers, said Gregor Hohpe, speaking to an audience of cutting edge Java gurus at The ServerSide Java Symposium in Las Vegas this past weekend.

Maybe the janitor comes in during the night and messes up our code?
Gregor Hohpe
Software Architect, Google, Inc. 

"Which company would say we hire the dumbest engineers?" asked Hohpe, who is software architect at Google, Inc. His assumption is that bad programmers must be working in the limbo of the computer science universe.

But if all application development projects are staffed by first round draft choices, Hohpe wondered aloud how he keeps finding code that is a complete mess. He shakes his head when he finds comments in code that say: "this is wrong" or "performs arcane checks." How can this code and these comments be coming from the best and brightest?"Where did all the beautiful code go?" he asked, repeating the theme of his keynote.

In a facetious take on software developer paranoia, he suggested: "Maybe the janitor comes in during the night and messes up our code?"

As Hohpe sees it, code gets messed up for far more mundane and preventable reasons. Principal among them is that sloppy code begets sloppier code. His theory is that if the initial developer of an application doesn't take care to make his code clear and logical to any programmer that reads it, Pandora's box pops open.

The sequence of events Hohpe outlined begins with the developer writing code that is serviceable for the application – it runs okay – but the code itself is idiosyncratic and hard for another programmer to understand. The along comes a programmer doing maintenance a year after the application goes live. The code appears to be a convoluted mishmash.

So perhaps the second string maintenance programmer working on a revision, says to himself, "I'll just stick my code in here. How much worse can it get?"

After a few revision cycles like that an application that is getting a little long in the tooth may feature code originally developed by the best and the brightest, yet it's going from bad to worse.

He offered his audience at The ServerSide event tips for making sure this doesn't happen to their beautiful code.

"Write code that people aren't compelled to mess up," he said. "Make code so the next person sees you put thought into an elegant solution."

As an architect, he preached the value of modeling the application first. It doesn't even require sophisticated modeling tools, he said, suggesting that even a model drawn on a paper napkin can be a good start.

Reiterating his rule that programs should be written for people not machines, Hohpe said, "Model the people interactions." He said this is especially important when working on the user interface. He suggested showing the application to non-programmers, to see if the programmers' idea of how the application should work, makes sense to a potential end user.

For more information

Read about what happened at last week's Eclipse conference

Check out our Ajax Learning Guide

He warned that the steps in so-called business logic are not always as clear cut as programmers might imagine.

"If business logic was really that logical, it wouldn't be that hard," he said. That is why it is important to find out how end users will actually interact with the application.

He urged the Java programmers in his audience to take advantage of the expressiveness in Java to write code designed for people and that other programmers will see as an elegant solution.

"Write code for people not machines," was Hohpe's mantra throughout his keynote. He suggested that if programmers were only writing for machines, they wouldn't need Java, they could revert to working in Assembler.



Tags: Ajax and RIA (Rich Internet Applications)APIsVIEW ALL TAGS

Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google



RELATED CONTENT
Ajax and RIA (Rich Internet Applications)
Ajax and RIA trends
Ajax tools and products
Ajax Tutorial
News and insight from The Ajax Experience 2009
Doloto tool said to speed large-scale Ajax applications
ECMAScript 5 takes JavaScript to a new level
Google Chrome Web browser: Is it an OS in waiting?
Kapow bows data-driven server for the enterprise
Enterprise mashup patterns act as API enablers
JViews enhances Eclipse RIA support
Ajax and RIA (Rich Internet Applications) Research

Web services development
Java-based Abdera open source tools implement Atom services
Layer 7 secures Oracle ESB, protects SOA applications
Gomez adds new features through platform-wide upgrade
PowerBuilder 12 beta available
RAD Studio 2010 hits the shelves
Oracle brings Fusion Middleware into the modern age
Oracle Fusion Middleware 11g supports SCA, JavaServer Faces development
Investment site turns to Xignite, Amazon cloud computing to power portfolio tracker
SimpleDB shows promise
Yahoo says no deal

APIs
Yahoo's Heilmann talks standards and API connectedness at The Ajax Experience
API monitoring from Apigee, "like Google Analytics for APIs"
JNBridge releases JNBridgePRO 4.1
Reporter's Notebook: Jack Vaughan on agile methodology
NEC and SAIC use SOA for first-responder app
Oracle dresses up its first Tuxedo transaction processor with SCA
HP sees Systinet-HP Quality Center integration driving better SOA outcomes
WSO2 supports PHP during 'growth spurt' driven by SOA
Google Chrome shifts architects' equations as V8 powers the browser
SimpleDB shows promise

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
Drupal  (SearchSOA.com)
evergreen  (SearchSOA.com)
Google Spreadsheets  (SearchSOA.com)
meta tag  (SearchSOA.com)
Prism  (SearchSOA.com)
Rich Internet Application (RIA)  (SearchSOA.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary



SOA Web Services: Application Server, Portals, Java, Microsoft .NET
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2001 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts