Welcome Guest. | Log In| Register | Membership Benefits
News In Review

August 18, 1997

When Development Languages Co llide

Smalltalk users come to grips with the Java revolution

By David Baum

illustration I t's been a little more than two years since Sun Microsystems turned Java loose on the world. Now, many of the largest and most influential companies in the computer industry are putting their muscle behind Java tools and applications, causing some serious angst and soul searching among the advocates of other, more mature object-oriented languages.

Smalltalk is the best example. Before Java came on the scene, Smalltalk was widely regarded as the most productive way to build object-oriented systems. The language was just hitting its stride about the time Java was unveiled, with many enterprise-scale Smalltalk systems in production. But Smalltalk use is fading as Java comes into prominence.

"In the next 12 months, the existing Smalltalk products will maintain their lead in terms of delivering developer productivity and a pure object-oriented environment," says John Rymer, an analyst with Giga Information Group in Cambridge, Mass. "But by late 1998, Java and C++ tools will be competitive."

Rymer believes the overall Smalltalk market will decline over the next two years as developers invest more heavily in Java/C++ hybrid tools. But Smalltalk vendors aren't panicking; most have strategies for shepherding clients into the Java Age.

"We live in a multilingual world and coexistence is a must," says Jim Smith, a senior VP at ParcPlace-Digitalk Inc., a Smalltalk pioneer in Sunnyvale, Calif. "Customers have already proven that Smalltalk and Java can be used successfully in the same applications."

For example, a ParcPlace-Digitalk product called Frost helps Smalltalk developers p artition application code among Smalltalk and Java servers. Similarly, IBM has announced a universal virtual machine (UVM) that will run Smalltalk, Java, and Basic in the same environment. Also, GemStone Systems Inc. in Beaverton, Ore., is developing native Java facilities that let its ObjectStore customers create databases consisting of Java and Smalltalk objects working in tandem.

"A number of traditional Smalltalk vendors are putting out [products] that will let customers build Java front ends for Smalltalk servers," Rymer acknowledges. "These products give existing Smalltalk users an effective migration path to Java."

Server-Side Woes
While Java has penetrated most corporate development strong- holds, experienced object-oriented developers are still more likely to use Java on the client than on the server. "Java may seem like a silver bullet, but that's partly because it hasn't been put to the test," says Reed Phillips, president and CEO of Knowledge Systems Corp., one of the oldest an d most-established Smalltalk service firms, which now also does a significant amount of development in Java. The biggest challenge facing Java is how well it can handle server-side processing, he adds.

Phillips, who has had a hand in many large-scale object oriented systems, says most Smalltalk users view Java as an exciting client-side technology. But he believes Java can't hold a candle to Smalltalk on the server. "Smalltalk wins where the application model is complex or rapidly changing," he says. "Smalltalk also has large, robust class libraries for developing commercial applications, which do not yet exist in Java."

In short, Java's success derives from the "applets for the Web" arena. That's partly because Java's much-lauded client-side portability is actually a drawback for server-side processing. Java source code is compiled into byte code, an interpreted format that can be executed on all types of browsers and desktop platforms. But that means the code isn't fully optimized for each computing environment. A Java Virtual Machine, native to each platform, interprets the code as it executes.

"You need compiled code to create robust server applications, code that is compiled all the way down to the machine level," explains Mike Kennedy, VP of advanced information management strategies at the Meta Group's Burlingame, Calif., office. "Java byte code is interpreted."

Sun Microsystems' SunSoft business unit, the owner of the Java language, intends to continue to use the "half-compiled" Java byte code on the client side, supplemented by server-specific variants tailored to each major operating environment. "Portability doesn't matter on the server because that's a known execution environment," says Kennedy.

Photo of Peter deVries

caption

Partial Partition ing
Another area where Smalltalk still has an edge over Java is in the partitioning of objects across multiple servers. Pennsylvania State University, for example, plans to use ParcPlace-Digitalk's Distributed Smalltalk integrated development environment this way.

"Many Web applications show their limitations as traffic increases," says Peter deVries, director of advanced technology at Penn State. "That's when you need the ability to partition logic among multiple Web servers, something that Java can't do without an object request broker."

DeVries has been spearheading the development of a Web application designed to give students and staff members direct access to a wealth of institutional information residing on Penn State's mainframes. Developers established a three-tiered system using VisualWave, a Smalltalk development environment from ParcPlace-Digitalk. The mainframe is the primary data server. Web servers host the application logic, and the presentation layer is a combination of tradi tional desktop clients and thin clients running Web browsers.

"We're planning to use Distributed Smalltalk to scale the middle tier as the system becomes more popular," deVries says. "We can add Web servers as necessary and distribute the application logic among them."

Meanwhile, Penn State is looking to Java to bolster the existing HTML logic on the client side. The university is also considering using Frost, ParcPlace-Digitalk's VisualWorks add-on that helps Smalltalk developers utilize Java and partition application code among both Smalltalk and Java servers.

