I think that industry has very different viewpoint on usability than does the research community. (In case anyone asks, I currently work on developing a product; the development is funded by a for-profit company and will be sold by the same for-profit company. Any research that gets done is entirely by accident.) For us, usability equals productivity. Suppose that someone offered us a wonderful new language, designed to be a big improvement when evaluated using the criterion that Thomas has developed. Let me further fantasize that a mature implementation is available for our target platform (big fantasy!!) Would I advocate using this new language for our project? No. Not even if you guarenteed that we would never again make coding bugs using the new language!! Why not? Well, most of the problems we encounter, the really costly ones, could not be solved, or even impacted, by changes at the programming language level. They are at the level of requirements/design. (Anybody know a good way of controlling user access to objects stored in a relational database?) Suppose that someone offered me an improved version of a UML tool that did a better job of handling constraints, but it only could generate COBOL output. I'd have just two questions: (1) Where do I send the check and (2) what version of COBOL do I need to get? In the world of modern industrial software development, improving the design of programming languages - systems at the level of Python/Java/C++ is just about as useful as improving the naming of op codes for assembly language. [Another message will follow on one industrial viewpoint on Java] Ruven Brooks
