Web Images Videos Maps News Shopping Gmail more »
Recently Visited Groups | Help | Sign in
Google Groups Home
Extension/Scripting language comparisons
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  Messages 1 - 25 of 46 - Collapse all  -  Translate all to Translated (View all originals)   Newer >
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Joe Mueller  
View profile  
(3 users)  More options Jul 6 1995, 3:00 am
Newsgroups: comp.lang.scheme
From: jo...@aardvark.mentorg.com (Joe Mueller)
Date: 1995/07/06
Subject: Extension/Scripting language comparisons
I'm in the workgroup within the CAD Framework Inititiative (a standards organization
for CAD tool developers/users) that is responsible for Extension Language selection.
Some time ago we selected Scheme as the standard extension language for this organization
but have lately come under fire for not selecting/considering Tcl and Perl as alternatives
to "ugly" Scheme. I would like to get a list of pros/cons for Scheme, Tcl, and Perl
as extension/scripting languages to (hopefully) better defend the choice of Scheme.

Some time ago there was a raging debate over the virtues of Tcl vs. Scheme
as an extension/scripting language. Unfortunately I did not capture the
major pros/cons at that time. Could someone send me a synopsys of the major points?

What about a comparison of Perl to Scheme?

Any help would be appreciated,

Joe_Muel...@mentorg.com


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Alan Bawden  
View profile  
(19 users)  More options Jul 7 1995, 3:00 am
Newsgroups: comp.lang.scheme
From: a...@lcs.mit.edu (Alan Bawden)
Date: 1995/07/07
Subject: Re: Extension/Scripting language comparisons
In article <3thlus$...@hpbab.wv>

jo...@aardvark.mentorg.com (Joe Mueller) writes:

   I'm in the workgroup within the CAD Framework Inititiative (a standards
   organization for CAD tool developers/users) that is responsible for
   Extension Language selection.  Some time ago we selected Scheme as the
   standard extension language for this organization but have lately come
   under fire for not selecting/considering Tcl and Perl as alternatives to
   "ugly" Scheme. I would like to get a list of pros/cons for Scheme, Tcl,
   and Perl as extension/scripting languages to (hopefully) better defend
   the choice of Scheme....

You can't defend the indefensible -- Scheme is a terrible choice.  The most
important thing about a extension/scripting language is that it be
-simple-.  It must have a simple easy-to-understand semantics, it must have
simple easy-to-use data structures, and it must have simple easy-to-read
syntax.  Scheme has none of these, while Tcl and Perl have them all.  Let's
take these aspects of simplicity one at a time:

Semantics.  Tcl and Perl are based on string substitution.  What could be
simpler?  Scheme has closures and continuations.  Even graduate students at
MIT are confused by that stuff.

Data structures.  Tcl and Perl have strings.  And basically, that's -all-
they have.  But strings are universal -- you can represent anything using
strings.  And strings are simple.  Heck, if everything is a string, you
don't even need a garbage collector!  Furthermore, everything else in a
modern computer is based on tools that consume and produce strings, so Tcl
and Perl fit right in.  Scheme doesn't even have a foreign function
interface, so you can't glue a Scheme program together with -anything-.

Syntax.  We all learned infix syntax in grade school.  `x + 2*y' is
concise, familiar and easy-to-read.  In Scheme you have to write
`(+ x (* 2 y))'.  Only an idiot would prefer to write that.

Wise up.  Flush Scheme.
--
Alan Bawden                                    A...@LCS.MIT.EDU
617/492-7274                   06BF9EB8FC4CFC24DC75BDAE3BB25C4B


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Tom Gordon  
View profile  
(1 user)  More options Jul 7 1995, 3:00 am
Newsgroups: comp.lang.scheme
From: Tom Gordon <thomas.gor...@gmd.de>
Date: 1995/07/07
Subject: Re: Extension/Scripting language comparisons

Dear Joe,

I think the CAD Framework Initiative should stick to Scheme.
There are many reasons.  Here are some of the more important ones:

1. It is already a international (IEEE) and national (ANSI) standard.

2. It is also used by the ISO DSSSL standard (Document Style and Semantics
Specification Language), which is adds programmability to SGML, the language
used for the World Wide Web.  (HTML is an SGML application.)

3. Scheme has been chosen for to be the basis for the GNU extension language,
GUILE.

4. There are many Scheme implementations, for every operating system.  Many of
these are free.  Similarly, there are a variety of different kinds of implementations,
suitable for different jobs, from small, embeddable interpreters to native code compilers.

5. Scheme is well documented and understood.  Becuase of its widespread use
in Computer Science education, there are many excellent textbooks.

6. Scheme is very flexible and adaptable. It is no accident that Scheme (and other Lisp
dialects) are so often used for prototyping new programming langauges and paradigms.
Object-oriented programming, rule-based programming, logic programming, data flow programming,
and constraint programming can all be done in Scheme, and have been done in Scheme.
Presumably, many of these programming techniques will be useful in the context of
computer-aided drafting.

To sum up, Scheme is a safe, conversative choice for a *standard* extension language.
It is not new or fashionable, but then new languages are not ripe for standardization.
It may not be perfect, or everyone's ideal language, but there is no question about
it being suitable and appropriate.  

Tom Gordon

