Code Comments
Programming Forum and web based access to our favorite programming groups.2005 Dr. Dobb's Journal Excellence in Programming Award goes to Guy Steele Jr. , A Sun Fellow & Distinguished Engineer Steele was one of the handful of people who requested a copy of my APL79 poster paper on paths around n-cubes : http://cosy.com/cosylogo.htm . Some quotes from the interview with him in the April issue http://www.ddj.com/documents/s=9603/ddj0504b/0504b.html : .... GS: Performance means shortening the time for the computer to solve the problem. Productivity means shortening the time between posing the problem to the programmer and having the answer. It's important to make the programmer efficient as well as the program. DDJ: And how does one do that? GS: We have ideas for improvements to programming languages which might make programmers more productive by relieving them of more of the mechanical and administrative burdens of getting a program to work. We're looking at automated testing, more rigorous type systems, new languages. At Sun, we're looking at the conjecture that making programming languages closer to traditional mathematical notation can make things easier for the scientific programmer. DDJ: APL or Mathematica? GS: APL looks rather strange to a working mathematician or physicist. [ this from the co-author of Common Lisp and Scheme ] Fortran is a little bit like math, but not a lot. Where did the asterisk for multiplication come from? Fortran was invented on machines intended for accounting. What if we tried very hard to make a programming language look like mathematics and took advantage of Unicode? We're finally getting good support for full mathematical character sets in text editors. We're designing a programming language called "Fortress." Kind of a takeoff on Fortran... DDJ:...wedded to the zeitgeist of our troubled times! GS: Well, we did have in mind a programming language with greater security through a stronger type system. We're trying to take some of the security features of Java, and mathematical notation, and good ideas already in Fortran and roll them all together. .... DDJ: Design flaw in Java? Tradeoff? GS: There was a conscious design decision for object-oriented rather than closure-oriented programming. Interestingly, when anonymous inner classes were introduced into Java, we had a full implementation that made them act like closures. In particular, if you did up-level references to variables, you could assign as well as read. We got push-back from users, "We don't want this, we prefer an implementation in which you can only read the up-level variables." In order to support the full-blown closure implementation, it was necessary to do heap allocation implicitly. At that time, the users were still a little nervous about heap allocation and garbage collection. They felt more comfortable if places where heap allocation took place in Java were always explicitly flagged by the new keyword. Nowadays, heap allocation in Java is better understood and that feature could be added easily, but there's no call for it. I have a theory that programming languages have lifetimes. Java will probably be around another 20 years. It's time for a new programming language to come along. [ APLers had no problem leaving heap management up to the implementers right from the get-go in the `60s . Java was stale coffee when it was brewed . ] .... DDJ: Does Fortress look like Java and C++? GS: We're doing a research prototype rather than a product prototype, so we feel free to try out a bunch of crazy ideas. Syntactically, we're trying more to be inspired by mathematics than by Java. The object organization is Java-inspired. Array handling is Fortran and APL inspired. Other influences are MatLab and Mathematica. We're also trying to add checking of dimensional units such as kilograms, meters, and feet. We had a paper [E. Allen, D. Chase, V. Luchangco, J.W. Maessen, G.L. Steele Jr., "Object-Oriented Units of Measurement," OOPSLA 2004, http://www.pag.csail.mit.edu/readin...measurement.pdf] in the last OOPSLA about that. I do like the idea of labeled ( "dimensional" ) quantities like 100.00$ % 5gm , maybe someone will implement them in forth.CoSy in some number of years , but the foundation of the CoSy for-the-rest-of-my-life I am now creating I am positive will be more simple , transparent , extensible , and personally productive than the Fortress Sun Corp's High Productivity Computing committee will produce . They are starting a generation behind . I invite anybody interested in where I'm heading to drop me a line to be kept up to date on our progress .
Post Follow-up to this messageBob Armstrong wrote: <snip> > Fortran is a little bit like math, but not a lot. Where did the > asterisk for multiplication come from? Fortran was invented on machines > intended for accounting. What if we tried very hard to make a > programming language look like mathematics and took advantage of > Unicode? We're finally getting good support for full mathematical > character sets in text editors When using arrays, Fortran 95 looks more like math than Fortran 77 and most other procedural languages, because one can use array operations, array sections and masks. Computing the sum of the squares of the positive elements i1 to i2 of array x is just sumsq = sum(x(i1:i2)**2,x(i1:i2) > 0) Operator overloading can be used to make Fortran look more math-like, as demonstrated by the Matran http://www.cs.umd.edu/~stewart/matran/Matran.html wrapper for the LAPACK linear algebra library.
Post Follow-up to this messagePowered by vBulletin
Copyright 2000-2006 Jelsoft Enterprises Limited.