Some object-oriented experts say it doesn't matter which language you use; as long as you adhere to each object's published interfaces, those objects can work interchangeably. Communication occurs via middleware such as Microsoft's OLE/COM or an Object Request Broker (ORB) based on the Object Management Group's Corba standard. Netscape Communications' recently announced plan to include Visigenic's ORB technology in Communicator 4.0 wil l make 20 million desktops Corba-compliant.

"Application components can be built in any technology, as long as they can talk to the ORB," explains Tom Moldauer, a partner at Andersen Consulting and director of Andersen's Eagle application framework, which is based largely on Smalltalk. "We use Smalltalk tools to build many of our class libraries, but we also draw on components built with C++, Visual Basic, Delphi, HTML, and Java."

Will Smalltalk ever go away entirely? "Not for us," answers John McGehee, a systems architect in Texas Instruments' semiconductor group in Dallas. "We'll continue to develop new functionality with Smalltalk, regardless of what happens to Java."

McGehee and his colleagues have used Smalltalk to create an immense suite of computer integrated manufacturing (CIM) applications for controlling TI's semiconductor plant. It consists of nearly 2 million lines of Smalltalk code and handles everything from planning and scheduling to material tracking, movement, and real-time, embed ded, machine-process control. The applications were created by a team of 80 to 100 developers using VisualWorks' Smalltalk and GemStone's ObjectStore object database management system. One part of the suite, Control Works, has been licensed to 30 other semiconductor manufacturing firms.

"We have been using Smalltalk products since the early '90s and have been very successful," McGehee says. "We have seen significant improvements over C and C++."

Language Coexistence
But despite TI's commitment to Smalltalk, McGehee says Java is an important object-oriented language that can't be ignored. "Anyone doing software development, regardless of language, has to recognize Java," he says.

Still, McGehee doesn't believe Java is ready for industrial-strength, enterprise-level apps of the caliber his team has created for TI. "But that's changing fast," he adds. "Java is seeing a quick rate of evolution."

How quick? International Data Corp. analyst Steve McClure says Java is coming on faster tha n any programming language in the history of computing-but that C++ and Smalltalk are still showing healthy growth. "Our best estimate at this time is that the Smalltalk market grew about 20% in 1996," he says. "C++ grew around 30%. Those are both healthy numbers."

Avid Smalltalk users aren't surprised. "Smalltalk remains the best language we've ever found for programming complex object behavior," stresses McGehee. "It is fully dynamic, offers the richest class library, and has capabilities such as automatic memory management and dynamic execution that have brought us three- to five-fold improvements in cycle time. Coding in Smalltalk is very efficient."

photo of John McGehee Java has many of these same capabilities, and the industry is starting to see a robust component model with JavaBeans, McGehee adds. But Java may never catch up with Smalltalk in some areas, such as rapid prototyping.

Tim Hilgenberg, a principal at Hewitt Associates LLC, a global human resources firm in Lincolnshire, Ill., says Smalltalk will always be one of the best languages for creating complex business logic. Developers at Hewitt used IBM's VisualAge for Smalltalk to create a calculation engine for the pension component of Hewitt's Total Benefit Administration system.

"Our customers need the ability to run tens of thousands of calculations daily," he says. "VisualAge for Smalltalk allowed us to quickly create the necessary business logic while masking the complexity of the application from end users."

Smalltalk vendors say embracing Java is a logical move, one that is facilitated by the similarities between the two languages. "Other than syntax and strong typing, Java is a lightweight version of Smalltalk," ParcPlace-Digitalk's Smith says. "This is one of the reasons Smalltalk vendors can move quickly to take advantage of the Java language."

Java presents the C++ syntax running on a virtual machine that looks a lot like Smalltalk, expl ains the Meta Group's Kennedy. "These similarities have made it easy for IBM, ParcPlace, and GemStone-the three biggest Smalltalk vendors in the market-to deliver robust and sophisticated development environments for Java. The existing Smalltalk classes will either run on a Universal Virtual Machine or be easily ported to work with Java."

John Slitz, VP of object technology and application development marketing within IBM's Software Solutions division, says VisualAge customers such as Hewitt aren't locked into Smalltalk or any language. "Our clients have various computer platforms. Today, they want a tool that can create 100% pure Java applications and JavaBean components that extend to the Web. VisualAge can take them there."

In the end, Smalltalk customers that already have a big investment in the programming language will most likely continue relying on Smalltalk products. But it will become harder for new customers to justify Smalltalk investments.

Still, few industry experts believe Smalltalk will fade away entirely. "The best products don't always become industry standards," says Knowledge Systems' Phillips. "However, they almost always find industry niches where they continue to thrive. Smalltalk will do the same."


Back to News in Review

Send Us Your Feedback

Top of the Page