p.s. About Scheme being "ugly".  Experience shows that there is no point in arguing this
issue. Many, including myself, find Scheme elegant and beautiful --- especially compared
to baroque languages like TCL and Perl.


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Steven L Jenkins  
View profile  
(1 user)  More options Jul 7 1995, 3:00 am
Newsgroups: comp.lang.scheme
From: sjenk...@iastate.edu (Steven L Jenkins)
Date: 1995/07/07
Subject: Re: Extension/Scripting language comparisons
In article <3thlus$...@hpbab.wv>,

Joe Mueller <jo...@aardvark.mentorg.com> wrote:
>I'm in the workgroup within the CAD Framework Inititiative (a standards organization
>for CAD tool developers/users) that is responsible for Extension Language selection.
>Some time ago we selected Scheme as the standard extension language for this organization
>but have lately come under fire for not selecting/considering Tcl and Perl as alternatives
>to "ugly" Scheme. I would like to get a list of pros/cons for Scheme, Tcl, and Perl
>as extension/scripting languages to (hopefully) better defend the choice of Scheme.

>Some time ago there was a raging debate over the virtues of Tcl vs. Scheme
>as an extension/scripting language. Unfortunately I did not capture the
>major pros/cons at that time. Could someone send me a synopsys of the major points?

>What about a comparison of Perl to Scheme?

Let me preface this by saying that I personally prefer Scheme over just about
any other language.  However, in my daily duties as a systems administrator
I use Tcl/Tk and Perl constantly, but never Scheme.  But I haven't looked at
Guile, and the version of scsh I looked at was quite primitive.  I have
played around a good bit with STk, but as it doesn't include a lot of Unix
systems calls, I haven't used it for any 'systems' work.

Perl is my language of choice for systems work as it has nearly every system
call I use, plus lots of bells and whistles.  To me, that's its strongest
feature.  Another reason others use it is that there is quite a large, active
user-base for it (compare traffic on the comp.lang.perl.* with
comp.lang.scheme).  I personally don't think it's any panacea, but it gets
the job done w/o a lot of fuss (although Perl5 looks pretty overloaded with
features to me).

Tcl/Tk is nice because it is so tiny (like Scheme), but it has (IMO) an
annoying set of syntax rules (or rather, lack thereof).  I usually use Tcl/tk
to actually build a GUI, then Tcl or Perl to do the guts of my applications.

Disclaimer: this is based on my experience as a Systems Administrator writing
tons of little programs to gather & analyze data, not extending any existing
applications, unless you consider the shell an application.


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Robert P. Goldman  
View profile  
 More options Jul 7 1995, 3:00 am
Newsgroups: comp.lang.scheme
From: gold...@src.honeywell.com (Robert P. Goldman)
Date: 1995/07/07
Subject: Re: Extension/Scripting language comparisons
Steven Jenkins' discussion of the relative merits of perl and scsh
is of interest to those who, like him, are using scripts to automate
systems administration chores.

However, I would like to recall the discussion to Joe Mueller's
original question.  Remember, he's asked about Scheme vs. Perl
vs. Tcl for the purposes of an embedded extension language.  That's
in fact a very different question!  Off-hand, I wouldn't be
surprised if some of the things that Steven likes (and I like!)
about perl as a scripting language would not be appropriate for an
extension language...

Also, I would implore the group not to get lost in arguments about
infix vs. prefix syntax!  It's just a rewrite away!  Prefix can
easily become infix!

Actually, there has been some argument that simple prefix notation
is inherently better for writing macros...


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Erik Naggum  
View profile  
(1 user)  More options Jul 7 1995, 3:00 am
Newsgroups: comp.lang.scheme
From: e...@naggum.no (Erik Naggum)
Date: 1995/07/07
Subject: Re: Extension/Scripting language comparisons
[Alan Bawden]

|   Syntax.  We all learned infix syntax in grade school.  `x + 2*y' is
|   concise, familiar and easy-to-read.  In Scheme you have to write
|   `(+ x (* 2 y))'.  Only an idiot would prefer to write that.

I'm surprised that those who argue against Scheme only use computers to do
arithmetic exercises from grade school.  that is such a lame criticism that
I wonder about the mental capacity with which those who make such arguments
must be endowed.

seriously, prefix syntax for heavy arithmetic is known to be a pain, but
it's always interesting to see how people compare prefix, infix and postfix
syntax.  Eyvind Ness of the OECD Halden Reactor Project showed me that it's
much more effective to show them with multiple arguments:

    postfix:    j k l m n + + + +
    infix:      j + k + l + m + n
    prefix:     (+ j k l m n)

infix and postfix are restricted to binary operators, whereas prefix can be
n-ary for an arbitrarily large n.  code becomes cleaner when this is used,
and is thus easier to debug.  this becomes more pronounced with more
complex arguments, of course.

|   Semantics.  Tcl and Perl are based on string substitution.  What could
|   be simpler?  Scheme has closures and continuations.  Even graduate
|   students at MIT are confused by that stuff.

this is like saying that Microsoft Word is as easy as clicking on menus and
"what you see is all you get", compared to LaTeX where it's so hard to
write new styles that only a handful of people worldwide can hack it.

you'll do great in marketing, Alan.

folks, you should look at the intellectual honesty of the critics of the
various suggested languages.  beware of those who criticize something for
being more powerful than you need the first few weeks of using it.  if a
language can be exhaustively learned in, say, 21 days, worry about the
_upper_ limit to what you can do in that language.  ease of learning comes
at the cost of pain in non-trivial use.  that doesn't mean that that which
is hard to learn is necessarily any less painful at non-trivial problems.

