There are so many errors in your assertions, that it's difficult to know
where to start.
In article <5jbcvl$puh@engnews2.Eng.Sun.COM>, ouster@tcl.eng.sun.com (John
Ousterhout) wrote:
> One of the most common criticisms of my white paper has been that the
> distinction between scripting and system programming is artificial, and
> that it is possible for a single language to be good at both tasks.
> Lisp-like languages such as Scheme were suggested as living proof. I
> can't prove that it's impossible for a single language to be good at
> both scripting and system programming, but I don't know of a good example
> and I doubt that it will ever happen.
Two words: 'Lisp Machine'.
> The reason for this is the
> difference in typing, as I explained in the white paper. A given language
> embodies a particular style of typing, which can range from very strongly
> typed to totally untyped. Once that decision has been made, the language's
> position on the spectrum between system programming and scripting is set.
> I think it's possible to have a language that's in the middle, but it's
> not likely to be terrific at either task.
You've obviously never heard of Lisp declarations, or of 'soft typing'.
> Let's take Lisp as an example. I think that Lisp falls somewhere
> between scripting and system programming. Many of you have suggested that
> it is an ideal language for both system programming and scripting, but I
> think that it isn't really very good for either.
Two words: 'Lisp Machine'.
> In fact I suspect that
> this may be why Lisp hasn't been used much for practical programming.
> Lisp isn't a good system programming language because it's too hard to
> write efficient programs in it and it doesn't provide good low-level
> access to machine facilities.
Utter claptrap. I've written many Lisp programs on the PDP-10 and the
68K (Mac) that run as fast as any hand-crafted assembler program.
Two more words: 'Lisp Machine'.
> On the other hand, Lisp isn't good for
> scripting either. In order to be a good scripting language, you need
> to be able to interoperate with lots of other things, which are often
> written in other languages (the best glues are those that stick to lots
> of different materials). But Lisp has never been very good at this.
> For example, it's hard to include C code with Lisp because they have
> very different data types and memory models. Lisp systems are typically
> closed: you have to live entirely in the Lisp world. Good scripting
> languages are open and friendly: they talk to and work with everything.
The Symbolics Lisp Machine also supported the C language, and an excellent
C language it was. C on this machine wasn't particularly fast, but that was
because the Lisp Machine had better things to do than to twiddle bits.
> Just to short-circuit the discussion that will ensue...
>
> Many of the best minds in Computer
> Science have worked on Lisp over the last 30 years, and they haven't
> been able to fix the language so that it could be widely used either
> for system programming or scripting tasks. This says to me that there
> is something fundamentally wrong with the language, at least for these
> tasks.
I suppose that all of the excellent work in Lisp on scheduling space probe
operations, scheduling factory operations, handling your American Express
card credit ratings (in real-time, 7x24), scheduling Gulf War supplies,
demonstrating the next generation of fighter pilot cockpit aids, etc., was all
a mirage? I guess you see what you want to see.
I'm embarrassed that a 'computer science professor' would be _so_ ignorant
of computer science that he would spout all of this nonsense.
|