With its rumored plan to create a new programming language, Microsoft invites software developers to take a fresh look at corporate programming requirements, now that we’ve had time to reflect on Java’s pros and cons.
With programming languages, my inclinations are known. I believe that hardware gets faster more quickly than programmers get smarter and that next year’s chips will boost software performance more reliably than this year’s coding tricks.
Performance is better pursued by algorithm refinements and user- interface improvements than by riding on the ragged edge of low-level optimizations. I believe and research confirms that users would rather have software with predictable responses than software that’s fast when it works but often crashes or misbehaves.
I rarely write in C or C++ without producing an assembly-language output file. Reading my compiler’s diary (so to speak) is usually revealing. When I think about a business computing problem in a formal, machine-executable way, I want a programming language that maps more closely to the way I think than to the way the computer works.
A similar preference may account for much of the popularity of Inprise’s Borland Delphi, but it should also spur programmers to seek a less well-known firm: Harlequin.
Harlequin is one of a growing number of implementers of a language called Dylan. This language originated at Apple Computer as a fully object-oriented language with automatic memory management, safety mechanisms based on abstract data types and error-handling mechanisms based on exceptions. Sounds a lot like Java, doesn’t it?
Doesn’t look like C or C++
But Dylan, unlike Java, doesn’t look like C or C++, with their line- noise syntax. Dylan provides an English-like syntax that might remind some programmers of Ada, BASIC, Logo, REXX or even Lisp (the latter being another of Harlequin’s products). All these are languages that put substantial emphasis on readability, both by programmers and compilers, since a piece of code gets read about 10 times more often than it gets written.
When it first appeared, Dylan did not offer Java’s white-hot combination of a platform-neutral virtual machine and an exploding Internet in need of portable content. “You get opportunities for new languages only so often,” said Harlequin’s director of software tools, John Hotchkiss, when I spoke with him last week. “Java had a wonderful opportunity.”
Apropos of Microsoft’s rumored “Cool” project, Hotchkiss said, “I would hate to see the next opportunity squandered on something that only made incremental changes to C++.” From Harlequin’s viewpoint, the new application environment that’s giving birth to the next generation of tools is the CORBA-based enterprise network.
With Harlequin’s Dylan compiler, the programmer can choose between full run-time extensibility and full compile-time optimization. “We can test different forms dynamically against live CORBA components,” Hotchkiss said. “It’s a wonderful capability.”
Enterprise software development has moved beyond applications to the creation of application systems. Tools such as Harlequin’s Dylan Enterprise Edition can ease that migration.