#<Erik 3014143758>
--
NETSCAPISM /net-'sca-,pi-z*m/ n (1995): habitual diversion of the mind to
    purely imaginative activity or entertainment as an escape from the
    realization that the Internet was built by and for someone else.


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
bruce  
View profile  
(1 user)  More options Jul 7 1995, 3:00 am
Newsgroups: comp.lang.scheme
From: br...@liverpool.ac.uk
Date: 1995/07/07
Subject: Re: Extension/Scripting language comparisons

>>>>> "Alan" == Alan Bawden <a...@lcs.mit.edu> writes:
> In article <3thlus$...@hpbab.wv> jo...@aardvark.mentorg.com (Joe
> Mueller) writes:
>>    I'm in the workgroup within the CAD Framework Inititiative (a
>> standards organization for CAD tool developers/users) that is
>> responsible for Extension Language selection.  Some time ago we
>> selected Scheme as the standard extension language for this
>> organization but have lately come under fire for not
>> selecting/considering Tcl and Perl as alternatives to "ugly"
>> Scheme. I would like to get a list of pros/cons for Scheme, Tcl,
>> and Perl as extension/scripting languages to (hopefully) better
>> defend the choice of Scheme....
> Semantics.  Tcl and Perl are based on string substitution.  What
> could be simpler?  Scheme has closures and continuations.  Even
> graduate students at MIT are confused by that stuff.

Scheme is based on list evaluation: it has a very simple semantics,
uncluttered by restrictions.  String substitution can be surprisingly
subtle: look at the Tcl FAQ for some simple mistakes that just about
every Tcl user makes every now and again.

> Data structures.  Tcl and Perl have strings.  And basically, that's
> -all- they have.

That's unfair: Perl has lots more than just strings.  And Tcl
(explicitly borrowing from Lisp) has good support for lists.  For a
CAD extension language, I'd want something that can support numbers,
and can support them efficiently.  Tcl has major problems in that
area, with conversions happening all over the place slowing things
down.  Often this isn't significant (I'm using Tcl at the moment, and
its speed is just fine) but sometimes it is, and my guess is that for
a CAD extension language that's going to be used for significant
extensions, it would be.

> Scheme doesn't even have a foreign function interface, so you can't
> glue a Scheme program together with -anything-.

Choose an implementation.  For example, Guile.  Gosh, it's got two
foreign function interfaces, one compatible with Tcl's.

> Syntax.  We all learned infix syntax in grade school.  `x + 2*y' is
> concise, familiar and easy-to-read.  In Scheme you have to write `(+
> x (* 2 y))'.  Only an idiot would prefer to write that.

Or rather [expr $x+2*$y].  But yes, it's still better.  But Guile has
(or will have RSN) a C-like syntax, translated automatically to Scheme.
--
Bruce                   Institute of Advanced Scientific Computation
br...@liverpool.ac.uk   University of Liverpool
http://supr.scm.liv.ac.uk/~bruce/

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Larry Wall  
View profile  
(5 users)  More options Jul 7 1995, 3:00 am
Newsgroups: comp.lang.scheme
From: lw...@netlabs.com (Larry Wall)
Date: 1995/07/07
Subject: Re: Extension/Scripting language comparisons
In article <3tio9c$...@omega.gmd.de>, Tom Gordon  <thomas.gor...@gmd.de> wrote:
: p.s. About Scheme being "ugly".  Experience shows that there is no
: point in arguing this issue. Many, including myself, find Scheme
: elegant and beautiful --- especially compared to baroque languages
: like TCL and Perl.

While I do consider the adjective "baroque" to be a compliment, I must
point out that Perl is actually more of a romantic piece, with allusions
to various classical motifs.  My favorite composer is Mahler, which should
surprise no one.

Larry Wall
lw...@netlabs.com


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Chak Tan  
View profile  
 More options Jul 7 1995, 3:00 am
Newsgroups: comp.lang.scheme
From: t...@tesla.ee.rochester.edu (Chak Tan)
Date: 1995/07/07
Subject: Re: Extension/Scripting language comparisons
Joe Muller (JM) writes:

    JM>    I'm in the workgroup within the CAD Framework Inititiative
    JM> (a standards organization for CAD tool developers/users) that
    JM> is responsible for Extension Language selection.  Some time
    JM> ago we selected Scheme as the standard extension language for
    JM> this organization but have lately come under fire for not
    JM> selecting/considering Tcl and Perl as alternatives to "ugly"
    JM> Scheme. I would like to get a list of pros/cons for Scheme,

I would imagine that Perl packs too much extra baggage for a CAD
extension language.  Perl has many powerful features specialized for
manipulating streams of data and performing system related
operations.  Are these features important for a CAD extension
language?  Also, unless one is very familiar with Perl, the sheer
abundance of features and tricks can be confusing.  For instance, the
context dependent semantics and the various special characters makes
me uncomfortable.  I must say though, once you've got the hang of it,
Perl is very handy for certain types of programming.

Tcl has many cleanly engineered low level C routines (I use the
hashtables frequently), but suffers from a few drawbacks as a high
level language.  All the upvar and global/local stuff seems a little
too adhoc to me.  Also, Tcl is slow because of all that string
conversions coupled with numerous hashtable lookup for everything.  If
the goal is to provide a high level command-line interface to
low-level code within your CAD program, then Tcl would be okay; but,
if you want to expose CAD specific structures (like netlists) to a
high level language for interactive processing, then Tcl would not be
high on my list of languages.

