Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Why is TCL successful ?
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 101 - 125 of 184 - Collapse all  -  Translate all to Translated (View all originals) < Older  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
 
ozan s. yigit  
View profile  
 More options Aug 9 1994, 11:21 pm
Newsgroups: comp.lang.functional, comp.lang.lisp, comp.lang.misc, comp.lang.tcl, comp.software-eng, comp.windows.x
From: o...@nexus.yorku.ca (ozan s. yigit)
Date: Wed, 10 Aug 1994 04:01:44 GMT
Local: Wed, Aug 10 1994 12:01 am
Subject: Re: Why is TCL successful ?
Henry G. Baker:

   I thought that adding cruft and complexity was the role of the ANSI/IEEE
   standardization committee.  :-)

uh, oh. i cannot wait for a IEEE standard on perl. :-]


 
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.
Matt Kennel  
View profile  
 More options Aug 11 1994, 1:56 pm
Newsgroups: comp.lang.functional, comp.lang.lisp, comp.lang.misc, comp.lang.tcl, comp.software-eng
Followup-To: comp.lang.functional, comp.lang.lisp, comp.lang.misc, comp.lang.tcl, comp.software-eng
From: m...@inls1.ucsd.edu (Matt Kennel)
Date: 10 Aug 1994 22:44:49 GMT
Local: Wed, Aug 10 1994 6:44 pm
Subject: Re: Why is TCL successful ?

Chris Gray (c...@myrias.ab.ca) wrote:

:      ;;     if a + b < 5 then
:      ;;         a <- 1;
:      ;;     else
:      ;;         a <- 2;
:      ;;     endif;

:      (cond ((< (+ a b) 5)
:           (setq a 1))
:          (t
:           (setq b 2))))

:    which is a lot more readable too, IMHO.

Of course.

: The principle of a programming language being mostly readable by
: a reader not familiar with it. Programming is a difficult enough
: job as it is - why make it harder by using languages that are hard
: to read?

I look forward to the day when introductory textbooks explain

"The 'if <condition> then expression_1 else expression_2 endif' statment
 is the computer langauge's obscure version of what we humans all know
 as '(cond ((conditional_expression) (expression1)) (t (expression2))))'"

: Chris Gray    c...@myrias.ab.ca           [C macros - a powerful way to make bugs!]
: Myrias Computer Technologies Inc.   (403) 463-1337

--
-Matt Kennel            m...@inls1.ucsd.edu
-Institute for Nonlinear Science, University of California, San Diego
-*** AD: Archive for nonlinear dynamics papers & programs: FTP to
-***     lyapunov.ucsd.edu, username "anonymous".

PS: "He used *sarcasm*".


 
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.
Chris Bitmead  
View profile  
 More options Aug 11 1994, 2:44 pm
Newsgroups: comp.lang.functional, comp.lang.lisp, comp.lang.misc, comp.lang.tcl, comp.software-eng, comp.windows.x
From: chr...@cssc-syd.tansu.com.au (Chris Bitmead)
Date: 11 Aug 1994 13:48:41 +1000
Local: Wed, Aug 10 1994 11:48 pm
Subject: Re: Why is TCL successful ?

Well, I think the latter is easier to understand for most people
mainly because most computer languages are structured like the latter.

By the way, I don't think buy the argument that a language that is
hard to understand for someone who hasn't learnt it, is therefore bad.
If you followed this then I'd say COBOL would be the king of all
languages because lot's of it can be understood by managers etc.

Look at pointers in C. They are very hard to understand for a
beginner, but C has become very popular, even as a first programing
language.


 
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.
Jeff Dalton  
View profile  
 More options Aug 11 1994, 10:24 pm
Newsgroups: comp.lang.functional, comp.lang.lisp, comp.lang.misc, comp.lang.tcl, comp.software-eng
From: j...@aiai.ed.ac.uk (Jeff Dalton)
Date: Thu, 11 Aug 1994 15:31:27 GMT
Local: Thurs, Aug 11 1994 11:31 am
Subject: Re: Why is TCL successful ?

Anyway, COND must be just about the least readable part of Lisp.
It's not too bad once you're used to it, but COND alone does not
a fair comparison make.  It's kind of like comparing Lisp and C
by comparing (if test then-part else-part) with test ? then-part :
else-part.

The usual answer for COND is "if you don't like COND, you can define
an macro", but maybe that's not fair either.  After all, COND is in
the standard language, while this macro isn't, and having everyone
write their own macro isn't a very good solution.  But, on the other
hand, Common Lisp isn't all there is to Lisp.  In Franz Lisp, you
could write

  (if (< (+ a b) 5) then
      (setq a 1)
   else
      (setq a 2)
  )


 
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.
Discussion subject changed to "Pointers (was Why is TCL successful ?)" by Mike Gallo
Mike Gallo  
View profile  
 More options Aug 11 1994, 10:51 pm
