From owner-freebsd-chat Thu Jun 19 20:40:40 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id UAA07824 for chat-outgoing; Thu, 19 Jun 1997 20:40:40 -0700 (PDT) Received: from suntan.tandem.com (suntan.tandem.com [192.216.221.8]) by hub.freebsd.org (8.8.5/8.8.5) with SMTP id UAA07818 for ; Thu, 19 Jun 1997 20:40:35 -0700 (PDT) From: Greg Lehey Received: from papillon.lemis.com by suntan.tandem.com (8.6.12/suntan5.970212) id UAA09358; Thu, 19 Jun 1997 20:40:22 -0700 Received: (grog@localhost) by papillon.lemis.com (8.8.4/8.6.12) id LAA00673; Fri, 20 Jun 1997 11:29:36 +0800 (HKT) Message-Id: <199706200329.LAA00673@papillon.lemis.com> Subject: Re: TCL In-Reply-To: <199706200130.VAA13990@ethanol.gnu.ai.mit.edu> from Joel Ray Holveck at "Jun 19, 97 09:30:40 pm" To: joelh@gnu.ai.mit.edu Date: Fri, 20 Jun 1997 11:29:34 +0800 (HKT) Cc: chat@FreeBSD.ORG (FreeBSD Chat) Organisation: LEMIS, PO Box 460, Echunga SA 5153, Australia Phone: +61-8-8388-8250 Fax: +61-8-8388-8250 Mobile: +61-41-739-7062 Reply-to: grog@FreeBSD.ORG (Greg Lehey) WWW-Home-Page: http://www.FreeBSD.org/~grog X-Mailer: ELM [version 2.4ME+ PL28 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-chat@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Joel Ray Holveck writes: > >>> I also find that when I'm writing C code in Perl, I'm not using Perl >>> effectively. Instead it's most effective to think in Perl terms >>> when writing Perl, and in C terms when writing C. >> Sure. That's one of my gripes. I don't think that the learning >> effective use of the group (Perl,TCL,) is >> worth the trouble. > > I still don't follow you. My argument is that you think differently > when you use different languages. Use the language that best > describes what you're thinking for the problem. Don't use assembler > or Fortran to solve the Towers of Hanoi, use Lisp. (I had to say > that; last night I wrote a bit-manipulating assembler-oriented > iterative solution. I'm not sure whether to be proud or horrified at > the outcome.) I don't know how interesting this is to the mainstream, so maybe we should take it offline. Still, I'll have one last bash. Yes, to get the maximum out of a programming language, you also need to change the way you think. But I still want to be in control. IMO, the time taken to add a new way of thinking is just not justified by the amount of time it saves me. > Perl also changed the way I thought of programming to its extent. > When I started hacking Perl, I discovered that I had been too caught > up in formalism and modularity and whatnot to effectively hack small > tools. Now I will use Perl for lots of piddly sysadmin-type jobs and > CGI scripts which would take me exponentially longer to write in C, > simply because C so sorely lacks effective string-handling > capabilities. Lex was once characterized as the Swiss army knife of > Unix programming. Awk was later described as the Swiss army chainsaw > of Unix programming. I will submit that Perl is the Swiss army > flamethrower of Unix programming. Fast (to write, not to run), > effective, easy to use. :-) Yes, once you've changed your ways of thinking to suit Perl or TCL, they can be useful. And yes, I don't write piddly little C programs because they require too much effort. The bottom line is that, for me, the effort currently just isn't worth it. That may change, and I don't promise not to learn (and use) one or the other. But I don't see it coming Real Soon Now. > I agree that people write ungodly programs in Perl, TCL, and any other > language. These languages were made to design tools, not garages. > Using them beyond their capabilities is foolish, because you will hit > a wall. However, deciding against using a language because it cannot > effectively be used for large projects is equally foolish, because you > are throwing away good functionality and starting with wheels and > pulleys and always having to build your own internal combustion engine > each time. Well, no, every car hacker I know has a shedful of old bits and pieces. I have a shedful of old C programs which I can modify to do what I want, including a few internal combustion engines. >> I was unhappy enough to discover that I couldn't do everything in >> LISP. > > ? Please explain '?'. Do you mean, "what, you mean you *can't* do everything in LISP?" In that case, yes, you *can't* do everything in LISP. Or at least, not as easily as in C--take kernels, for example. Greg