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)
Kapow bows data-driven server for the enterprise
Enterprise mashup patterns act as API enablers
JViews enhances Eclipse RIA support
Web Service Test Forum launched by vendors
User combines open source ESB with data services to speed customer reports
The Ajax Experience 1: Google Chrome shakes up the browser firmament
At The Ajax Experience 2 Continued: Browser competition moves Web applications forward
WSO2 supports PHP during 'growth spurt' driven by SOA
Adobe Integrated Runtime (AIR) melds with ColdFusion - builds calendaring system for child services agency
Curl RIA tools hook up to Eclipse framework
Ajax and RIA (Rich Internet Applications) Research

Web services development
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
Amazon links Web services to data
StrikeIron offers new 'Data as a Service'
SOA products aim at healthcare
Web 2.0 tool debuts
WSO2 debuts ultra-light ESB

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
W3C publishes HTML 5 draft
Apache Wicket with Ajax updates

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