Post-Javaism

Post-Javaism

Peer to Peer Editor: Li Gong • [email protected] Post-Javaism Andrew P.Black • OGI School of Science & Engineering, Oregon Health & Science University he Java programming language ogy — that one period or movement fol- Modernism in has been a phenomenal success. lows another in time — but also a Programming Language Design TIt’s a significant improvement change in direction or philosophy. Post- It is Smalltalk, not Java, that provides over C and C++, and its libraries for modernism, for example, is a reaction an analog to architectural modernism. network and GUI programming have against modernism’s established princi- Smalltalk was a sparse, simple language introduced large numbers of program- ples. Similarly, the call for participation with few unnecessary features; its form mers to previously esoteric disciplines. to the ECOOP workshop effectively was unconventional but functional. But Java isn’t the end of programming defines post-Javaism as a reaction continued on p. 93 language history. What language will against Java’s established principles. we use 10 or 20 years from now? In architecture, the modernists used Although good news for most pro- scientific principles to create stark, grammers, Java has been a mixed functional designs that flouted con- blessing for programming language vention. Architectural modernism’s researchers. On the positive side, Java defining moment was the 1958 con- has demonstrated that a quality lan- struction of the Seagram building in guage can make complex program- New York (see Figure 1). With its func- ming tasks much simpler: it shows that tional, clean, and simple lines, it language design is still a relevant dis- quickly became one of the US’s most cipline. On the negative side, Java’s architecturally influential office build- success has made obtaining support for ings. With its ethos captured in phras- research into new languages — and es that have passed into our cultural publishing the results of that research heritage (think “less is more” and 2004 Andrew P.Black. Used by permission. — more difficult. The effect is that “form follows function”), modernism Figure 1. Seagram building, New York. object-oriented language research became the dominant style of the Modernism: less is more. focuses on fixing Java’s trouble spots 1960s and 1970s. or extending it to provide missing In Complexity and Contradiction in functionality. These are not bad activi- Architecture (1966), Robert Venturi ties, but they are necessarily limited to responded with a definition of post- Java-like languages: statically typed, modernism. He celebrated the rich mix class-based, single-inheritance lan- of historic styles found in great cities guages with a weak notion of interface. such as Rome and observed that many The recent European Conference for people find this complex, sometimes Object-Oriented Programming (ECOOP) contradictory, mix more comfortable included the Workshop on Object-Ori- than stark minimalism. That said, ented Language Engineering for the postmodernism is not a return to clas- Post-Java Era at which researchers sical architecture; rather, it takes clas- gathered to examine languages that sical elements and uses them in incon- diverge from this model. gruous ways. The AT&T building in New York, which incorporates classi- 2004 Andrew P.Black. Used by permission. What is Post-Javaism? cal arcades and a pediment reminis- Figure 2. AT&T building (now Sony The prefix “post” is used in art and cent of a Chippendale highboy, is a Plaza). Postmodernism: using classical architecture to indicate not just chronol- defining example (see Figure 2). elements in inconguous ways. 96 JANUARY • FEBRUARY 2004 Published by the IEEE Computer Society 1089-7801/04/$20.00 © 2004 IEEE IEEE INTERNET COMPUTING Post-Javaism continued from p. 96 its strength. Is this just coincidence, or architecture. New technology is the Indeed, “form follows function” de- do similar forces shape the evolution most obvious: type inference, parser scribes Smalltalk well. Smalltalk reject- of both architectural styles and pro- generators, garbage collection, large ed established conventions, such as stor- gramming languages? and inexpensive memories, peephole ing programs in files, using lots of optimizers, just-in-time compilers, and keywords, declaring types for identifiers, Evolution in Architecture advances in raw hardware speed have and sprinkling everything with paren- Four major forces have shaped archi- changed languages in ways that For- theses regardless of necessity. Instead, tecture’s evolution: technology, eco- tran’s designers could not conceive. Smalltalk embraced an architectural nomics, function, and fashion. Layered over this is the effect of model of amazing purity: everything New technology leads to structures economics. Computation is a young was an object, from classes to closures, that were never before possible: field, but we’ve already seen it progress dictionaries to methods, messages to dressed stone arches, cast-iron facades, from a dozen programmers sharing a numbers. Everything that supported the reinforced concrete, steel girders, plate $100,000, room-sized computer to language — compilers, browsers, execu- glass, mechanical ventilation, insula- dozens of smaller computers compet- tion contexts, debuggers — was an tion, engineered wood products — the ing for the attention of a $100,000 object, too. Less was more. list goes on. Simultaneously, econom- programmer. The result was breathtaking: a ic changes help one technology Although each of those smaller palace that seemed to defy gravity and advance as another recedes. Large computers is a thousand times more certainly challenged conventional wis- plate-glass windows, for example, powerful than one of the old room- dom. Smalltalk provided the seed that were once the prerogative of the fabu- sized machines, our languages are still blossomed into many of the past 30 lously wealthy; the rest of us had to be designed as if the computer’s time years’ innovations, including Java, content with arrays of small panes were more valuable than the program- graphical interfaces, programming in divided by mullions. The situation mer’s. A similar revolution has oc- the debugger, and contextual menus. today is reversed: large expanses of curred in the economics of memory, However, most of the tourists who glass are inexpensive, and we must but perhaps with a more obvious came to admire this modernist palace pay extra for true divided lights. effect: most of us program as if mem- went back home to their Victorian row New functions are another major ory were free, which indeed it is — houses. Only a few visionaries felt they source of innovation. The Romans did until it runs out. could live there. not build railway stations, and the Vic- These changes have made garbage torians did not build multistory park- collection and virtual machines the Java as Postmodernism ing structures. Each new function cat- norm, instead of esoterica of the Taking the analogy to architecture one alyzed the creation of new forms, and research laboratory. Technology and step further, we can say that Java often of the technology that made economics have enabled us to take one defined postmodernism. It celebrated the these forms possible. step away from the raw hardware — mix of styles in historic bodies of code Finally, we can’t underestimate fash- but only one step. and blended classical elements such as ion’s importance. The powerful display The demand for increased function- bytes, Bools, and curly braces with the their wealth by creating new fashions; ality has forced a minority of language functional modernist forms of objects the rest of us often have the urge to fol- designers to look seriously at declara- and instance variables. It gave people low them. I won’t try to explain fashion, tive notations like SQL, used for defin- back the conventions that made them but denying that it’s a powerful force for ing searches over databases, and feel comfortable — along with a healthy change would be foolish. HTML, used for defining Web pages. dose of complexity and contradiction. The result of these forces has pushed Others work with languages that don’t The result was that people liked architecture toward larger, more open even have names: their sentences are Java. They didn’t just visit on Sunday buildings, with such huge oscillations sequences of gestures and clicks in a afternoon tours: they gave up their about the mean that this trend user interface. Approximately 95 per- Victorian row houses and moved in. becomes apparent only decades or cent of all the people who program Java represented not innovation, but centuries later. Will the same be true computers today use these or other consolidation. for programming languages? domain-specific languages. Of course, the remaining 5 percent — people, like The Forces of Evolution Evolution in us, who read IEEE Computer Society I don’t have enough space to pursue Programming Languages publications — realize that these aren’t the architectural analogy too much The forces that effect programming “real” languages at all, and that the further, but I’m constantly surprised by languages are similar to those in programmers who use them aren’t IEEE INTERNET COMPUTING www.computer.org/internet/ JANUARY • FEBRUARY 2004 93 Peer to Peer “real” programmers. We’ve even 1970s. I can’t find anything in Ingall’s opment; Java has not been able to do coined a separate name for them: users design principles paper that argues this yet, despite the valiant efforts of (or sometimes, lusers).1 This catego- against type declarations.3 In fact, Object Technology International and rization is similar to the way that when we designed Emerald in the VisualAge for Java. Because Smalltalk “real” architects recognize that food early 1980s, we had to invent a type represents programs as objects instead processing plants, fabs, bridges, and system that was adequate for letting of files, tools are amazingly easy to municipal housing projects aren’t programmers define their own build.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    4 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us