Mike Cowlishaw is a distinguished computer scientist and creator of Rexx and NetRexx. He has worked on many other programming languages, including PL/I, C and Java. Mike Cowlishaw is a Visiting Professor at the Department of Computer Science at the University of Warwick. He is a Fellow of the Royal Academy of Engineering, elected for his contributions to the field of engineering, and is a retired IBM Fellow. His relentless spirit has catapulted too many contributions to count yet he remains humble and accessible :)
Hassam: I've read some of your early papers on Rexx. If you were to edit them now knowing what you know, what would you change? I want to know what worked for Rexx, as well as what didn't.
Dr Cowlishaw: I don't think I'd change anything in them except to emphasise more that a programming language is a Human-Computer-Interface and the language designer should design for the users of the language, not just for himself or herself.
As for what I'd change in Rexx: there are some limitations because of the slowness of computers at that time (e.g., I wanted all comparisons to be, by default, caseless). Many of these sorts of things I fixed in NetRexx (see).
Hassam: Rexx has been battle tested at IBM and has given birth to many implementations. To what do you attribute the early success of Rexx?
Dr Cowlishaw It was (and still is) very easy for people who were not programmers to learn and to get results with Rexx, due it it having few specials codes and so on (the one that caused most trouble was '*' meaning 'multiply'. That was (and is) completely non-intuitive to someone seeing a Rexx program for the first time.
Hassam: do you predict the next paradigm shift in programming languages will be?
Dr Cowlishaw: Hopefully a much higher-level interface, where the programmer describes what's wanted and then refines it with the help of (perhaps) some real AI.