Lambda the Ultimate

inactiveTopic Udell: What Is General-Purpose Scripting?
started 2/23/2002; 9:17:28 AM - last post 2/24/2002; 12:18:59 PM
Ehud Lamm - Udell: What Is General-Purpose Scripting?  blueArrow
2/23/2002; 9:17:28 AM (reads: 586, responses: 2)
Udell: What Is General-Purpose Scripting?
Language and environment are the two axes of debate. Someday we may be able to separate these issues, but probably not anytime soon...

In languages like Perl and Python, there are multiple paths to self-sufficiency. On platforms that do not natively support (or do not allow access to) system services such as SMTP or LDAP, these languages happily roll their own implementations of the services. When services are available, these languages bind to them. This is wonderfully convenient, and accounts in no small measure for my perception that Perl and Python are general-purpose languages.

So now we have language, library, execution environment, and IDE. From the perspective of a pragmatic programmer all these are components of the "programming language".


Posted to general by Ehud Lamm on 2/23/02; 9:21:36 AM

rev - Re: Udell: What Is General-Purpose Scripting?  blueArrow
2/23/2002; 7:28:35 PM (reads: 638, responses: 1)
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.

Ehud Lamm - Re: Udell: What Is General-Purpose Scripting?  blueArrow
2/24/2002; 12:18:59 PM (reads: 683, responses: 0)
I agree that when you are looking for a solution to a programming problem thses distinctions are not that useful. I think they become useful when you want to understand the core issues.

Many are keen the distinction between language features and library routines. [We had some long debates about this. Esp. as regard the size of Scheme].

I think there are some subtle issues involved. Obviously, one language can be suported by different libraries and IDEs. Still, the language features determine how easy it is to build these tools, and their scope.

When you compare the STL and the Java Collections, you find that much of the differences stem from the core language differences (e.g., Java's lack of templates). And this is but a simple example.