Scheme seems like a very good choice -- minimal scheme is lightweight
and not tailored for any specific purposes so you can customize scheme
for a specific purpose without any extra baggage.  Also, in my
opinion, scheme is elegant, expressive, and fun.

I think the choice of languages will be decreasingly important in the
future with the emergence of language neutral tools like ILU form PARC
Xerox, Guile from FSF, and the JavaVM from Sun.  Perhaps your group
can concentrate on building a scheme interface to ILU or get involved
with Guile or Java and resolve the language problem by looking towards
the future.

    JM> Tcl, and Perl as extension/scripting languages to (hopefully)
    JM> better defend the choice of Scheme....

Alan Bawden (AB) replies:
    AB> You can't defend the indefensible -- Scheme is a terrible
    AB> choice.  The most important thing about a extension/scripting
    AB> language is that it be -simple-.  It must have a simple
    AB> easy-to-understand semantics, it must have simple easy-to-use
    AB> data structures, and it must have simple easy-to-read syntax.
    AB> Scheme has none of these, while Tcl and Perl have them all.

Well, I disagree here.  Scheme, too, is simple and elegant, has very
straight forward and consistent semantics, is structure on the concept
of simple pairs as the main data structure, and is easy too read
after one takes time to learn it.

    AB> Let's take these aspects of simplicity one at a time:

    AB> Semantics.  Tcl and Perl are based on string substitution.
    AB> What could be simpler?  Scheme has closures and continuations.

Hmm, when I'm on a Mac or PC many of the strings are mapped
differently than on a Unix system.  String subsitiution often gives me
grief when I'm trying to perform tasks on different platforms.  So I
guess string substitution is not so simple for me.  I find closures
and continuations easier to handle.

    AB> Even graduate students at MIT are confused by that stuff.

I know/knew undergraduate and even highschool students who understood
these "confusing" ideas, what's the point of this argument?  Some
people get it, some people don't.  Are you saying that scheme is
inherently harder to learn?

    AB> Data structures.  Tcl and Perl have strings.  And basically,

I think Perl has scalars, arrays of scalars, and associative arrays of
scalars where scalars can be a string, a number, and a reference which
are internally represented in a efficient manner (i.e. not as strings).

    AB> that's -all- they have.  But strings are universal -- you can
    AB> represent anything using strings.  And strings are simple.

Same with ones and zeros.  Strings are representations of ones and
zeros that most humans find easy to work with.  However, they are not
efficient as far as the computer is concern (waste lots of space and
computational cycles to process).  Why not let the computer work
efficiently and only resort to strings when they have to communicate
with the user?  Why not use structures that encompass strings?  A CAD
program may have lists that contain millions of nodes, should I use
'NODE1' 'NODE2' ... 'NODE1000000' to enumerate all my nodes?

    AB> Heck, if everything is a string, you don't even need a garbage
    AB> collector!  Furthermore, everything else in a modern computer

Can you explain this to me?  How does using only strings eliminate the
need for a garbage collector?  I'll have to think about this one.

    AB> is based on tools that consume and produce strings, so Tcl and
    AB> Perl fit right in.  Scheme doesn't even have a foreign

Isn't most of the text-base tools from the last generation?  I thought
serialization/marshalling/pickeling or whatever it's call is the new
way of interprocess/interobject sharing of data.  Also, isn't HTTP-NG
trying to move away form a text-based protocal for WWW (the most
recent example of a text-base protocal).

    AB> function interface, so you can't glue a Scheme program
    AB> together with -anything-.

I think Elk 2.2, Guile, Libscheme, SIOD all have FFIs.  I'm hard press
to think of a publically available scheme that does not have an FFI.

    AB> Syntax.  We all learned infix syntax in grade school.  `x +
    AB> 2*y' is concise, familiar and easy-to-read.  In Scheme you
    AB> have to write `(+ x (* 2 y))'.  Only an idiot would prefer to
    AB> write that.

Hey, I'm an idiot then.  I learned 'x + 2 * y' in grade shcool,
'y 2 * x +' in college, and '(+ x (* 2 y))' in graduate school.  What
are my teachers doing to me!  Turning me into an idjit!?

-- Chak Tan

    AB> Wise up.  Flush Scheme.  -- Alan Bawden A...@LCS.MIT.EDU
    AB> 617/492-7274 06BF9EB8FC4CFC24DC75BDAE3BB25C4B


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Darius Bacon  
View profile  
 More options Jul 8 1995, 3:00 am
Newsgroups: comp.lang.scheme
From: dje...@well.sf.ca.us (Darius Bacon)
Date: 1995/07/08
Subject: Re: Extension/Scripting language comparisons

a...@lcs.mit.edu (Alan Bawden) writes:
>Semantics.  Tcl and Perl are based on string substitution.  What could be
>simpler?  Scheme has closures and continuations.  Even graduate students at
>MIT are confused by that stuff.

I know a guy with an MSCS who's confused by *recursion*.  If we're going to
make the world safe for cookbook programmers, a sound semantic model with a
minimum of pitfalls for the unwary is essential.  From that viewpoint Scheme
looks pretty good compared to Perl and Tcl; and of course you can do plenty
with it without knowing diddly about continuations.  SML might have been an
even better choice.

