12th Annual Jolt and Productivity Awards

If this year's judging debates over the finalists were a bit more pitched than they had been in recent memory, balance — or at least eclecticism — reigned in the end. Should Microsoft's heavily hyped offerings of the .NET framework, Visual Studio .NET and the C# language be included, given that they spent much of 2001 as betas and release candidates? The few judges in the traditionally vendor-agnostic group who had been actively using these products for most of the year won out.


July 01, 2002
URL:http://drdobbs.com/joltawards/12th-annual-jolt-and-productivity-awards/184414869

If this year's judging debates over the finalists were a bit more pitched than they had been in recent memory, balance—or at least eclecticism—reigned in the end. Should Microsoft's heavily hyped offerings of the .NET framework, Visual Studio .NET and the C# language be included, given that they spent much of 2001 as betas and release candidates? The few judges in the traditionally vendor-agnostic group who had been actively using these products for most of the year won out.

Another heated discussion arose over the presence of ruled white index cards, nominated by a reader and subsequently widely mentioned on newsgroups. Would the presence of a diminutive, decades-old stationery item damage the gravitas of the Software Development Jolt Awards? Again, the editors found a happy medium, once the final votes were counted: Give index cards an honorary Productivity Award at the ceremony for representing a new-old way of thinking about requirements and communication. At the award ceremony held April 24, 2002 at the Software Development conference in San Jose, Calif. Senior Contributing Editor Scott Ambler came onstage to accept the "agile" award, hastily scrawled on a flip chart by Technical Editor John Reitano, to the audience's appreciative howls of laughter.

Sun Microsystems' Java 2 Enterprise Edition was a finalist in the frameworks category but came short of winning a Jolt Award, though it did pick up a Productivity Award plaque. Amid the strong sentiments that inevitably surround Microsoft, the judges focused on the truly grand scope of the .NET framework. While pieces of the Common Language Runtime and other components are arguably derivative of the virtual machine concepts made popular by Java, Microsoft was thinking big when it tied all these pieces together in a multilanguage fashion. Obviously, to what degree the world embraces .NET remains to be seen, but it would be shortsighted to ignore the scale of this four-year effort.

"Anybody who has been on the development end of a massive project knows the birth pains of bringing something like this to market," said John Montgomery, group product manager for the Microsoft .NET Developer Platform. "On behalf of the more than 1,000 developers, testers and program managers who worked on the .NET framework for almost four years, I can honestly say it's awards like this that make the effort worthwhile."

Steaming, Cleaning Java
Nevertheless, many of the world's mission-critical applications are now written in Java, so the language—and books and tools designed to optimize its use—were prominent among the finalists. Lee Garrison, vice president of marketing for Sitraka, accepted a Jolt for JProbe Suite in the Utilities category—and made sure to mention his company's engineers. "We started JProbe as a small project back in 1997—the early days of Java, remember?—when developers were having performance problems with their code, and we scratched our heads and said, hmm, maybe they need a profiling tool," Garrison reminisced in his acceptance speech. "Now, JProbe is, I dare say, the preferred tool of tens of thousands of developers around the world who are still working on performance problems on the server side with J2EE, but who are happily solving them with tools like JProbe."

Joshua Bloch, author of Effective Java (Addison-Wesley, 2001), leveraged his experience as a Java libraries architect for JavaSoft, then Sun Microsystems, to write a definitive guide to building robust Java applications. "I didn't expect to win this," he said as he held the Jolt statuette aloft. "Basically, this book summarizes the lessons learned in the first five years of Java platform development, so I want to share the award with two groups of people: all the fine engineers who helped build the platform and anybody who ever submitted a bug report against it."

Looking past the ephemeral technology questions, there's always the problem of keeping developers' heads above the chaos level. That's why Rational had the bright idea of packaging its deep knowledge of successful development processes—embodied in the company's well-known chief intellects—in the form of a browser-based Unified Process. While the tool is highly configurable and easy to use, the methodology it documents is quite extensive.

The Long Trip
In an indication of how far the venerable awards program now reaches, the creators of IntelliJ IDEA, the hottest Java IDE to hit the market in months, got a last-minute visa and made the 15-hour trip from Prague, Czech Republic, to the Silicon Valley just for the Wednesday-night gala. Eugene Belyaev, CTO, and Serguei Dmitriev, CEO of JetBrains (formerly IntelliJ), found that their journey hadn't been for naught.

