From owner-freebsd-current Wed Jun 19 14:51:36 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id OAA26494 for current-outgoing; Wed, 19 Jun 1996 14:51:36 -0700 (PDT) Received: from phaeton.artisoft.com (phaeton.Artisoft.COM [198.17.250.211]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id OAA26473; Wed, 19 Jun 1996 14:51:21 -0700 (PDT) Received: (from terry@localhost) by phaeton.artisoft.com (8.6.11/8.6.9) id OAA14179; Wed, 19 Jun 1996 14:46:31 -0700 From: Terry Lambert Message-Id: <199606192146.OAA14179@phaeton.artisoft.com> Subject: Re: tcl -- what's going on here. To: jkh@time.cdrom.com (Jordan K. Hubbard) Date: Wed, 19 Jun 1996 14:46:31 -0700 (MST) Cc: terry@lambert.org, rjk@sparcmill.grauel.com, p.richards@elsevier.co.uk, phk@FreeBSD.org, current@FreeBSD.org In-Reply-To: <25337.835211721@time.cdrom.com> from "Jordan K. Hubbard" at Jun 19, 96 12:15:21 pm X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-current@FreeBSD.org X-Loop: FreeBSD.org Precedence: bulk > > There is no reason to bring in an interpreter that has as it's primary > > benefit the ability to easily implement what is, effectively, "throw > > away code". I believe "throw away code" should not be encouraged in > > the source tree. > > Whoa, Tonto! > > I think you do John a vast disservice by characterizing TCL as some > sort of disposable code generation facility. The problem is not that it is targetd, as such, but that it's possible to use it as such (and it is frequently used that way). > It's as much designed > and capable of writing throw-away code as pretty much ANY reasonably > high-level language out there, and if you've seen fit to write only > disposable code with it (or seen this in frequent practice) then I can > only council you or your TCL role-models to rethink their design > principles as they are NOT using TCL to its fullest and most capable > advantage. Actually, script interpreters which do command embedding (including /bin/sh) have a natural tendency towards throw-away code that compiled languages don't. I hate to harp on the same example, but "adduser" sticks in my craw. This is pretty much inhernet in the embedding rather than the procedural parts of the language. The same would be true of C, if it were possible to string things together internally using system(). The "popen" interface is relatively (compared to scripting) cumbersome, so there is less tendency to build Rube-Goldbergian "drop the marble" machines in C than there is in an interpreted language. > I've written plenty of code in TCL and C which was never > designed to be disposable and is still in active use today. Just > because some task becomes easier and faster to implement by no means > implies that its lifetime is correspondingly shortened. When that > does happen it's usually a fallacy induced by personal bias, not some > hacking law of physics. Right. My objection is against opportunity, not acts. It should not be easy to do bad things. TCL makes good things easier, though not substantially so (ie: they are nearly identically possible without TCL), but it also makes bad things substantially easier. I think any code that doesn't lend itself to reuse is, ipso facto, throw away code. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.