>Syntax.  We all learned infix syntax in grade school.  `x + 2*y' is
>concise, familiar and easy-to-read.  In Scheme you have to write
>`(+ x (* 2 y))'.  Only an idiot would prefer to write that.

Score another for SML, at least in this audience.

>Wise up.  Flush Scheme.

Good one!  For a moment there I thought you were serious...

-Darius


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
R.S. Nikhil  
View profile  
 More options Jul 8 1995, 3:00 am
Newsgroups: comp.lang.scheme
From: nik...@mattapoisett.crl.dec.com (R.S. Nikhil)
Date: 1995/07/08
Subject: Re: Extension/Scripting language comparisons
In article <19950707T2209...@naggum.no>, e...@naggum.no (Erik Naggum) writes:

|> seriously, prefix syntax for heavy arithmetic is known to be a pain, but
|> it's always interesting to see how people compare prefix, infix and postfix
|> syntax.  Eyvind Ness of the OECD Halden Reactor Project showed me that it's
|> much more effective to show them with multiple arguments:
|>
|>     postfix:      j k l m n + + + +
|>     infix:        j + k + l + m + n
|>     prefix:       (+ j k l m n)
|>
|> infix and postfix are restricted to binary operators, whereas prefix can be
|> n-ary for an arbitrarily large n.  code becomes cleaner when this is used,
|> and is thus easier to debug.  this becomes more pronounced with more
|> complex arguments, of course.

This is a false comparison of prefix vs. postfix-- it really has to do using parentheses for
grouping.   With parentheses for grouping, postfix is as concise as prefix:

       postfix: (j k l m n +)
       prefix:  (+ j k l m n)

Without parentheses for grouping, prefix is as verbose as postfix:

       postfix: j k l m n + + + +
       prefix:  + + + + j k l m n

In each case, without parentheses, you have to fix an arity for the operator; with parentheses,
they can have variable arity.

Rishiyur Nikhil  (nik...@crl.dec.com)


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Larry Wall  
View profile  
 More options Jul 8 1995, 3:00 am
Newsgroups: comp.lang.scheme
From: lw...@netlabs.com (Larry Wall)
Date: 1995/07/08
Subject: Re: Extension/Scripting language comparisons
In article <3tkdc2$...@tesla.ee.rochester.edu>,
Chak Tan <t...@tesla.ee.rochester.edu> wrote:

: I think Perl has scalars, arrays of scalars, and associative arrays of
: scalars where scalars can be a string, a number, and a reference which
: are internally represented in a efficient manner (i.e. not as strings).

This is correct.  Perl also has closures, though not continuations.

Larry Wall
lw...@netlabs.com


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Stephen Benson  
View profile  
 More options Jul 8 1995, 3:00 am
Newsgroups: comp.lang.scheme
From: steph...@scribendum.win-uk.net (Stephen Benson)
Date: 1995/07/08
Subject: Re: Extension/Scripting language comparisons

In article <3thlus$...@hpbab.wv>, Joe Mueller (jo...@aardvark.mentorg.com) writes:
>I'm in the workgroup within the CAD Framework Inititiative (a standards organization
>for CAD tool developers/users) that is responsible for Extension Language selection.
>Some time ago we selected Scheme as the standard extension language for this organization
>but have lately come under fire for not selecting/considering Tcl and Perl as alternatives
>to "ugly" Scheme. I would like to get a list of pros/cons for Scheme, Tcl, and Perl
>as extension/scripting languages to (hopefully) better defend the choice of Scheme.

>Some time ago there was a raging debate over the virtues of Tcl vs. Scheme
>as an extension/scripting language. Unfortunately I did not capture the
>major pros/cons at that time. Could someone send me a synopsys of the major points?

I think this is what you were referring to... it caused major ructions on the
tcl group:

--
: stephen benson  :   :   :   :   :   :   :   :  steph...@scribendum.win-uk.net

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Robin Windels  
View profile  
 More options Jul 8 1995, 3:00 am
Newsgroups: comp.lang.scheme
From: rwind...@islandnet.com (Robin Windels)
Date: 1995/07/08
Subject: Re: Extension/Scripting language comparisons

lw...@netlabs.com (Larry Wall) wrote:
>In article <3tio9c$...@omega.gmd.de>, Tom Gordon  <thomas.gor...@gmd.de> wrote:
>: p.s. About Scheme being "ugly".  Experience shows that there is no
>: point in arguing this issue. Many, including myself, find Scheme
>: elegant and beautiful --- especially compared to baroque languages
>: like TCL and Perl.
>While I do consider the adjective "baroque" to be a compliment, I must
>point out that Perl is actually more of a romantic piece, with allusions
>to various classical motifs.  My favorite composer is Mahler, which should
>surprise no one.
>Larry Wall
>lw...@netlabs.com

<chuckle> But Mahler's 2nd - 'Resurrection' requires two full orchestras
to perform, whereas most Handel can be performed with half the orchestra
missing (ok make sure you've got at least one of each).

To be sure, Mahler's work is brilliant in concept and construction, but
there is a high cost in execution.  OTOH, there are others equal in
brilliance but more accessible.  (oh dear, the metaphor is breaking down)

Speaking to the original question, for suitability as an embedded language,
I'd have to go with Scheme.  The overhead of the language is low and the
structure is rich.

/Robin Windels


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jurgen Botz  
View profile  
 More options Jul 9 1995, 3:00 am
Newsgroups: comp.lang.scheme
From: jb...@mtholyoke.edu (Jurgen Botz)
Date: 1995/07/09
Subject: Re: Extension/Scripting language comparisons
In article <ALAN.95Jul7023...@parsley.lcs.mit.edu>,

Alan Bawden <a...@lcs.mit.edu> wrote:
>You can't defend the indefensible -- Scheme is a terrible choice.

Oh boy!  Flame city...  ;-)