A gaggle of Google geeks made a much shorter foray from Mountain View to the San Jose Convention Center to receive a Jolt for Google Groups. After Google Product Manager Marissa Mayer thanked the judges, she introduced software engineer Michael Schmitt, "the technical lead who really brought Google Groups to life and gathered the 20-year archive from around the globe." "We're very honored to receive this award," said Schmitt, "especially since the competition are sites that focus primarily on developer productivity. There are very many uses of Google Groups that are good, but you can also waste a lot of time browsing through it, so we are very honored that we still got the award."

The Hall of Fame
Finally, it was time to roll out the biggest honor of the evening. Since TurboPascal came out in 1983, Borland has been releasing smart, efficient developer tools that have gained quite a following. Delphi, for example, has an almost fanatical user community. And JBuilder has won year after year in the Software Development Jolt Awards. In addition to giving Productivity Awards to Delphi 6, Kylix 2 and JBuilder, the judges felt that the company should be inducted into the Software Development Hall of Fame for its consistent performance.

Methodology
Readers propose; judges dispose.

After sending a call to submit nominations to 90,000 Software Development readers, the editors received a record 700-plus nominations for books, tools and Web sites via a form posted at www.sdmagazine.com. The judges discussed the nominees and selected 49 finalists through a blind vote. They evaluated those products in depth before conducting another vote to select the winners. Many of these distinguished judges have participated in the Software Development Jolt Awards for more than a decade. They are:

Scott Ambler
Warren Keuffel
Andy Barnhart
Chris Minnick
Hugh Bawtree
Larry O'Brien
Andrew Binstock
Dana Cline
Roland Racko
John Reitano
Bob DelRossi
Guy Scharf
Gary Evans
Rick Wayne
Stan Kelly-Bootle
Alexandra Weber Morales
Alan Zeichick

The Software Development Jolt Product Excellence and Productivity Awards are cosponsored by the Rochester, New York-based WetPlanet Beverages. Jolt, "the most powerful cola," is the fabled soft drink quaffed by software programmers to get them through prolonged development projects. The awards are presented annually at the Software Development Conference & Expo in San Jose, Calif.




Effective Java
by Joshua Bloch
(Addison-Wesley, 2001)

One of the best things about developing in Java is that you don't have to worry about low-level details like memory allocation and deallocation, threads and string concatenation. Unfortunately, this can also be one of the worst things about developing in Java. Joshua Bloch's book offers an antidote to the guilt that comes from working in high-level languages without knowing what's happening behind the scenes: It lays out exactly what the Java Virtual Machine can and can't be expected to do.

The book consists of 57 sections, each of which offers advice for achieving Java happiness (for example, "Item 8: Always override hashCode when you override equals."). The content is divided judiciously, so that the items stand more or less independently, yet are usefully grouped into thematic chapters. The book is packed with hard-won lessons. The first chapter, "Creating and Destroying Objects," will resonate with C++ programmers who want to understand in fine detail how Java handles the construction and destruction of objects, and lays out common memory-related pitfalls. The proper use of threads is explained masterfully in a chapter made of a list of six pithy items.


Joshua Bloch, author of Effective Java

Juicing up a potentially dry subject, Effective Java unveils the strategy behind the design of the Java standard libraries. Making good use of his experience as Java platform libraries architect at Sun Microsystems, Bloch tells of the Java creators' successes and mistakes in designing extensible APIs. He points out more than one case where a less-than-optimal choice was frozen into the supported libraries since removing it would violate upward compatibility. Understanding the root of these "mistakes" means that we don't have to learn about them the hard way.

—John Reitano

Agile Software Development
by Alistair Cockburn
(Addison-Wesley, 2001)

Every revolution needs a manifesto—and an apologia. In the current rebellion against heavyweight, formal methodologies, Kent Beck's Extreme Programming Explained (Addison-Wesley, 1999) was the manifesto, and Alistair Cockburn's Agile Software Development the apologia. While XP fired the imagination of developers, Cockburn's book suggests that software development is driven by communication and cooperation, that every company has a methodology whether they know it or not, and that it behooves a company to adapt its methodology to the needs of its business and the strengths of its employees. This hardly sounds like a revolution at all—just common sense.

—Larry O'Brien

Software Craftsmanship
by Pete McBreen
(Addison-Wesley, 2001)