Newsgroups: comp.lang.functional, comp.lang.lisp, comp.lang.misc, comp.lang.tcl, comp.software-eng, comp.windows.x
From: mi...@psg.com (Mike Gallo)
Date: Thu, 11 Aug 1994 16:28:52 GMT
Local: Thurs, Aug 11 1994 12:28 pm
Subject: Pointers (was Why is TCL successful ?)
lw...@chemabs.uucp (Larry W. Virden) wrote:
 // > Look at pointers in C. They are very hard to understand for a
 // > beginner, but C has become very popular, even as a first programing
 // > language.
 //
 // Ah, but in my experience the feature most often used incorrectly is
 // said feature of pointers!  I have had folk who have written code for
 // 10 years (!) who come by with simple pointer questions, and when I
 // explain it, say 'I have always wondered how that worked' or 'I have
 // been doing that wrong for all these years' - a scary thought indeed!

        One man's opinion: C's popularity is due to economic
forces *at least* as much as to any of its inherent
strengths.  On this topic, I'd go as far as to say that
unrestricted pointers are really the data structure equivalent
of GOTOs (and C is the contemporary equivalent of old BASIC).
        I'm not saying that "pointers" sould be eliminated,
but, just as WHILE and REPEAT loops can be thought of as
controlled GOTO intructions, pointers should be controlled
addresses.  I think Pascal, for example, does a good job of
this.
        "GOTOs and addresses belong in assembly code," he said
as he climbed into his asbestos suit . . .  :-)

--
Theatre is life.  Film is art.  Television is furniture.


 
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.
Discussion subject changed to "Why is TCL successful ?" by Larry W. Virden
Larry W. Virden  
View profile  
 More options Aug 11 1994, 11:04 pm
Newsgroups: comp.lang.functional, comp.lang.lisp, comp.lang.misc, comp.lang.tcl, comp.software-eng, comp.windows.x
Followup-To: comp.lang.functional, comp.lang.lisp, comp.lang.misc, comp.lang.tcl, comp.software-eng, comp.windows.x
From: lw...@chemabs.uucp (Larry W. Virden)
Date: Thu, 11 Aug 1994 11:17:47 GMT
Local: Thurs, Aug 11 1994 7:17 am
Subject: Re: Why is TCL successful ?

> Look at pointers in C. They are very hard to understand for a
> beginner, but C has become very popular, even as a first programing
> language.

Ah, but in my experience the feature most often used incorrectly is said
feature of pointers!  I have had folk who have written code for 10 years (!)
who come by with simple pointer questions, and when I explain it, say
'I have always wondered how that worked' or 'I have been doing that wrong
for all these years' - a scary thought indeed!
--
:s Great net resources sought...
:s Larry W. Virden                 INET: lvir...@cas.org
:s Personal: 674 Falls Place,   Reynoldsburg, OH 43068-1614
The task of an educator should be to irrigate the desert not clear the forest.

 
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 Aug 11 1994, 11:17 pm
Newsgroups: comp.lang.functional, comp.lang.lisp, comp.lang.misc, comp.lang.tcl, comp.software-eng
From: Erik Naggum <e...@naggum.no>
Date: 11 Aug 1994 15:40:57 UT
Local: Thurs, Aug 11 1994 3:40 pm
Subject: Re: Why is TCL successful ?
[Chris Gray]

|   Sorry, its been 15 years since I programmed in LISP.

that may explain why you didn't do this:

    (if (< (+ a b) 5)
        (setq a 1)
      (setq b 1))

but even this is not the best use of LISP.  different languages, different
concepts, and different expressability.  if you try to write FORTRAN in
LISP, it will look less pretty than FORTRAN, and FORTRAN will "win", but
try to write LISP in FORTRAN, instead.

|   The principle of a programming language being mostly readable by a
|   reader not familiar with it.  Programming is a difficult enough job as
|   it is - why make it harder by using languages that are hard to read?

why do you want to optimize for irrelevant people?  "a reader not familiar
with" a programming language is either not someone you want to read your
code, or he will become familiar with it shortly if he isn't.  programmers
have to be able to express themselves in a language, and that is more than
just "familiarity".  readability is a factor of many things, but common to
all is familiarity.

|   Here's kind of a twisted example, but heck, maybe someone out there can
|   help me with it. I've written a MUD system at home (if you don't know
|   what a MUD is, just ignore this), and one day I thought it would be
|   K00L to put a variant of "Eliza" or "Doctor" into it. I think all the
|   needed facilities are there. So, I grabbed the only version I had
|   around - that for GNU-Emacs ELisp. I have yet to be able to figure out
|   just what it does. This is precisely what I mean - if I can ever
|   convert it to my MUD system (a language along the lines of the first
|   one above), I would hope that it would be much more readable. Anyone
|   got a version that I can understand?

it's a twisted example, all right.  with languages come concepts, and if
you don't know the concepts, no amount of readability will help.  the
belief that one can "read" simple code (e.g., C) because the operations are
simple is erroneous.  you need to understand _why_ something is done, not
just _what_ it does.  you reimplement the _why_, not the _what_, anyway.

</Erik>
--
Microsoft is not the answer.  Microsoft is the question.  NO is the answer.


 
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.
Trevor Blackwell  
View profile  
 More options Aug 11 1994, 11:37 pm
Newsgroups: comp.lang.functional, comp.lang.lisp, comp.lang.misc, comp.lang.tcl, comp.software-eng, comp.windows.x
From: t...@chardonnay.harvard.edu (Trevor Blackwell)
Date: Thu, 11 Aug 1994 13:00:17 GMT
Local: Thurs, Aug 11 1994 9:00 am
Subject: Re: Why is TCL successful ?

