To many readers, Mozart/Oz represents a new addition to the pantheon of p- gramming systems. One way of evaluating a newcomer is through the eyes of the classics, for example Kernighan and Pike's qThe Practice of Programming, q a bookthatconcludeswithsixqlastingconceptsq simplicityandclarity, generality, evolution, interfaces, automation, andnotation.KernighanandPikeconcentrate on using standard languages such as C and Java to implement these concepts, but it is instructive to see how a multiparadigm language such as Oz changes the outlook. Oz's concurrency model yields simplicity and clarity (because Oz makes it easier to express complex programs with many interacting components), g- erality, and better interfaces (because the data?ow model automatically makes interfaces more lightweight). Constraint programming in Oz again yields simplicity and clarity (because theprogrammercanexpresswhatneedstobetrueratherthanthemorecomplex issue of how to make it true), and o?ers a powerful mathematical notation that is di?cult to implement on top of languages that do not support it natively. Mozart's distributed computing model makes for improved interfaces and eases the evolution of systems. In my own work, one of the most important concernsistobeabletoquicklyscaleupaprototypeimplementationintoalar- scale service that can run reliably on thousands of computers, serving millions of users. The ?eld of computer science needs more research to discover the best ways of facilitating this, but Mozart provides one powerful approach. Altogether, Mozart/Ozhelpswithallthelastingconceptsexceptautomation, and it plays a particularly strong role in notation, which Kernighan and Pike pointoutisanunderappreciatedarea.Ibelievethatprovidingtherightnotation isthemostimportantofthesixconcepts, onethatsupportsalltheothers.Mul- paradigm systems such as Oz provide more choices for notation than sing- paradigm languages.... 50 normal, 50, 58, 85 time-dependent, 208 velocity-dependent, 135 forces resolving, 50 free body diagram, 50, 57, 62, ... 236, 238 generalized velocities, 211 golf ball dynamics, 148 golf ball trajectory, 150, 176 governor, 62 gradient, 115, anbsp;...
|Title||:||Multiparadigm Programming in Mozart/Oz|
|Author||:||Peter Van Roy|
|Publisher||:||Springer Science & Business Media - 2005-03-01|