While the concept of software engineering, now some 30 years old, is valid for massive, multiyear projects, Pete McBreen postulates that it's not applicable to the way most software is made today: by small teams wielding tools that ameliorate the mechanical problems of yesteryear. The first part of McBreen's paean to the apprentice-journeyman-craftsman educational model focuses on replacing the engineering metaphor; a series of interesting anecdotes about the artistry, intuition and conviction behind many famous engineering triumphs provides compelling support for his view. McBreen goes on to describe how to empower masterful programmers—who should have roughly 15 years of experience building and maintaining applications—to take ownership of their work, mentor their juniors and collaborate effectively.

—Alexandra Weber Morales

Under Pressure and On Time
by Ed Sullivan
(Microsoft Press, 2001)

It's not often that you get an unvarnished look inside the workings of a successful development shop. And yet that's exactly what Ed Sullivan delivers in Under Pressure and On Time, a book with sound guiding principles for software project management. Sullivan was the development center director at Compuware's NuMega Lab, the team that brought us BoundsChecker, among other products. In Under Pressure and On Time, Sullivan covers everything from hiring and organizing the team members to recommendations on requirements elicitation, tools selection, development and release. His writing is thoughtful and concise, but his insightful anecdotes from his NuMega experiences are what make this book both useful and fun.

—Robert Del Rossi




Rational Unified Process
Rational Software

It's difficult to market a development methodology as a product, but Rational (Cupertino, Calif.; www.rational.com) has done an outstanding job with the Rational Unified Process (referred to as "the RUP"). The methodology has gained wide acceptance, and the product delivers content and templates that are accessible through an intuitive browser-based interface.

The RUP is installed as a Web site (internal or external). Samples are provided to show you how to tailor a site for your needs. The RUP doesn't force you into an all-or-nothing decision; you can choose to implement as much or as little as makes sense for your team. Installing a sample provides an excellent resource for educating team members on the methodology in general, as well as the specifics of Rational's implementation.

The RUP provides a tour and overviews to bring new users up to speed. The content is concise and readable, with lots of tooltips and hyperlinks to provide more information. It's easy to navigate and adapts well to different philosophies on acquiring information: Whether you prefer an ordered page-to-page reading or would rather surf freely as topics pique your interest, the RUP delivers.


Gary Pollice, Group Curmudgeon for Rational Unified Process

The process is broken into phases (and iterations within phases) and workflows. The workflows flow across phases with varying amounts of involvement in each phase, and each workflow has a number of standard documents, provided in a variety of formats, that can be tailored for your use. A common reaction to the RUP methodology is "that's sort of what we try to do," and it just makes sense. The ease with which it can be explained coupled with the ability to implement it piecemeal make it worth considering for any development shop.

—Andy Barnhart

Describe
Embarcadero Technologies

Describe (formerly called GDPro) by Embarcadero (San Francisco, Calif.; www.embarcadero.com) has matured dramatically from its birth as a graphical design tool. Describe is now one of the most feature-rich CASE tools on the market. Describe integrates itself into leading Java IDEs: Borland JBuilder, Forte for Java, and IBM's WebSphere Studio Application Developer. Describe provides automatic synchronization of code and UML diagrams, and round-trip engineering is "markerless," so your code doesn't get cluttered with cryptic symbols. Tight integration with Embarcadero's ER/Studio provides bidirectional support for entity-relationship modeling, as well. Describe supports all nine diagrams defined in UML, plus wizard-level support for converting classes into Enterprise JavaBeans and deploying them directly to your application.

—Gary Evans

Sitespring
Macromedia

Managing large Web projects can be a real hassle when you have to manage not only developers' files, but also multiple tasks and multiple clients. Conventional configuration management (CM) systems do a good job of keeping track of changes to files, but Sitespring by Macromedia (San Francisco, Calif.; www.macromedia.com) goes beyond CM to provide browser-based tools for collaboration that enable developers and clients alike to view and discuss sites under development. If your shop is one of many using Macromedia's Dreamweaver and UltraDev, you'll find Sitespring's integration with those products especially attractive, and the workflow features will help you efficiently move projects through your shop and onto your customers' production sites.

—Warren Keuffel

Ruled White Index Cards
Generic