Here's an example of something crufty in tcl syntax:

/usr/local/tcl/bin/wish
% set names(fred) 3
3
% set names([list joe bob]) 99
99
% set names("joe bob") 43
wrong # args: should be "set varName ?newValue?"
% set names({joe bob}) 33
wrong # args: should be "set varName ?newValue?"
% set ind "joe bob"
joe bob
% set names($ind) 77
77

Why aren't these all the same thing?
--
--
Trevor Blackwell         t...@das.harvard.edu          (617) 495-8912
(info and words of wit in my .plan)
Disclaimer: My opinions.


 
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.
rodrigo vanegas  
View profile  
 More options Aug 12 1994, 3:43 am
Newsgroups: comp.lang.functional, comp.lang.lisp, comp.lang.misc, comp.lang.tcl, comp.software-eng
From: r...@cs.brown.edu (rodrigo vanegas)
Date: Thu, 11 Aug 1994 19:58:25 GMT
Local: Thurs, Aug 11 1994 3:58 pm
Subject: Re: Why is TCL successful ?

And in Common Lisp you can write,

  (if (< (+ a b) 5)
    (setq a 1)
    (setq a 2))

or better yet for the "paper-saving" lispers among us,

  (setq a (if (< (+ a b) 5) 1 2))

rodrigo vanegas
r...@cs.brown.edu


 
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.
Raul Deluth Miller  
View profile  
 More options Aug 12 1994, 9:56 am
Newsgroups: comp.lang.functional, comp.lang.lisp, comp.lang.misc, comp.lang.tcl, comp.software-eng, comp.windows.x
From: rockw...@nova.umd.edu (Raul Deluth Miller)
Date: 11 Aug 1994 10:44:22 -0400
Local: Thurs, Aug 11 1994 10:44 am
Subject: Re: Why is TCL successful ?
Trevor Blackwell:
.  % set names("joe bob") 43
.  wrong # args: should be "set varName ?newValue?"
.  % set names({joe bob}) 33
.  wrong # args: should be "set varName ?newValue?"

% set names("joe\ bob") 44
44
% set names({joe\ bob}) 55
55

One thing bothers me: in the Tcl manual page, I find the statement
 "Backslash substitution is not performed on words enclosed in braces,
 except for backslash-newline as described above."

Also,
% set names({{joe bob}}) 33
wrong # args: should be "set varName ?newValue?"

I think this should be considered a tcl bug.

Raul D. Miller             n =: p*q               NB. prime p, q, e
<rockw...@nova.umd.edu>                           NB. public e, n, y
                           y =: n&|&(*&x)^:e 1
                           x -: n&|&(*&y)^:d 1    NB. 1 < (d*e) +.&<: (p,q)


 
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.
Discussion subject changed to "Thick Books ( was: What other experimental languages connect... )" by Jeff Dalton
Jeff Dalton  
View profile  
 More options Aug 12 1994, 6:12 pm
Newsgroups: comp.lang.functional, comp.lang.lisp, comp.lang.misc, comp.lang.tcl, comp.software-eng
From: j...@aiai.ed.ac.uk (Jeff Dalton)
Date: Fri, 12 Aug 1994 18:33:21 GMT
Local: Fri, Aug 12 1994 2:33 pm
Subject: Re: Thick Books ( was: What other experimental languages connect... )
In article <Cu8nvK....@murdoch.acc.Virginia.EDU> sd...@elvis.med.Virginia.EDU (Steven D. Majewski) writes:

>In article <Ctu43o....@world.std.com>,
>Joseph H Allen <jhal...@world.std.com> wrote:

>>I agree.  Common lisp is hopeless.  Its standard manual is longer than that
>>of _every_ _other_ programming language

Not so.  Look at InterLisp or ZetaLisp, for instance, or even PL/I.
There may well be others.

>>and its syntax diverged from the
>>lisp ideal since the introduction dotted-pairs and ' for quoting.  Perhaps
>>ideal lisp is not powerful or convenient enough for a real language.

Dotted pairs have been around since at least lisp 1.5.  ' since at
least the early 70s.  Where do you get this "Lisp ideal" from?
And why do you place the departure from the ideal at Common Lisp?

>The length of a language manual is not a commensurate metric.

Just so.  For instance, it includes much that might otherwise be
in a spearate "library" document.

>[...]
>Guy Steele ( the editor of CLtL ) was also the coauthor of a reference
>manual for C which was 2 or 3 times as long as K&R. Steele's C manual
>was as detailed as the Lisp manual, with discussion and justifications
>of various ANSI features, and comparison with non-ANSI compilers, etc.
>A lot of explaination of WHY and WHY-NOT.

>    The functional equivalent of the same level of documentation
>for C would be Harrison & Steele's C Reference Manual *PLUS* another
>book on portability and the standard C libraries. This would probably
>equal the page count of CLtL1 ( The first version, which is the one
>I have on my shelf.  CLtL2, which adds documentation for CLOS probably
>regains the record again. )

Note BTW that CLtL II describes some things that are *not part
of Common lisp* (e.g. series) and some things that would ordinarily
be considered a separate program (the XP-derived pretty-printer).

