JavaWorld proudly announces the winners of its 1999 Readers' Choice Awards The votes are in and the readers have spoken: JavaWorld proudly announces the winners of the 1999 Readers’ Choice Awards.The JavaWorld editors picked four or five nominees in each of the following 10 categories important to the Java community:Best BookBest CompilerBest Performance Monitoring/Testing ToolBest IDEBest Virtual MachineMost Innovative CompanyMost Useful New or Revised API of 1999Best Free ProductBest Platform for Developing Java ApplicationsBest Java Middleware ProductThen, starting on November 29, we opened up the voting to the true Java experts — our readers. In order to ensure a one-reader, one-vote rule, we limited voting to subscribed JavaWorld readers only. Moreover, we gave readers the opportunity to cast write-in votes, as well as the chance to comment on their reasoning. Voting continued until the January 7 deadline. In total, 402 JavaWorld readers voiced their opinions and voted for their favorites.JavaWorld will present all the winners with trophies recognizing their achievements and their right to brag to all comers. We’ve also named runners-up in each category, who will each receive honorable-mention trophies.Now, let’s get to the winners! Best BookWinner: Thinking in Java, Bruce Eckel (Prentice-Hall 1998) Bruce Eckel’s Thinking in Java focuses, first and foremost, on teaching Java basics. “The single goal of [Thinking in Java] is to give a strong grounding in the fundamentals of the language,” says Eckel. “If you understand the core of the language, then you will be able to acquire more advanced features.”Eckel says Thinking in Java’s solid step-by-step approach grew out of his experience teaching Java, which allowed him to figure out what approaches work best to teach the language. “I got lots of feedback about what confused people … so I could decide what to put first, what order to sequence the material, and how people need to learn the language.” With 20 years of programming under his belt, Eckel’s programming expertise is further demonstrated by his 1995 Software Development Jolt Award-winning book, Thinking in C++, according to the Prentice-Hall Website.In addition to the print version, Eckel makes Thinking in Java available for free download from his Website (see Resources for download information). The book’s 2nd edition — available as an in-progress copy on Bruce’s site — is due out in print form in mid-June 2000 from Prentice-Hall.JavaWorld’s readers felt strongly that Thinking in Java was of very high quality, as two representative comments illustrate: “Thinking in Java does not rephrase the JDK documentation. In addition to teaching you to program in Java, it also makes you understand Java.”And:“I bought about 10 Java books before I bought Bruce’s, and I just couldn’t get the hang of Java until reading this book. Also, it’s a great reference. I’ve been a Java programmer for a year now, and I recommend Bruce Eckel’s book to everyone who asks!”When asked how he felt about JavaWorld’s readers voting Thinking in Java as Best Book, Eckel replies, “Getting this award is very exciting. I’ve always felt like JavaWorld is an exceptional magazine, full of stuff I don’t yet know. A lot of people I know and trust write for it, and the fact that it had the vision to be an Internet-only magazine shows the belief in Java and the Net as the way of the future.”Honorable Mention: Java in a Nutshell, 2nd Ed., David Flanagan (O’Reilly & Associates, 1997). Best CompilerWinner: Borland JBuilder JIT The Borland JBuilder JIT, or just-in-time compiler, has a long pedigree, according to Juergen Fesslmeier, product manager of JBuilder. Its forebears go back to 1995’s Borland C++ 5 Suite.The Inprise JBuilder Compiler team, responsible for the JBuilder JIT, boasts years of experience producing quality JIT compilers, says Fesslmeier. “The Borland JBuilder JIT expertise stems from Borland’s experience in delivering high-performance and highly optimized compilers, which makes the Borland JBuilder JIT up to 40 percent faster than the Sun JIT and speeds up code execution more than 10 times compared to interpreted code.” He further states that the JBuilder JIT is more stable than Symantec’s JIT. Fesslmeier reports that 1999 saw the introduction of JIT support for Linux shipped in JBuilder 3.5. He expects 2000 to see further performance improvements, support for additional platforms, and numerous bug fixes.Inprise reacts with enthusiasm to JavaWorld’s readers’ choice of the JBuilder JIT as Best Compiler. Fesslmeier states, “We are extremely excited. We feel that we exactly serve the needs of the Java community.” Honorable Mention: Sun Microsystems javacBest Performance Monitoring/Testing ToolWinner: KL Group JProbe Developer Suite Last October, the KL Group launched JProbe Developer Suite version 2.5, winner of JavaWorld’s 1999 Readers’ Choice Award for Best Performance Monitoring/Testing Tool. JProbe’s set of performance analyzing tools empowers developers to rapidly find bottlenecks, memory leaks, threading issues, and other performance problems. Allan Armstrong, the KL Group’s JProbe product manager, says that JProbe’s features make it especially well suited for analyzing server-side environments, including EJBs and servlets. Further, JProbe features integration points with numerous top-selling application servers, such as BEA’s WebLogic, IBM’s WebSphere, and Allaire’s JRun.According to Armstrong, big improvements added to JProbe in 1999 included:Memory Debugger, which pinpoints the cause of memory leaks; the first of its kind for Java appsJProbe Threadalyzer, used for analyzing threadsJProbe Coverage, used to find untested codeArmstrong reports that JProbe is experiencing enormous success as customers standardize on Java and J2EE for server-side applications. “For server-side applications, performance and reliability are of utmost importance. We’ve had customers with serious performance and reliability problems download JProbe and solve their problems quickly and easily.” Looking forward, the KL Group will continue to improve JProbe. “There’s an exciting year ahead for JProbe. We’ll be announcing more information as the year unfolds,” says Armstrong.On winning in the Best Performance Monitoring/Testing Tool category for 1999, Armstrong states, “We’re excited and delighted to be chosen by JavaWorld’s readers.”Honorable Mention: Intuitive Systems Optimize It! Best IDEWinner: Borland JBuilderInprise/Borland’s JBuilder, winner of the Best IDE category, offers programmers a rapid development environment capable of producing Java programs ranging from the smallest applets to full-scale applications, says JBuilder Product Manager Juergen Fesslmeier. “Whether you need mission-critical, enterprise-wide distributed Internet solutions or networked database and client/server connectivity, JBuilder’s open, scalable, and standards-based development environment shortens your time-to-market for Java applications,” Fesslmeier says.The 100% Pure Java JBuilder stands out from the competition, says Fesslmeier, because of its RAD (rapid application development) environment, ease-of-use features, and multiplatform support. In 2000, Inprise introduced JBuilder 3.5 for the Linux, Solaris, and Windows platforms. Version 3.5 comes in three flavors: the free Foundation, and the Professional and Enterprise editions.As to how Inprise feels about winning the 1999 Readers’ Choice Award for Best IDE, Fesslmeier states, “We are very happy and tremendously impressed by the overwhelming feedback from the Java community.”Honorable Mention: IBM Visual Age for Java Best Virtual MachineWinner: IBM JDK 1.1.8 for Windows NT When asked why IBM keeps producing great JVMs like the winning JDK 1.1.8 for Windows NT, Scott Hebner, IBM’s director of ebusiness technology marketing, states that Big Blue strives to cooperate on standards while competing on implementation. To that end, according to Hebner, IBM’s JVM efforts endeavor to increase the size of the Java pie. For example, IBM makes its JVM available on at least seven platforms. “We believe Java is a critical element in creating an environment for building applications where they can be deployed on as many platforms as possible,” says Hebner. “So we’re investing in this concept of an open platform that doesn’t lock you into any particular vendor.”According to Hebner, IBM JDK 1.1.8 for Windows NT’s most important features include: JVM portability across multiple platformsInnovation in areas of performance, international support, and stabilityA rich portfolio of products that support it, including WebSphere, VisualAge for Java, DB2, and MQSeriesIn 1999, IBM’s JDK 1.1.8 for Windows NT saw several significant improvements, including performance enhancements to the just-in-time compiler and the mixed-mode interpreter, as well as international support.IBM plans to introduce 1.3 implementations in the first half of 2000. “We’re going to continue to invest and we’ll continue to roll out updates to keep up with the latest technology as we move through 2000,” says Hebner.IBM reacted to its 1999 Readers’ Choice Award for Best Virtual Machine with enthusiasm. “I think [being chosen] is a major endorsement, and I think it demonstrates that we’re paying attention to the wants and needs of the Java development community. It shows that some of the investments that IBM has made with performance, international support, and stability have really paid off,” states Hebner.Honorable Mention: Sun Microsystems JDK 1.2.1_03 for Solaris Most Innovative CompanyWinner: Sun MicrosystemsFor Sun Microsystems, the winner in the Most Innovative Company category, Java represents a crucial part of how the company defines its excellence in the computing industry, according to Bill Roth, group product manager of the Java 2 Platform, Enterprise Edition.“Java establishes and reinforces our position in the intellectual vanguard of the computer industry,” explains Roth. “It’s going to be part of everything we do … tools, application servers, and platforms. [Java] is part of the atmosphere, part of the oxygen here at Sun.”Roth identifies several important improvements to the Java platform in 1999. Topping the list: the delivery of Java 2 Platform, Enterprise Edition (J2EE). J2EE completes the Java platform, which now runs the gamut from cell phones to the largest servers. Other important developments include the continued improvement of the HotSpot JVM, EJB 1.1 with its container-managed persistence (CMP), and JavaServer Pages, which open up Java to a new class of Web developers.As for Sun’s big plans for Java in 2000, Roth says three words: “XML, XML, XML.” To that end, in 2000 Sun will:Continue to improve the SAX and DOM parsersPresent a new XML data-binding architecture to make XML programming easierExtend J2EE to enable business-to-business commerce by making it easier to process XML documents in an enterpriseSun’s reaction to JavaWorld’s readers voting it as Most Innovative Company in 1999? “We’re grateful and humbled,” says Roth.Honorable Mention: IBM alphaWorks DivisionMost Useful New or Revised API of 1999Winner: Sun Microsystems Enterprise JavaBeans In a category that covers useful new or revised Java APIs, you’d be a fool to bet against Sun — they’re all Sun APIs, after all. But which one would win: JSP, Java Servlet, JMS, Enterprise Java Beans, or Swing? JavaWorld’s readers picked EJB.According to EJB Senior Product Manager Ann Betser, EJB is an industry initiative coordinated by Sun with participation from the ecommerce industry’s most important companies. “We’ve seen ecommerce take off in a big way, and EJBs have been a key building block … enabling ecommerce companies to rapidly come out with ecommerce systems, big and small,” she notes.EJB’s component architecture enables developers to rapidly deploy versatile enterprise applications. Moreover, because 20 to 30 middleware vendors, including BEA Systems and IBM, support EJB, customers know that they can protect their IT investment by developing reusable EJBs, according to Betser. “[EJBs] protect both past investment, because EJBs layer on top of old systems, and future investment, because you prevent vendor lock-in,” she continues.Sun debuted the EJB 1.0 API in 1998, and EJB 1.1 was introduced a year later at the 1999 JavaOne conference. Betser identifies three major improvements in EJB 1.1:Mandatory support for entity beansXML support in the EJB deployment descriptorBug fixes that led to a tighter spec and improved EJB portabilityEJB 2.0, currently in development, will be the first version of the spec developed via the Java Community Process (JCP), Sun’s program to open Java development to the Java community. Betser states that the EJB 2.0 JCP process is proceeding swiftly.Betser reports that Sun’s EJB team is delighted that JavaWorld readers picked EJB as the Most Useful New or Revised API of 1999. “We’re honored and proud to be selected for this award,” she says. “I personally feel that the choice is in line with the marketplace. [The market] is voting with its feet in adopting the technology.”Honorable Mention: Sun Microsystems SwingBest Free ProductWinner: The Java Apache Project JServ The original Apache project produced the Apache Web server in 1995. Since then the project has expanded into numerous sister projects, including the 1999 JavaWorld Readers’ Choice Award’s Best Free Product: the Java Apache Project’s JServ servlet engine, designed to add Java servlet support to the Apache Web server.As you would expect from the Best Free Product, the Java Apache Project makes the JServ source code free and open. According to Jon Stevens, a Java Apache Project active developer, JServ’s open source license represents one of the servlet engine’s most compelling features. “Open source is one of the best ways to come up with a stable, reliable product.”Any successful open source project requires time, effort, and passion from a group of dedicated developers. For JServ, Stevens reports that about 15 active developers worked on the product, with at least 50 additional developers contributing code, documentation, and/or advice. (See Resources for a link to the Java Apache Project’s credits page.)JServ’s most important improvement in 1999? Speed, says Stevens. In 1999, JServ’s active developers drastically improved the protocol JServ uses to communicate with the JVM, granting JServ 1.1 an impressive 200 percent performance boost over version 1.0. And, best of all, any Java developer can see how the JServ team accomplished this feat by downloading the source code.What’s in store for JServ in 2000? JServ will be succeeded by the Jakarta Project’s Tomcat initiative, announced by Sun at last year’s JavaOne conference.When asked what the Java Apache Project would do now that it won JavaWorld’s 1999 Readers’ Choice Award for Best Free Product, Stevens laughs and says, “ApacheCon was just in Orlando, home of Disney World.”Honorable Mention: IBM JDK 1.1.8 for LinuxBest Platform for Developing Java ApplicationsWinner: Microsoft Windows NTMicrosoft Windows NT edged out four other platforms — Solaris, Linux, Mac OS, and IBM’s OS/2 Warp — to claim the title of Best Platform for Developing Java Applications.Of the many readers who provided comments about Windows NT, most reported that they chose NT because it was the platform with the most Java tools and products, and which thus enables them to develop Java applications most efficiently.What’s in store for NT in 2000? Well, as was widely reported, Microsoft NT evolved into Windows 2000, launched in February. According to “Windows 2000: Top Reasons to Switch” (PC World, February 2000), Windows 2000 sports several improvements over NT:“Windows NT users making the move to Windows 2000 will see a different but even more impressive set of improvements. Windows 2000 offers all of NT’s features — after all, it was originally called Windows NT 5.0 — but inherits such long-overdue Windows 95 and 98 features as plug-and-play hardware detection, support for the FAT32 file system, and power management. A new version of the NT file system builds in encryption.”Moreover, Windows 2000’s added stability should please Java developers, whose demands for stability knows no bounds.Note: Microsoft was unavailable for comment at press time.Honorable Mention: LinuxBest Java Middleware ProductWinner: BEA WebLogic Application ServerBEA Systems acquired the WebLogic Application Server from WebLogic Inc. in September 1998, and the company hasn’t looked back since. In April 1999, BEA introduced version 4.0, followed by version 4.5 in September. According to Joe Menard, president of BEA’s ecommerce server division, WebLogic succeeds because it offers compelling features for both developers and customers. Developers enjoy WebLogic’s support for Java standards — the most Java-pure support in the application server market, according to Menard. Customers, on the other hand, know that WebLogic supplies both scalability and reliability — factors critical for putting applications on the Web.With scalability and reliability in mind, Menard says that clustering support represents WebLogic’s most significant new feature in 1999. “With clustering, we’re able to put a wide number of machines on the LAN. Add one machine, two, twenty; it all appears as one machine,” says Menard. “Scale by simply adding machines. And if any machine fails, there’s always a backup.”Menard reports that in 2000 BEA will focus on manageability, reliability, and further compliance with Java, XML, and WAP (the Wireless Application Protocol) standards.How does BEA feel about JavaWorld’s readers picking WebLogic as the Best Java Middleware Product?“We couldn’t be happier,” says an excited Menard. “It will make the engineers know the work they’ve been doing has been outstanding. It’s always good to give kudos to the people who make the product.”Honorable Mention: IBM WebSphere Application ServerConclusionJudging by the positive and enthusiastic reactions from the winners, the JavaWorld 1999 Readers’ Choice Awards were a tremendous success. More significant, however, is the overall commitment to quality and innovation demonstrated by all of the 1999 nominees. That commitment bodes well for the Java community as it strives to create useful applications and products with Java. Finally, JavaWorld must thank its impassioned readers for expressing their desire to reward those products and companies who made Java stronger in 1999. Without our terrific readers, Java would be an unread footnote in the back of some thousand-page computer science textbook.Scott Plamondon is JavaWorld’s senior editor. His previous JavaWorld articles include ” The need for speed, stability,” ” Java 2 source code release: More open, but not open source,” and ” Jini, Sun’s magic out of the lamp.” Java