In the late 1980s, Kent Beck and Ward Cunningham first introduced us to Class Responsibility Collaborator (CRC) cards as a technique to teach object-oriented concepts to developers. People quickly started using CRC cards on actual projects, as low-fidelity domain models with their users and as quick design tools with other developers, proving that index cards are viable tools for software development. Today, agile developers often forsake expensive and complex tools in favor of inexpensive and simpler index cards, using them to record features, user stories, business rules, constraints and even acceptance tests. Index cards have jumped out of your mother's recipe box to become important modeling tools, jolting us in the process.

—Scott Ambler




JProbe Suite
Sitraka

Perceptions of Java performance are reminiscent of a classic Midwestern complaint: "Everyone's talkin' about the weather, but nobody's doin' a darn thing about it." How true for Java performance—and how peculiar. Despite the hundreds of Java IDEs, libraries, components and other tools, virtually no company provides tools for speeding up Java code.

The lone exception is Sitraka, a Toronto, Canada-based company (www.sitraka.com) that had the gumption to tackle this task. The JProbe suite comprises several products of which the centerpiece is the eponymous profiler and memory debugger. Run a program on this profiler and up pops a series of detailed and extensive views of code performance. The usual by-line, by-function data is supplemented by advanced graphing elements and numerous filtering options.


Lee Garrison, vice president of marketing, Sitraka

The profiler, like all Sitraka tools, can be used for years without recourse to the manual or the help file. The profiler also has memory debugging tools, which lets you examine memory allocations and objects on the heap so as to reduce the frequency of garbage collection. The thread analyzer helps you in the tricky business of predicting and detecting stalls, deadlocks and race conditions. Finally, the coverage tool locates and measures untested Java code, aiding in accurate assessments of the reliability of test runs. All the tools come in both client and server implementations.

With JProbe Suite, it's easy to show off your code in its Sunday-go-to-meeting best.

—Andrew Binstock

Ant
The Apache Project

It's a truism that open-source projects start with a programmer's personal itch. So it was with Apache Ant (jakarta.apache.org/ant): Existing build tools all had limitations that drove Ant's original author (James Duncan Davidson) to create one that was truly cross-platform, with no dependencies on the format of shell commands, the existence of command-line tools, or indeed much of anything besides a Java virtual machine (and programmers who can handle XML files).

Since its genesis as a special-purpose build tool for Tomcat, Ant's popularity has exploded, making it the builder of choice for projects across the Apache spectrum, then far beyond it. Ant plays nicely with many tools and IDEs, including the AspectJ compiler, the NetBeans and Sun Forte IDEs, Borland's JBuilder, Oracle's JDeveloper and IntelliJ's IDEA.

—Rick Wayne

VM Workstation
VMWare

VM Workstation by VMWare (Palo Alto, Calif.; www.vmware.com) allows you to run multiple virtual machines on top of a Windows (NT, 2000, XP) or Linux host. Each virtual machine can run its own operating system, such as DOS, FreeBSD, OS/2 or any flavor of Windows. All virtual machines have access to system hardware such as network adapters, USB adapters, and the display and software such as the clipboard.

Software developers and testers can now develop and test on multiple platforms using a single PC without requiring a multiple-boot manager. The disk rollback feature allows each virtual machine the ability to accept or reject all changes made during the session.

—Dana Cline

DashO-Pro
preEmptive Solutions

DashO-Pro by preEmptive Solutions (Cleveland, Ohio; www.preemptive.com) solves three problems for Java developers: It reduces the size of, improves performance of and obfuscates compiled Java code to make reverse-engineering more difficult. DashO-Pro determines exactly what classes, methods and variables an application needs and creates a package with only the needed elements. It renames methods, fields and classes using compact, usually single-character, names. Further, it reuses names whenever possible, making reverse-engineering more difficult. Application size is greatly reduced and performance is increased. Serialized classes can be obfuscated, too. Extensive configuration options allow DashO-Pro to support reflection, building API libraries, class inclusion or exclusion, and special naming needs.

—Guy Scharf




The .NET Framework
Microsoft

Microsoft's .NET Framework is that company's biggest and boldest API release since Win32. Combining a huge OO framework with just-in-time compilation of a portable intermediate language, the .NET Framework turns Java's value proposition upside down. Where Java's appeal stems from the notion of "Write once, run everywhere," the .NET Framework's proposition is "Any language, one platform." Both are nice promises, but programming the .NET Framework makes it clear that the platform matters, and Windows is the platform that matters the most.


John Montgomery, group product manager for the Microsoft .NET Developer Platform

