Web-based instruction, Multiparadigm Programming Languages, Programming Language Implementation, Object-Oriented Programming, Programming Environments
My primary interest is in programming languages; their design, their implementation, and the effect various features in programming languages have on the way the programmers go about solving problems. I am most interested in non-traditional languages, such as Smalltalk, FP, Icon, Prolog, and SETL. In these languages, the programmer's view of the computer and how to go about solving a problem is very different from the view of a programmer working in a more conventional language as Pascal. This change of view often leads to surprising improvements in productivity in various domains. For example, a Smalltalk programmer can develop graphical interfaces in a fraction of the time necessary for the same task developed in other languages. One interesting question is to what extent we can develop new languages that borrow the best features from different programming perspectives.
My current research centers around multiparadigm languages; languages in which it is possible to express algorithms in more than one style. I have developed a new language, LEDA, which permits programs to be expressed in a logical, functional, object-oriented, or imperative style.
Applications of Research
It is my contention that major improvements in programming productivity will only come about by developing better programming tools, and the most basic programming tool is the programming language.