Some other randomly selected comparisons:

CLtL I is shorter than Knuth vol 1.  CLtL II is shorter than the BSD
library man pages, not to mention the X man pages.  The XView
Programming Manual alone (which I happen to have on my bookshelf)
is as big as CLtL I.

>I'm not arguing that Common Lisp isn't, in many ways, a complex
>language. Just that the size of the manual is NOT usually a reasonable
>mesaure of complexity. (  I could also argue that there are different
>TYPES of complexity, and that some types are better/worse than others,
>but I'll save that argument for later! )

Is TeX simpler than CL?  Is C++?  I don't find them so.

-- jeff


 
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.
Discussion subject changed to "Why is TCL successful ?" by Jim McDonald
Jim McDonald  
View profile  
 More options Aug 13 1994, 7:02 pm
Newsgroups: comp.lang.functional, comp.lang.lisp, comp.lang.misc, comp.lang.tcl, comp.software-eng
From: mcdon...@kestrel.edu (Jim McDonald)
Date: Sat, 13 Aug 1994 22:30:27 GMT
Local: Sat, Aug 13 1994 6:30 pm
Subject: Re: Why is TCL successful ?

In article <CuDn4G...@cogsci.ed.ac.uk>, j...@aiai.ed.ac.uk (Jeff Dalton) writes:

...

|> Anyway, COND must be just about the least readable part of Lisp.
|> It's not too bad once you're used to it, but COND alone does not
|> a fair comparison make.  It's kind of like comparing Lisp and C
|> by comparing (if test then-part else-part) with test ? then-part :
|> else-part.
|>
|> The usual answer for COND is "if you don't like COND, you can define
|> an macro", but maybe that's not fair either.  After all, COND is in
|> the standard language, while this macro isn't, and having everyone
|> write their own macro isn't a very good solution.  

Actually, in Common Lisp, IF is the primitive special form, and
COND is a system-defined macro that presumably expands into an
expression using IF.

--
James McDonald
Kestrel Institute                       mcdon...@kestrel.edu
3260 Hillview Ave.                      (415) 493-6871 ext. 339
Palo Alto, CA 94304                fax: (415) 424-1807


 
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.
Jeff Dalton  
View profile  
 More options Aug 15 1994, 1:48 pm
Newsgroups: comp.lang.functional, comp.lang.lisp, comp.lang.misc, comp.lang.tcl, comp.software-eng
From: j...@aiai.ed.ac.uk (Jeff Dalton)
Date: Mon, 15 Aug 1994 16:39:23 GMT
Local: Mon, Aug 15 1994 12:39 pm
Subject: Re: Why is TCL successful ?

Sure, but that's not inconsistent with what I said.  COND is (almost
always) built-in while (if ... then ... else ...) isn't.

 
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.
chyde  
View profile  
 More options Aug 18 1994, 12:48 pm
Newsgroups: comp.lang.functional, comp.lang.lisp, comp.lang.misc, comp.lang.tcl, comp.software-eng
From: ch...@labs-n.bbn.com
Date: 18 Aug 1994 16:08:04 GMT
Local: Thurs, Aug 18 1994 12:08 pm
Subject: RE: Why is TCL successful ?
In article <CuL4xn....@cogsci.ed.ac.uk> j...@aiai.ed.ac.uk (Jeff Dalton) writes:

--> In article <1994Aug13.223027.14...@kestrel.edu> mcdon...@kestrel.edu (Jim McDonald) writes:
--> >
--> >In article <CuDn4G...@cogsci.ed.ac.uk>, j...@aiai.ed.ac.uk (Jeff Dalton) writes:
--> >...
--> >
--> >|> Anyway, COND must be just about the least readable part of Lisp.
--> >|> It's not too bad once you're used to it, but COND alone does not
--> >|> a fair comparison make.  It's kind of like comparing Lisp and C
--> >|> by comparing (if test then-part else-part) with test ? then-part :
--> >|> else-part.
--> >|>
--> >|> The usual answer for COND is "if you don't like COND, you can define
--> >|> an macro", but maybe that's not fair either.  After all, COND is in
--> >|> the standard language, while this macro isn't, and having everyone
--> >|> write their own macro isn't a very good solution.  
--> >
--> >Actually, in Common Lisp, IF is the primitive special form, and
--> >COND is a system-defined macro that presumably expands into an
--> >expression using IF.
-->
--> Sure, but that's not inconsistent with what I said.  COND is (almost
--> always) built-in while (if ... then ... else ...) isn't.

well, in Allegro 4.2, COND (to my surprise) expands into IF/THEN/ELSE
nestings.

CLtL2 says it's a macro. my Explorer says it's a function. I could swear
that some years ago it was a macro on the Explorer and that it expanded
into some rats-nest of tagbody and GO and stuff like that...

 -- clint


 
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.
Christophe Muller  
View profile  
 More options Aug 18 1994, 2:12 pm
Newsgroups: comp.lang.functional, comp.lang.lisp, comp.lang.misc, comp.lang.tcl, comp.software-eng
Followup-To: comp.lang.lisp
From: mul...@simulog.fr (Christophe Muller)
Date: 18 Aug 1994 16:28:34 GMT
Local: Thurs, Aug 18 1994 12:28 pm
Subject: Re: Why is TCL successful ?

