Хелпикс

Главная

Контакты

Случайная статья





Beyond imperatives



Although Java and C# are reshaping the nature of programming languages, at a more fundamental level there has been surprisingly little change in the past two decades in the way that programmers express themselves. What Java and C# share in common with distant ancestors such as Fortran and Algol is that they are “imperative languages”. The programmer issues instructions to the computer in much the same way as the foreman at a building site shouts at his workers. Yet a higher degree of abstraction clearly exists—for instance, architects spend their time designing the building rather than issuing orders.

Perhaps the closest thing today to a language that expresses the architecture of a program is UML (unified modelling language). UMLwas introduced in 1996 by Grady Booch, James Rumbaugh and Ivar Jacobson, who founded Rational Software of Cupertino, California, to exploit their invention. Originally, UML was conceived as a way of standardising existing tools used to design computer programs. It is a “big picture” modelling language, and it has been embraced by many computer programmers, even though it is not restricted to programming.

UML allows the programmer to “declare” the desired state of a software application, mapping out relationships between different classes of objects. Tools associated with UML then help programmers to generate code in an object-oriented language such as Java. So far, these tools do not translate directly into a complete working program. Programmers still have to fill in many blanks themselves, and some cynics scoff that UML is just fancy flow charts.

  “As the clash between C# and Java shows, a huge amount is at stake. Expect to see a whole alphabet soup of new languages in the next decade. ”

Nerds who measure success in terms of lines of written code are unlikely to be sympathetic to such a new way of developing programs. It will take a generation of youngsters, raised on the likes of UML, before such “declarative” languages pose a significant threat to “imperative” ones. However, a generation change can happen awfully fast in the Internet age, as the switch to Java has shown. At a conference on UMLapplications in Genoa this spring, the buzz in the coffee breaks was about industrial programmers completing major software development projects using just UMLand related tools—without recourse to programming in more conventional languages.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.