>The most important thing about a extension/scripting language is that
>it be -simple-.  It must have a simple easy-to-understand semantics,
>it must have simple easy-to-use data structures, and it must have
>simple easy-to-read syntax.  Scheme has none of these, while Tcl and
>Perl have them all.

Scheme was designed to be simple, like Tcl (but unlike Perl) and in the
oppinion of many it succeeded brilliantly.

>Let's take these aspects of simplicity one at a time:

>Semantics.  Tcl and Perl are based on string substitution.

Tcl is, Perl is not.

Also, this is more syntax than semantics.  And you've hit upon a
central issue, because a lot of people's /perception/ of simplicity
comes from syntax rather than semantics.  And, it turns out, some
people are a lot more comfortable with strings and others are a lot
more comfortable with parenthesized lists.  

>What could be simpler?  Scheme has closures and continuations.  Even
>graduate students at MIT are confused by that stuff.

Closure is not any more complicated a concept than object
encapsulation.  Unfortunately it is rarely explained well and because
not many languages use closure many people have only a vague notion of
what it is or why it is useful.  And it is /very/ useful for such a
simple concept!

>Data structures.  Tcl and Perl have strings.  And basically, that's -all-
>they have.

Strings are fundamental types, not structures.  

All three languages have a small set fundamental types.

But I really think you should learn Perl before spouting off about it
like this.  Perl does not represent everything as strings.

>But strings are universal -- you can represent anything using
>strings.  And strings are simple.  Heck, if everything is a string, you
>don't even need a garbage collector!

Bzzzt.  How you manage your memory has nothing to do with what your
fundamental types are.  And btw., in case you haven't noticed, you
can ``represent anything'' as binary numbers, too.  That doesn't mean
you'd want to.

>Furthermore, everything else in a
>modern computer is based on tools that consume and produce strings, so Tcl
>and Perl fit right in.  Scheme doesn't even have a foreign function
>interface, so you can't glue a Scheme program together with -anything-.

Bzzzt.  There are several Scheme packages that embed into C programs
much the same way as Tcl.  Unless you want to do your linking
dynamically where you don't know the target language until run-time
(in which case you get into an area of active research and standards
battles) this is purely an issue of the specific implementation.

Back to simple data structures;  Scheme (like Lisp) has the ordered pair
as a fundamental type and all data structures are built from this.  It is
a very simple concept that lets you build anything you want.  My experience
with Lisp in college was that the typical student learned to build complex
data structures and abstract types much more quickly with Lisp than with
C/Pascal.  Also people tend to use abstraction more effectively with Lisp,
especially in small programs (such as you would write a lot in an extension
language) because it is simpler (and less verbose) to do so.

>Syntax.  We all learned infix syntax in grade school.  `x + 2*y' is
>concise, familiar and easy-to-read.

I used an HP calculator in grade school.  Reverse-polish.  I found it
easier then and still do.

Not that I have a problem with infix on the level of `x + 2*y', but
when you're talking about all the types of expressions you typically
find in a programming language, most people can't seem to remember all
the precedence rules.  Look at some random source code... a lot of
expressions are over-parenthesized because the author wasn't sure of
precedence and rather than wasting time looking it up played it safe.
Sure, you can do that and never bother learning the precedence rules,
but if you're parenthesizing everything anyway, where's the difference
from Lisp?

In any case, syntax is a lot more than the form of arithmetic
expressions.  Scheme's syntax is arguably the simplest possible:
everything is a parenthesized list, there are no special cases, no
exceptions, no precendence rules.  What could be simpler?  ;-)