My favorite aspect of the .NET Framework is that it provides a solid foundation for the future. While the rise of object-oriented imperative languages has been generally positive, the development world has put on blinders when it comes to alternative models of programming. More than a dozen languages already target .NET, including productivity languages like Microsoft's C#, old favorites like Fortran, and newer languages such as Ruby and Haskell. Components can be mixed and matched (even inheriting from classes written in different languages), all can use powerful subsystems like Windows Forms and GDI+, and all can expose themselves as Web services.

I look forward to the day when business rules are expressed and edited using declarative statements in an easy interface, where new concepts in debuggers and testing tools are available to the widest audience, and where new languages facilitate evolutionary and grid computing. With the .NET Framework, those days are near.

—Larry O'Brien

J2EE
Sun Microsystems

The Java 2 Platform Enterprise Edition (J2EE) by Sun (Palo Alto, Calif.; java.sun.com) is virtually the only contender in multitier enterprise solutions written in Java. To the benefit of developers and businesses, the J2EE component model standardizes the diverse behaviors and interfaces needed for enterprise systems. The J2EE application model hides the complexities inherent in enterprise applications, including transaction management, lifecycle management and resource pooling. Business logic is encapsulated in Enterprise JavaBeans (EJB) components. Client interaction can be presented through plain HTML Web pages, Java applets, XML, Java Servlets API or JavaServer Pages technology, or through stand-alone Java applications. The J2EE standard also includes complete specifications and compliance tests to ensure application integrity and portability.

—Gary Evans

JRules
ILOG

Business rules: They're part of any corporate system, but they become the core focus of development in teams using agile methods, where changing requirements are embraced, and in teams developing Web services, where the interface is usually an industry-specific XML standard and back-end issues are (hopefully) abstracted behind the persistence layer. JRules by Ilog (Mountain View, Calif. and Gentilly, France; www.ilog.com) is targeted (and priced) for corporate teams working in Java that understand the value in isolating and editing business rules in the language of the domain user, not in code. However, as with Ilog's other products, JRules is designed to aid, not replace, the programmer. Perfect for expressing, editing and activating business rules, JRules does those tasks without binding the programmers' hands in terms of display, manipulation or behavior.

—Larry O'Brien

Qt
Trolltech

Trolltech's Qt hit the spotlight in the last year. A well-recognized de facto standard in the UNIX world for cross-platform GUI development, it got widespread publicity in the Windows market when Borland used the Qt libraries in their new Kylix product.

The 3.0 release, from the Oslo, Norwaybased company (www.trolltech.com), moves the product from a primarily code-based tool to a two-way development tool. It also has some unique tools of its own, including Qt Linguist to store and manage your user text in several languages and direct editing of Qt's elegant slots, which connect widgets to other Qt components. Finally, Qt has expanded its cross-platform support to include the Macintosh platform.

—Hugh Bawtree




IntelliJ IDEA
JetBrains (formerly IntelliJ)

IntelliJ IDEA is an IDE that knows Java. The folks at JetBrains (Prague, Czech Republic; www.intellij.com) have paid attention to what Java developers do and optimized those tasks. Say you want to place a block of code within a try/ catch/finally construct—you can do it in two clicks. Want to implement an interface? Two clicks will type out the basic method structure.

Numerous other shortcuts exist that help you focus on developing, not typing. One of IntelliJ IDEA's coolest features is its live templates, which are extensible abbreviations for common code snippets. IDEA also boosts productivity by highlighting syntax errors in red as soon as you type them, and marking them in the right margin for easy scanning.


Seguei Dmitriev, CEO, and Eugene Belyaev, President and CTO of JetBrains

IntelliJ IDEA really shines when it comes to doing XP-style refactorings. Traditionally, moving methods between classes means hunting down references. Extracting code means ensuring that the new method has access to any needed local variables. That's tedious for a developer, but a snap for IntelliJ IDEA. IntelliJ IDEA's refactorings operate within the appropriate scope; for example, refactorings affecting a class work throughout an entire project, while refactorings on local variables work within the function they're declared in. References to moved or renamed elements—even those in comments—are corrected. You can review and exclude any proposed corrections.

Whether you're doing agile refactorings or cranking out Java code from scratch, IntelliJ IDEA will help you get your work done fast, and, given its reasonable price tag, without much damage to your wallet.

—Larry O'Brien and John Reitano

Delphi 6 and Kylix 2
Borland