In article <330114$...@info-server.bbn.com> ch...@labs-n.bbn.com writes:
> In article <CuL4xn....@cogsci.ed.ac.uk> j...@aiai.ed.ac.uk (Jeff Dalton) writes:
> --> In article <1994Aug13.223027.14...@kestrel.edu> mcdon...@kestrel.edu (Jim McDonald) writes:
> --> >
> --> >In article <CuDn4G...@cogsci.ed.ac.uk>, j...@aiai.ed.ac.uk (Jeff Dalton) writes:
> --> >...

[...] (about Lisp COND readability, whether it's a function or a macro etc..)

Maybe it's time to stop now guys.. don't you think so?

Or at least, change the subject line, redirect to comp.lang.lisp, continue by
email, I don't know, DO SOMETHING!  :-)

Cheers,
Christophe.

     =    Are you the police?  --  No ma'am, we're musicians.    =


 
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.
John Styles  
View profile  
 More options Aug 18 1994, 3:54 pm
Newsgroups: comp.lang.functional, comp.lang.lisp, comp.lang.misc, comp.lang.tcl, comp.software-eng, comp.windows.x
From: jsty...@aivis.demon.co.uk (John Styles)
Date: Thu, 18 Aug 1994 18:17:50 +0000
Local: Thurs, Aug 18 1994 2:17 pm
Subject: Re: Why is TCL successful ?
My personal main bugbear of TCL is that, if I recall correctly,
what we more mortals would code as a=b+c comes out as set a [expr $b+$c].
This hardly strikes me as intuitive. Also there is the array syntax which
escapes me for the moment.
If it weren't so popular I'd guess it was some variety of practical joke.

--
John Styles


 
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.
Jay Sekora  
View profile  
 More options Aug 18 1994, 5:46 pm
Newsgroups: comp.lang.functional, comp.lang.lisp, comp.lang.misc, comp.lang.tcl, comp.software-eng, comp.windows.x
Followup-To: comp.lang.functional, comp.lang.lisp, comp.lang.misc, comp.lang.tcl, comp.software-eng, comp.windows.x
From: j...@caedmon.bu.edu (Jay Sekora)
Date: 18 Aug 1994 21:13:39 GMT
Local: Thurs, Aug 18 1994 5:13 pm
Subject: Re: Why is TCL successful ?
John Styles (jsty...@aivis.demon.co.uk) wrote:

  My personal main bugbear of TCL is that, if I recall correctly,
  what we more mortals would code as a=b+c comes out as set a [expr $b+$c].

No, actually mere mortals would code that as "ADD B TO C GIVING A".  
or maybe "(setq a (+ b c))".  or maybe "b c + /a def".  [Apologies
to comp.lang.lisp'ers if that's totally bogus lisp.]

Seriously, there's nothing wrong with having a personal preference
for the way things look in C over the way things look in Perl or Tcl
or PostScript or APL, but the way expressions look in Tcl isn't a
_failing of the language_, and it isn't _a priori_ less intuitive
than some other way, it's just less like C.  (And, to be honest, a
little less like standard algebraic notation, although the "a=" part
is pure C, because it's procedural rather than descriptive.)

I guess you could argue that it's inherently inferior to C because
it requires more typing.

Of course, Tcl is a scripting language, so it makes sense to compare
it to sh or csh, which do things more like Tcl than like C.  (Perl
is somewhere in the middle, but more like C.)

  This hardly strikes me as intuitive. Also there is the array syntax which
  escapes me for the moment.

Hunh?

set foo(bar) something
puts $foo(bar)
set foo(1) something_else
set i 1
puts $foo($i)

what's non-intuitive about that?

  If it weren't so popular I'd guess it was some variety of practical joke.

  --
  John Styles

Ain't a practical joke, ain't necessarily better than what you like,
ain't necessarily worse.  Just differ'nt.  Tcl makes radically
different tradeoffs than C.  That means they're good for different
kinds of things.

All IMHO, of course.

--
Jay Sekora                                               j...@bu.edu
BU Information Technology                                (MIME ok)
111 Cummington Street
Boston, MA 02115                                   +1 617 353 2780


 
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.
Peter.DeRijk  
View profile  
 More options Aug 19 1994, 6:12 am
Newsgroups: comp.lang.functional, comp.lang.lisp, comp.lang.misc, comp.lang.tcl, comp.software-eng, comp.windows.x
From: deri...@reks.uia.ac.be (Peter.DeRijk)
Date: Fri, 19 Aug 1994 09:56:16 GMT
Local: Fri, Aug 19 1994 5:56 am
Subject: Re: Why is TCL successful ?
John Styles (jsty...@aivis.demon.co.uk) wrote:

: My personal main bugbear of TCL is that, if I recall correctly,
: what we more mortals would code as a=b+c comes out as set a [expr $b+$c].
: This hardly strikes me as intuitive. Also there is the array syntax which

I think this is a matter of consistancy. The parsing rules for Tcl are very
simple, and very consistent. What you define as 'mere mortals' are actually
'people who have coded a lot in other languages such as C'. (I have also
coded a lot in C, but I try to keep an open mind.) For non programmers the
 a=b+c is also hard to grasp; what' this equation doing here.

Lets make a comparison of C and Tcl in several cases to show you what
I mean with consistancy:

I want to put '1' in variable a:
C:
  int a;
  a=1;
Tcl:
  set a 1

I want to put 'Hello world' in variable a:
C:
  char a[12];
  strcpy(a,"Hello world");
Tcl:
  set a "Hello world"

I want to put '<value of b> + <value of c>' in variable a:
C (of course 20 might not be enough, but to keep it simple):
  char a[20];
  int b,c;
  b=23;
  c=46456;
  sprintf(a,"%d + %d",b,c);
Tcl:
  set b 23
  set c 46456
  set a "$b + $c"

I want to put the result of <value of b> + <value of c> in variable a:
C:
  int a,b,c
  b=23;
  c=45;
  a=b+c;
Tcl:
  set b 23
  set c 45
  set a [expr $b + $c]

: escapes me for the moment.
: If it weren't so popular I'd guess it was some variety of practical joke.
:
: --
: John Styles
I can't agree. Tcl is actually very nice to use.

Peter


 
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.
Mike Suzio  
View profile  
 More options Aug 19 1994, 10:19 am
Newsgroups: comp.lang.functional, comp.lang.lisp, comp.lang.misc, comp.lang.tcl, comp.software-eng, comp.windows.x
From: msu...@tiamat.umd.umich.edu (Mike Suzio)
Date: 19 Aug 1994 09:36:53 -0400
Local: Fri, Aug 19 1994 9:36 am
Subject: Re: Why is TCL successful ?

jsty...@aivis.demon.co.uk (John Styles) writes:
>My personal main bugbear of TCL is that, if I recall correctly,
>what we more mortals would code as a=b+c comes out as set a [expr $b+$c].
>This hardly strikes me as intuitive. Also there is the array syntax which
>escapes me for the moment.

Well, arrays seem to work OK for me, but I really find lists much easier
(if less efficient).  But I totally agree that the inability to do simple
assignments without having to call "expr" is a pain.  The more programming
I do in TCL, the less I like that aspect of things.

I also hate the fact that it is so easy to forget to put that damn "$" in
front of a variable when you want to take it's value.  I almost wish it
were the other way around, like in C - variable name resolves to it's
value, and you need a "$" to refer to the variable's storage location.

However, both of these "problems" make it much easier to write a small and
efficient interpreter, so these might be reasonable tradeoffs.

>If it weren't so popular I'd guess it was some variety of practical joke.

Hardly.  It *is* popular for a reason, it gets the job done with fewer
problems than other tools.  I do almost all my scripting now in TCL, and
very little coding in C or sh (only use these for tools used outside my
area).

--
|+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++|
| Michael J. Suzio            msu...@tiamat.umd.umich.edu   |
|  Marketing Director - Friday Knight Games                 |
|  aka "That F*K*G company!"                                |
|+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++|


 
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.
Peter da Silva  
View profile  
 More options Aug 19 1994, 10:31 am
Newsgroups: comp.lang.functional, comp.lang.lisp, comp.lang.misc, comp.lang.tcl, comp.software-eng, comp.windows.x
From: pe...@nmti.com (Peter da Silva)
Date: Fri, 19 Aug 1994 13:19:56 GMT
Local: Fri, Aug 19 1994 9:19 am
Subject: Re: Why is TCL successful ?

In article <330iu3$...@news.bu.edu>, Jay Sekora <j...@bu.edu> wrote:
> No, actually mere mortals would code that as "ADD B TO C GIVING A".  
> or maybe "(setq a (+ b c))".  or maybe "b c + /a def".  [Apologies
> to comp.lang.lisp'ers if that's totally bogus lisp.]

No, that's fine, but your Postscript should be {/a b c add def}.
--
Peter da Silva                                            `-_-'
Network Management Technology Incorporated                 'U`
1601 Industrial Blvd.     Sugar Land, TX  77478  USA
+1 713 274 5180                       "Hast Du heute schon Deinen Wolf umarmt?"

 
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.
Marco Antoniotti  
View profile  
 More options Aug 20 1994, 6:13 pm
Newsgroups: comp.lang.functional, comp.lang.lisp, comp.lang.misc, comp.lang.tcl, comp.software-eng, comp.windows.x
From: marc...@mosaic.nyu.edu (Marco Antoniotti)
Date: 20 Aug 1994 17:20:48 GMT
Local: Sat, Aug 20 1994 1:20 pm
Subject: Re: Why is TCL successful ?
Since we are at it... let's make some more noise.

In article <1994Aug19.095616.15...@reks.uia.ac.be> deri...@reks.uia.ac.be (Peter.DeRijk) writes:

   From: deri...@reks.uia.ac.be (Peter.DeRijk)
   Organization: U.I.A.
   X-Newsreader: Tin 1.1 PL5
   References: <777233870...@aivis.demon.co.uk>
   Date: Fri, 19 Aug 1994 09:56:16 GMT
   Lines: 59

   John Styles (jsty...@aivis.demon.co.uk) wrote:
   : My personal main bugbear of TCL is that, if I recall correctly,
   : what we more mortals would code as a=b+c comes out as set a [expr $b+$c].
   : This hardly strikes me as intuitive. Also there is the array syntax which

   I think this is a matter of consistancy. The parsing rules for Tcl are very
   simple, and very consistent. What you define as 'mere mortals' are actually
   'people who have coded a lot in other languages such as C'. (I have also
   coded a lot in C, but I try to keep an open mind.) For non programmers the
    a=b+c is also hard to grasp; what' this equation doing here.

   Lets make a comparison of C and Tcl in several cases to show you what
   I mean with consistancy:

   I want to put '1' in variable a:
   C:
     int a;
     a=1;
   Tcl:
     set a 1

Common Lisp:
        (setf a 1)

   I want to put 'Hello world' in variable a:
   C:
     char a[12];
     strcpy(a,"Hello world");
   Tcl:
     set a "Hello world"

Common Lisp
        (setf a "Hello world")

   I want to put '<value of b> + <value of c>' in variable a:
   C (of course 20 might not be enough, but to keep it simple):
     char a[20];
     int b,c;
     b=23;
     c=46456;
     sprintf(a,"%d + %d",b,c);
   Tcl:
     set b 23
     set c 46456
     set a "$b + $c"

Common Lisp
        (setf b 23)
        (setf c 46453)
        (setf a (format nil "~D + ~D" b c))

   I want to put the result of <value of b> + <value of c> in variable a:
   C:
     int a,b,c
     b=23;
     c=45;
     a=b+c;
   Tcl:
     set b 23
     set c 45
     set a [expr $b + $c]

Common Lisp
        (setf b 23)
        (setf c 46453)
        (setf a (+ b c))
        or
        (setf a #$ b+c $)
        Yes! Infix notation in Common Lisp!

   I can't agree. Tcl is actually very nice to use.

I can't agree. Common Lisp is actually nice to use. :)
--
Marco Antoniotti - Resistente Umano
--------------------------------------------------------------------------- ----
Robotics Lab            | room: 1220 - tel. #: (212) 998 3370
Courant Institute NYU   | e-mail: marc...@cs.nyu.edu

...e` la semplicita` che e` difficile a farsi.
...it is simplicity that is difficult to make.
                                Bertholdt Brecht


 
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.
Discussion subject changed to "Personal Preference: The Devil in Disguise" by Jeff Kotula
Jeff Kotula  
View profile  
 More options Aug 22 1994, 12:56 pm
Newsgroups: comp.lang.functional, comp.lang.lisp, comp.lang.misc, comp.lang.tcl, comp.software-eng, comp.windows.x
From: kot...@camax.com (Jeff Kotula)
Date: Mon, 22 Aug 1994 14:34:16 GMT
Local: Mon, Aug 22 1994 10:34 am
Subject: Personal Preference: The Devil in Disguise

j...@caedmon.bu.edu (Jay Sekora) writes:
>John Styles (jsty...@aivis.demon.co.uk) wrote:
>Seriously, there's nothing wrong with having a personal preference
>for the way things look in C over the way things look in Perl or Tcl
>or PostScript or APL, but the way expressions look in Tcl isn't a
>_failing of the language_, and it isn't _a priori_ less intuitive
>than some other way

[stuff deleted]

>--
>Jay Sekora                                               j...@bu.edu
>BU Information Technology                                (MIME ok)
>111 Cummington Street
>Boston, MA 02115                                   +1 617 353 2780

I don't want to focus on TCL syntax (or C or APL).  What I'd like to discuss
is this idea of personal preference.  Over the years I've observed that
discussions of the merits of languages or particular constructs always seem
to end when someone states that its use is a matter of 'preference'.

Do people really think that software development has become enough of an
engineering discipline -- that is, has reached levels of comparative
technical competence across *most* practitioners -- that 'preference' is a
valid argument?

In the TCL discussion that prompted my message (and this was just the most
recent in a long line of such discussions on more newsgroups than I can
count) I think an objective analysis could be done to determine that one or
the other syntax under discussion was more intuitive or useful, or just
*standard*.  This is the whole idea of user interface usability testing.  In
lieu of empirical results, we can surely at least perform some simple
analysis be careful argumentation and refutation.

But my main point is that 'preference' is not a valid argument (at least not
at this stage in the development of software engineering).

[The Mighty Captain Flame-Bait dons his Invulnerable Asbestos Suit...]

--
--------------------------------------------------------------------------- -----
                                 Jeff Kotula            kot...@camax.com
                                 Camax Systems Inc.     Speaking only for myself
                                 -----------------------------------------------


 
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.
Discussion subject changed to "Why is TCL successful ?" by Martin Brunecky
Martin Brunecky  
View profile  
 More options Aug 22 1994, 10:11 pm
Newsgroups: comp.lang.functional, comp.lang.lisp, comp.lang.misc, comp.lang.tcl, comp.software-eng, comp.windows.x
From: mar...@xvt.com (Martin Brunecky)
Date: Tue, 23 Aug 1994 00:29:09 GMT
Local: Mon, Aug 22 1994 8:29 pm
Subject: Re: Why is TCL successful ?
In article <MARCOXA.94Aug20132...@mosaic.nyu.edu> marc...@mosaic.nyu.edu (Marco Antoniotti) writes:
>Since we are at it... let's make some more noise.
>In article <1994Aug19.095616.15...@reks.uia.ac.be> deri...@reks.uia.ac.be (Peter.DeRijk) writes:
>   ... What you define as 'mere mortals' are actually
>   'people who have coded a lot in other languages such as C'. (I have also
>   coded a lot in C, but I try to keep an open mind.) For non programmers the
>    a=b+c is also hard to grasp; what' this equation doing here.

    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Huhh ???
    Mere mortals are people who happened to attend any school that managed
    to teach them the basic algebra. For all those 99.99 % of population
    the expression:
    a = b + c
    has a clear meaning, whereas:
    set a 1
    is something new.

        However, programmers, who may account for some 0.01 % of Earth population
        are a different breed. For them,
        a = b + c   may sound like "C"  (rather than algebra)
    A = B + C   may sound like FORTRAN
    SET A 1     may sound like COBOL

        The problem with (many) programming languages is that they (for whetever
        reson) depart from paradigms that most people have learned at school.
        In some areas, it has clear advantages. In others, this conflict between
        language syntax and "algebra syntax" (as hammered into our heads at
        school) makes grasping such language "less intuitive", at least until
        the hammered-in expectation of an "algebra syntax" is broken.

        For people who are exposed to a multitude of programming languages, the
        "algebra syntax" fixation is broken early in the process.
        For others, such as engineers who "also learned to code", this will be
        more difficult.

    But on the original subject. Syntactical "cleanliness" and other "stuff"
    are, in my experience, much less important than
       - I can make it what I want
       - I can make changes fast and see the result NOW

    This is why so many people like "C" with all it's bizzaire quirks (they
    can make it do whatever they want, good or bad),
    and this is why people like Tcl (they can see their changes NOW).

    After that, what is "better", "cleaner", "more consistent" etc. has
    a very little value beyond estetics.

--

>>> Opinions presented above are solely of my own, not those of my employer <<<

Martin Brunecky           mar...@xvt.com    (303)443-5130 ext 229 or 443-4223

 
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.
Discussion subject changed to "Personal Preference: The Devil in Disguise" by Bennett Todd
Bennett Todd  
View profile  
 More options Aug 22 1994, 11:07 pm
Newsgroups: comp.lang.functional, comp.lang.lisp, comp.lang.misc, comp.lang.tcl, comp.software-eng, comp.windows.x
Followup-To: comp.lang.misc
From: b...@ritz.mordor.com (Bennett Todd)
Date: Tue, 23 Aug 1994 01:59:26 GMT
Local: Mon, Aug 22 1994 9:59 pm
Subject: Re: Personal Preference: The Devil in Disguise
[Please note Followup-To]

In article <1994Aug22.143416.29...@camax.com>,

Jeff Kotula <kot...@camax.com> wrote:
>Do people really think that software development has become enough of an
>engineering discipline -- that is, has reached levels of comparative
>technical competence across *most* practitioners -- that 'preference' is a
>valid argument?

I think the relative [in]competence of most practitioners isn't the major
issue; it's only one of many.  You should always try to pick the best tool
for a job, and sometimes that choice is a matter of preference, of taste.

The choice of programming language should reflect many factors, including
how well you know the languages, whether the job is big enough to justify
the cost of learning a new one, what features are available in each
language, what language implementations are available and how good they are,
who will have to support the resulting program and for how long, and so on.
Sometimes there won't be a clear winner, given all the factors. Since nobody
knows enough to really objectively evaluate all possible factors against all
conceivable languages, there will be many cases where people disagree. Much
of the time it's reasonable to call such cases ``matter of taste'', and
leave it to individual preference.

-Bennett
b...@sbi.com


 
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.
S M Ryan  
View profile  
 More options Aug 23 1994, 1:10 am
Newsgroups: comp.lang.functional, comp.lang.lisp, comp.lang.misc, comp.lang.tcl, comp.software-eng, comp.windows.x
Followup-To: comp.lang.functional, comp.lang.lisp, comp.lang.misc, comp.lang.tcl, comp.software-eng, comp.windows.x
From: smr...@netcom.com (S M Ryan)
Date: Tue, 23 Aug 1994 04:33:46 GMT
Local: Tues, Aug 23 1994 12:33 am
Subject: Re: Personal Preference: The Devil in Disguise
: In the TCL discussion that prompted my message (and this was just the most
: recent in a long line of such discussions on more newsgroups than I can
: count) I think an objective analysis could be done to determine that one or
: the other syntax under discussion was more intuitive or useful, or just
: *standard*.  This is the whole idea of user interface usability testing.  In
: lieu of empirical results, we can surely at least perform some simple
: analysis be careful argumentation and refutation.

Some of this was based on a common view of what program variables are. The
common view not always being the most straightforward.

I could argue every variable should be explicitly declared and devarred. It
would certainly clean up C++ syntax and semantics.

--
    Tha se eorl ongan for his ofermode  | smr...@netcom.com   PO Box 1563
alyfan landes to fela lathere theode.   |             Cupertino, California
                  ... ond lof-gearnost. | (xxx)xxx-xxxx               95013


 
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 101 - 125 of 184 < Older  Newer >
« Back to Discussions « Newer topic     Older topic »