>In Scheme you have to write
>`(+ x (* 2 y))'.  Only an idiot would prefer to write that.

Since I prefer ``to write that'' (at least in the general sense of
more complicated expressions), you are calling me an idiot.  You, Sir,
are an asshole.

>Wise up.  Flush Scheme.

Wise up.  Learn that a) a lot of your perceptions stem from ignorance
and you don't even understand what the fundamental differences and
similarities of these langauges are, and b) different people have

>different preferences.

P.S.: I like Perl a lot and do a lot more Perl programming than
Scheme.  But this is because I'm a sysadmin and Perl lends itself
better to my problem domain in most cases.  As a general purpose
extension language I prefer Scheme.  Also, you do Perl a great
discredit by equating it with Tcl througout your post.

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Erik Naggum  
View profile  
 More options Jul 9 1995, 3:00 am
Newsgroups: comp.lang.scheme
From: e...@naggum.no (Erik Naggum)
Date: 1995/07/09
Subject: Re: Extension/Scripting language comparisons
Alan Bawden wrote me to tell me he didn't mean a word of what he wrote, and
that he wanted to sound like a Scheme-hater.  well, he did.  others also
commented that Alan has written many articles in defense of Scheme.  I did
get somewhat suspicious by the LCS.MIT.EDU address, but posted, anyway,
since it was impossible to detect the sarcasm unless one more or less knew
Alan personally.  a newsgroup should be less personal than that, or we end
up wasting a lot of time not "getting" inside jokes.  anyway...

[Jurgen Botz]

|   Back to simple data structures; Scheme (like Lisp) has the ordered pair
|   as a fundamental type and all data structures are built from this.

the vector is also a fundamental type, and may be more useful for building
data structures than lists.  many new Lisp and Scheme programmers tend to
think of the list as the only fundamental type, often causing slow code.

#<Erik 3014294464>
--
NETSCAPISM /net-'sca-,pi-z*m/ n (1995): habitual diversion of the mind to
    purely imaginative activity or entertainment as an escape from the
    realization that the Internet was built by and for someone else.


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Marcus Daniels  
View profile  
 More options Jul 9 1995, 3:00 am
Newsgroups: comp.lang.scheme
From: mar...@icc.pdx.edu (Marcus Daniels)
Date: 1995/07/09
Subject: Re: Extension/Scripting language comparisons

>>>>> "Erik" == Erik Naggum <e...@naggum.no> writes:
In article <19950709T1601...@naggum.no> e...@naggum.no (Erik Naggum) writes:

Erik> since it was
Erik> impossible to detect the sarcasm unless one more or less knew
Erik> Alan personally.  a newsgroup should be less personal than that,
Erik> or we end up wasting a lot of time not "getting" inside jokes.
Erik> anyway...

Alan Bawden should consider the cartoon business.  He could really
give Scott Adams some competition!  


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Stefan Monnier  
View profile  
 More options Jul 10 1995, 3:00 am
Newsgroups: comp.lang.scheme
From: "Stefan Monnier" <stefan.monn...@epfl.ch>
Date: 1995/07/10
Subject: Re: Extension/Scripting language comparisons
In article <19950709T1601...@naggum.no>, Erik Naggum <e...@naggum.no> wrote:

] since it was impossible to detect the sarcasm unless one more or less knew
] Alan personally.  a newsgroup should be less personal than that, or we end

Sorry, but it seemed obvious to me he was kidding (even though I don't know him
at all. Of course the lcs.mit.edu was a confirmation): the arguments were so
"true" (I really enjoyed the "even graduates get confused") !

Thanks Alan,

        Stefan


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Stefan Monnier  
View profile  
 More options Jul 10 1995, 3:00 am
Newsgroups: comp.lang.scheme
From: "Stefan Monnier" <stefan.monn...@epfl.ch>
Date: 1995/07/10
Subject: Re: Extension/Scripting language comparisons
In article <19950710T0236...@naggum.no>, Erik Naggum <e...@naggum.no> wrote:

] up over his article.  he _did_ give an exceedingly good impression of a
] Scheme hater.  but now we'll think that rabid Scheme haters are only
] joking, and I think that's going to cause those who don't know the Scheme

Nope. A scheme hater wouldn't talk about "easy-to-understand semantics", he
wouldn't know continuations exist and finally wouldn't be able to tell the
difference between a language and an implementation (which rules out the "scheme
doesn't even have an FFI"). The post was to well informed to be from some idiot
believing the Tcl or Perl is simple !

        Stefan "who's tired of having to add smileys everywhere because there's
                always someone not wise enough to discover sarcasm"


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
bruce  
View profile  
 More options Jul 10 1995, 3:00 am
Newsgroups: comp.lang.scheme
From: br...@liverpool.ac.uk
Date: 1995/07/10
Subject: Re: Extension/Scripting language comparisons

>>>>> "Matthias" == Matthias Blume <bl...@dynamic.cs.princeton.edu> writes:
> We've been through this.  Guile is *not* Scheme.  It may be based on
> Scheme, but don't call it Scheme!  (Otherwise I will no longer say I
> like Scheme.. :)

It's very close to Scheme, though.  Close enough that I suspect most
people won't notice the differences.  The extensions are noticeable,
of course, but that's not a surprise.
--
Bruce                   Institute of Advanced Scientific Computation
br...@liverpool.ac.uk   University of Liverpool
http://supr.scm.liv.ac.uk/~bruce/

    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Jurgen Botz  
View profile  
 More options Jul 10 1995, 3:00 am
Newsgroups: comp.lang.scheme
From: jb...@mtholyoke.edu (Jurgen Botz)
Date: 1995/07/10
Subject: Re: Extension/Scripting language comparisons

In article <19950709T1601...@naggum.no>, Erik Naggum <e...@naggum.no> wrote:
>|   Back to simple data structures; Scheme (like Lisp) has the ordered pair
>|   as a fundamental type and all data structures are built from this.

>the vector is also a fundamental type, and may be more useful for building
>data structures than lists.

Good point.  The heat of the moment...

>many new Lisp and Scheme programmers tend to
>think of the list as the only fundamental type, often causing slow code.

*grin*... not as slow as when "all you have" are strings.

-j


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Matthias Blume  
View profile  
 More options Jul 10 1995, 3:00 am
Newsgroups: comp.lang.scheme
From: bl...@dynamic.cs.princeton.edu (Matthias Blume)
Date: 1995/07/10
Subject: Re: Extension/Scripting language comparisons

In article <BRUCE.95Jul7163...@iasc3.scm.liv.ac.uk> br...@liverpool.ac.uk writes:

   > Scheme doesn't even have a foreign function interface, so you can't
   > glue a Scheme program together with -anything-.

   Choose an implementation.  For example, Guile.  Gosh, it's got two
   foreign function interfaces, one compatible with Tcl's.

We've been through this.  Guile is *not* Scheme.  It may be based on
Scheme, but don't call it Scheme!  (Otherwise I will no longer say I
like Scheme.. :)

   > Syntax.  We all learned infix syntax in grade school.  `x + 2*y' is
   > concise, familiar and easy-to-read.  In Scheme you have to write `(+
   > x (* 2 y))'.  Only an idiot would prefer to write that.

   Or rather [expr $x+2*$y].  But yes, it's still better.  But Guile has
   (or will have RSN) a C-like syntax, translated automatically to Scheme.

Yikes!

--
-Matthias


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Matthias Blume  
View profile  
 More options Jul 10 1995, 3:00 am
Newsgroups: comp.lang.scheme
From: bl...@dynamic.cs.princeton.edu (Matthias Blume)
Date: 1995/07/10
Subject: Re: Extension/Scripting language comparisons

In article <19950707T2209...@naggum.no> e...@naggum.no (Erik Naggum) writes:

   [Alan Bawden]

   |   Syntax.  We all learned infix syntax in grade school.  `x + 2*y' is
   |   concise, familiar and easy-to-read.  In Scheme you have to write
   |   `(+ x (* 2 y))'.  Only an idiot would prefer to write that.

   I'm surprised that those who argue against Scheme only use computers to do
   arithmetic exercises from grade school.  that is such a lame criticism that
   I wonder about the mental capacity with which those who make such arguments
   must be endowed.

Are you guys blind?!  Didn't you see all the smileys (or frownies) in
Alan's article?!  Knowing Alan's background and the extend of his
contributions to Scheme I can't imagine him advocating _Tcl_ (for
crying out loud!) over Scheme.  He may have his gripes with the current
state of affairs in Scheme (and rightfully so), but still...

   folks, you should look at the intellectual honesty of the critics of the
   various suggested languages.

Erik, DON'T accuse Alan Bawden of intellectual dishonesty, please!

--
-Matthias


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Erik Naggum  
View profile  
 More options Jul 10 1995, 3:00 am
Newsgroups: comp.lang.scheme
From: e...@naggum.no (Erik Naggum)
Date: 1995/07/10
Subject: Re: Extension/Scripting language comparisons
[Matthias Blume]

|   Are you guys blind?!  Didn't you see all the smileys (or frownies) in
|   Alan's article?!  Knowing Alan's background and the extend of his
|   contributions to Scheme I can't imagine him advocating _Tcl_ (for
|   crying out loud!) over Scheme.

right.  that's what I said in a followup, as well: you have to know Alan's
background and the extent of his contributions to Scheme to understand that
he was joking.

of course, it's embarrassing to fail to understand very good inside jokes,
but I find some consolation in the fact that more people than I got worked
up over his article.  he _did_ give an exceedingly good impression of a
Scheme hater.  but now we'll think that rabid Scheme haters are only
joking, and I think that's going to cause those who don't know the Scheme
community sufficiently well to know that Alan's was a joke and the others
aren't to hold back their comments, leading to more people actually
believing that Scheme's crap.

I think it's important that people reacted to Alan's article.  at least we
have managed to communicate to all of us on the fringes of the community
that we have some darn clever folks in the center of said community, and
that those almost-but-not-quite-absurd criticisms of Scheme weren't real.

sorry for being such a spoilsport, but this is the first time I think I had
a right not to "get" some joke.  it was too clever for its own good.  OK,
so I didn't pass the secret rites of entry to the community.  maybe later.

#<Erik 3014332589>
--
NETSCAPISM /net-'sca-,pi-z*m/ n (1995): habitual diversion of the mind to
    purely imaginative activity or entertainment as an escape from the
    realization that the Internet was built by and for someone else.


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Alan Bawden  
View profile  
 More options Jul 10 1995, 3:00 am
Newsgroups: comp.lang.scheme
From: a...@lcs.mit.edu (Alan Bawden)
Date: 1995/07/10
Subject: Re: Extension/Scripting language comparisons
In article <MARCUS.95Jul9144...@plato.icc.pdx.edu>

mar...@icc.pdx.edu (Marcus Daniels) writes:

   In article <19950709T1601...@naggum.no>
   e...@naggum.no (Erik Naggum) writes:
   Erik> since it was impossible to detect the sarcasm unless one more or
   Erik> less knew Alan personally.  a newsgroup should be less personal
   Erik> than that, or we end up wasting a lot of time not "getting" inside
   Erik> jokes.  anyway...

Damn -- Erik blew my cover!  I guess I shouldn't have admitted to him in
private that I was kidding around.

Actually, several people I have never met indicated that they understood
what I was up to:  I figured that if we were going to have to sit through
the stupid Scheme-vs-Tcl discussion for the tenth time, this time I'd see
what it was like to be on the other side, and perhaps I could push the
discussion someplace amusing.

The people who pointed out that I didn't know anything about Perl are
probably correct.

   Alan Bawden should consider the cartoon business.  He could really
   give Scott Adams some competition!  

High praise indeed.  Thanks, man, that's the best
endorsement I've received all year!

--
Alan Bawden                                    A...@LCS.MIT.EDU
617/492-7274                   06BF9EB8FC4CFC24DC75BDAE3BB25C4B


    Reply to author    Forward  
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Messages 1 - 25 of 46   Newer >
« Back to Discussions « Newer topic     Older topic »

Create a group - Google Groups - Google Home - Terms of Service - Privacy Policy
©2009 Google