scsh-users
[Top] [All Lists]

Re: TCL & interface definitions (was Re: Ousterhout and Tcl lost the plo

To: scsh@martigny.ai.mit.edu
Subject: Re: TCL & interface definitions (was Re: Ousterhout and Tcl lost the plot with latest paper)
From: hclsmith@tallships.istar.ca (Hume Smith)
Date: 7 Apr 1997 03:00:59 GMT
Organization: iSTAR Internet Incorporated
In article <01bc42ae$4fc84940$6b91aac6@odessa.bmc.com>, msterin@bmc.com says...

>Jack Jansen <jack@cwi.nl> wrote in article <jack.860328432@news.cwi.nl>...
>> ...
>> ...With languages like Python or Tcl, with
>> no interface definitions whatsoever, you can only *hope* that you use
>> every interface correctly. I work on a largish project in Python, and
>> the one thing that gives continuous headaches is the lack of interface
>> definitions. Whenever you change an interface it is very very
>> difficult to check that you haven't inadvertantly broken something.
>
>This what the regression testing is for, isn't it ?

if by regression testing you mean running it over and over and hoping someone 
spots something going wrong - no.

i remember a program i had to keep interfaced with a library made by someone a 
dozen VFPs away, in C.  it had one function which took about 18 parameters in 
version A, 20 in version B, and 25 in version C... and he didn't provide a 
prototype in this header file.  obviously he was a crap programmer, but that's 
not the point; he wasn't using the features of the language which would have 
told me "hey, your interface doesn't match"... the consequences of not setting 
those parameters were minute and tended to affect things a long way away from 
the function call itself.  running the pgm over and over wouldn't tell 
you exactly what went wrong, assuming it even *noticed* something wrong. 

of course, my example also points out how the best typing features of a 
language are pointless if they don't get used... perhaps, finally, it's a 
people issue, not a language issue.


<Prev in Thread] Current Thread [Next in Thread>