With its Delphi development system, Borland (Scotts Valley, Calif.; www.borland.com) has gained a new platform and a new framework. Kylix is Delphi for Linux, and the two are source-code compatible. Now, all software developed for Windows can be ported to Linux with just a recompile. This is made possible by CLX, the Component Library for Cross Platform.

CLX's class library of nearly 750 objects contains all the normal visual components, as well as nonvisual controls such as databases and timers. Most editions include complete source code for CLX, and you can easily add your own components. Useful features include support for SOAP, Internet applications (both client- and server-side), and shared objects.

—Dana Cline

JBuilder
Borland

Borland (Scotts Valley, Calif.; www.borland.com) is a name synonymous with cool tools and tireless innovation. JBuilder 6 continues this tradition as a Java developer's single-source productivity solution. From tight integration with the JUnit testing framework to support for multiple JDKs and full support for EJB 1.1 and 2.0 standards, JBuilder is highly visual and thoughtfully engineered. A built-in UML code visualizer and two-way designer for EJBs provide powerful paths for reuse. With support for the latest Java standards, including Java 2, Java 2 Swing/JFC, XML, Java2D, Java collections, accessibility APIs, JavaBeans, JDBC, Enterprise JavaBeans, JSP/Servlets, RMI, JNI, Java archives and more, JBuilder 6 lacks only the ability to write your business logic for you.

—Gary Evans

VisualStudio .NET
Microsoft

One of the most difficult challenges facing any new environment is convincing developers to write code that will run in it. The first tools are often crude and complex to use; however, this is certainly not the case with VisualStudio .NET (www.microsoft.com), a best-of-breed development product for the new .NET environment. Writing and debugging code for a distributed application running on multiple machines and written in multiple languages can be accomplished from a single workstation. Visual tools allow easy creation of user interfaces and simplify connections to underlying databases. A wide variety of application wizards offers quick starts for most VB.NET, C# or C++ projects, with J# promised in the near future. Other vendors are also providing languages and tools that snap right into the environment. This product is a winner.

—Andy Barnhart




Google Groups
Google

If there's one constant for developers, it's the need for information. With increasingly complex and varied tools, it becomes harder to know how to interpret unexpected messages, which tool to use or why an API gives unexpected results. A common place to ask such questions is on Usenet newsgroups. But you have to wait for other developers to answer, even though the same question may have been before. With Google Groups by Google (Mountain View, Calif.; groups.google.com), you can find answers in a few seconds.

The service originally known as DejaNews and now Google Groups offers a 20-year Usenet archive with more than 700 million messages. Newly posted messages are included in the archive within a few days, and somewhere therein may be the answer to your most vexing question. With the Advanced Search page, you can constrain your query to certain newsgroups, periods of time, including or excluding words, or to specific authors. You can then read individual messages or see them in their threaded context. If you want to check the Web, one click will let Google repeat the search using their Web search engine.


Google software engineers Paul Buchheit, Joseph O' Sullivan and Michael Schmitt; Marissa Mayer, product manager and Nathan Tyler, public relations manager.

The art of quickly finding answers is in selecting precise search terms. Once you develop that skill, you may be surprised at how often you find your answer in the first few messages you check. Other Web resources may be better for specific bodies of knowledge, such as Sun's Web sites for Java. For these, Google Groups provides a strong supplement.

If you have questions, Google Groups has answers. Google Groups allows me to mine the gold in the extensive Usenet archives quickly, without the distractions often present in newsgroups.

—Guy Scharf

MSDN
Microsoft

Microsoft's Developer Network universal subscription (msdn.microsoft.com) remains one of the most comprehensive, advanced and cost-effective developer tools. It consists of a "subscription" that automatically sends developers every tool, operating system, database and productivity application (with complete documentation) that the Redmond, Wash.-based company sells. The software is refreshed by quarterly supplements, which, like the original subscription, are available on CD-ROM and DVD. Subscribers also receive priority technical support and access to Microsoft's extensive developer Web site. Other companies such as Sun, IBM, Oracle and Novell offer special-access programs for developers. But for years now, nobody has done it nearly as well as Microsoft.

—Andrew Binstock

developerWorks
IBM

