In article <5iafs1$fh4@roar.cs.utexas.edu>, wilson@cs.utexas.edu (Paul
Wilson) wrote:
> > (make-instance 'button-dialog-item
> > :dialog-item-text "Hello"
> > :view-font '("Times" 16)
> > :dialog-item-action (lambda (item) (print "hello")))
> >
> >I think this example supports my claim that scripting languages are a
> >lot easier to use when you need to mix and match lots of things of
> >different types. The MCL example is a lot more verbose and complicated
> >than the Tcl example.
>
> The MCL example is mostly more verbose because MCL uses longer identifiers.
> If MCL were intended as a scripting language, the identifers could be changed
> and some of them could be made more intuitive for non-Lispers. You
> could also trivially define the instance-making macro (which I'll call new)
> to coerce a font name string into whatever representation it uses for a
> font spec.:
>
> (new button :text "Hello" :font "Times 16" :cmd (proc (item) (print
"Hello")))
Common Lisp users just don't believe in short identifiers.
They work with large libraries and very helpful interactive
development environments. Completion of names is only a keystroke
away. Macintosh Common Lisp is just fine for scripting other applications
(since it does support AppleEvents). People are using it all day for this.
Once you have to deal with libraries larger than just some GUI
stuff, then you will acknowledge descriptive names, a cool
object system, explicit datatypes and *interactive* use with
full speed of a native code Lisp compiler. You just don't
need the destinction between scripting and systems programming,
prototyping and delivery. Things start to become unified.
--
http://www.lavielle.com/~joswig/
|