What does it matter?
As pragmatic programmer and a pragmatic person, I use whatever works. If there is a language which has the purpose of being used for programming, that makes it a "programming language." Everyone seems to have their own qualifications for what makes something a programming language, a "real" programming language, or "just" a scripting language. rahul on #lisp said any language that doesn't compile to binary is only a scripting language. CLISP (Common Lisp) is just a scripting language, but CMUCL is a programming language. Others say anything that's easier to write than C is a scripting language.
As a person who solves problems, I don't care. I want the language I use to do what I want it to, and do it with relative efficiency, both in the way it utilizer computer hardware as a well as my time.
I don't think Udel can say that Language and Environment are two completely different issues. For some languages they are, sure. C++ has never been married to one environment-pattern, and is a part of many very different environments. Smalltalk, on the other hand, is very glued to it's environment. To say the word Smalltalk is to mean both Smalltalk the language, Smalltalk the class library, and Smalltalk the development environment. Likewise, Java usually refers to Java the language, virtual machine, and class lib. C++ though, is more or less just the language, not even including the STL.
|