Four years ago, IBM (Armonk, N.Y; www.ibm.com/developerworks.) set out to woo developers. It wanted programmers to think of Big Blue as a resource. Hard to believe, but at the time, that notion was, well, preposterous: IBM was perceived as a closed company that shared little of its innovations with the outside world, except in guarded ways. That no developer today views IBM in this manner is a tribute to the company's remarkable success at providing materials and tools on its developerWorks Web site. More than any other site, developerWorks offers extensive and thoughtful tutorials, large code libraries, cutting-edge technology, unusual tools and scads of original articles. No one gives away more quality programming materials for free than developerWorks. If you're not a regular visitor, it's time to mosey on over.

—Andrew Binstock

WikiWikiWeb
Ward Cunningham et al.

In certain Polynesian languages, wiki wiki loosely means "faster than fast." This open-source tool makes the creation of a sophisticated, templatized multi-author Web site possible at just that speed.

The nominally 1,500-line chunk of Perl code, originally crafted by Ward Cunningham, takes a few good architectural and user interface ideas and pushes them hard. The result is a something like the easy, accessible parts of an application server, bulletin board, collaborative online (no FTP!) content management tool, whiteboard and database all in one package. The learning curve for creating and editing password-protectable pages is kept low by eschewing rigid HTML/XML syntax in favor of keystrokes familiar to everyday use. The resulting pages create their own cross hyperlinks delightfully—and automatically. Try it at c2.com/cgi/wiki.

—Roland Racko





Borland

Borland has a solid track record for making great software tools. Indeed, the company has received Software Development Jolt or Productivity awards for an unprecedented eight of the last 11 years, picking up an additional two awards this year.

Borland has been delivering exceptional software tools since the PC's infancy. The company's 1983 release of Turbo Pascal not only turned Pascal into a viable language for mainstream commercial programming, but also set the stage for serious PC application development.


Top: Simon Thornhill, VP and GM of Borland RAD solutions. Middle row, from left: Mike Bartzel, Director of Business Development, RAD solutions; Michael Swindell, Director of Product Management, RAD Solutions; Alison Deane, Senior Director of Product Marketing and Business Development, RAD solutions; John Ray Thomas, Linux RAD Product Manager. Bottom row, from left: Daniel Thorpe, Lead Engineer, Delphi compilers and libraries; Blake Stone, Chief Scientist; Allen Bauer, Architect, RAD solutions; Chuck Jazdzewski, Chief Scientist.

The company continues to steadily produce other products that have been recognized as leaders in their respective fields. For example, its C++ Builder is prominent in the C++ IDE market, and includes an effective cross-platform visual component library, CLX, recognized as a finalist by this year's Software Development Jolt Award judges. Also a Jolt finalist this year is the company's Interbase product, a fully-functional, relational database server for Linux, Solaris and Windows.

Borland Chief scientist Blake Stone claims that the source of excellence for the company's development tools is the instant feedback the product teams receive. He notes that "We use JBuilder to build JBuilder and Delphi to build Delphi. And, if we don't do something perfectly, we have to live with the rough edges."

Another key factor in Borland's success may be the special culture that has resulted from the company's history. Back in the early '80s, the company competed fiercely with Microsoft, spurring some question as to which company would dominate the desktop. "That question has been answered," grants Stone, but the positive result was that the company refocused on its core strength of innovation. "Given our resources, we always have to find a clever solution, rather than a brute force approach. For bigger companies, the tools may serve a larger marketing agenda, whereas for us, the only purpose of the tool is to be the most useful alternative." This existential challenge has been embraced by Borland's famously dedicated employees. "I've never been anywhere with more passionate people. Despite a rough two years when the company's management seemed out of touch with its customers, the employees never lost their passion to create the best tools," says Stone. Indeed, financially and in terms of continuing innovation, the company seems to have recovered from its brief and unprofitable identity change to Inprise in 1998. In early 2001, the company signaled a return to its core expertise by changing its name back to Borland.

Software Development's judges recognize Borland's reputation for delivering tools that enhance productivity while avoiding vendor lock-in. In the software industry ecosystem, it's valuable to have a company like Borland to balance the behemoths by providing top-notch tools for languages and platforms it does not own.

—John Reitano


Joining the Ranks
These are the products and companies who have found a permanent place of honor in the Software Development Hall of Fame.

2001 Borland Software Corp., 2000 Visual SlickEdit by MicroEdge,
1999 O'Reilly and Associates, 1998 Visio by Visio Corp.,
1997 Visual Basic by Microsoft Corp., 1996 BoundsChecker by NuMega.


Terms of Service | Privacy Statement | Copyright © 2024 UBM Tech, All rights reserved.