From owner-freebsd-hackers Wed Nov 20 10:40:39 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id KAA26231 for hackers-outgoing; Wed, 20 Nov 1996 10:40:39 -0800 (PST) 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 KAA26225 for ; Wed, 20 Nov 1996 10:40:37 -0800 (PST) Received: (from terry@localhost) by phaeton.artisoft.com (8.6.11/8.6.9) id LAA11457; Wed, 20 Nov 1996 11:26:32 -0700 From: Terry Lambert Message-Id: <199611201826.LAA11457@phaeton.artisoft.com> Subject: Re: Who needs Perl? We do! To: gclarkii@main.gbdata.com (Gary Clark II) Date: Wed, 20 Nov 1996 11:26:32 -0700 (MST) Cc: terry@lambert.org, roberto@keltia.freenix.fr, hackers@freebsd.org In-Reply-To: <199611200544.XAA19148@main.gbdata.com> from "Gary Clark II" at Nov 19, 96 11:44:45 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-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk > > The problem is the dependencies for the existing code, and that fact > > that if the maintainers of the code haven't "upgraded", then we become > > promary support for the "upgraded" scripts. > > Most programs run fine with NO changes. As we gain more dependencies on PERL in the main line source tree, we will become more sensitive to PERL changes. Has PERL syntax reached the top end of the inverse expotential curve yet? If the last major rev is any indicator, the answer is "no". 8-(. When it starts to stagnate, then it will be safe. 8-). > > This would have been less of a problem in the 5.x changeover if the > > PERL distribution had a tool to upgrade scripts over the syntactic > > changes. > > Why don't C++ compliers supply the same thing? I've seen programmers > get bit by the same thing. Frank answer: because compiler writers are lazy. IMO, it is work 100 hours of compiler write time to save 1 hour of compiler user time is compiler users outnumber compiler writers 100 to 1. Since there are now in excess of 1.1 million professional programmers in the US alone, I kind of think the number is closer to 1000 to 1. One hour of compiler writer time for each 6 minutes of compiler user time. The whole MS "near/far" debacle could have been avoided if the compiler emitted pseduo-ops, which the linker resolved to near/far calls as necessary -- and as a result, totally hidden segments from the compiler user. Prototypes were the MS and Borland answer to the ANSI committee; they are useful in that they allow a migration path from C to C++, but the type-checking benefits result from not properly attributing object module contents in the first place... otherwise, the linker could catch the call return/argument mismatch by comparing attributes. Similarly, the "extern C" constructs are bogus name space selector mechanisms, only necessary because the object modules are once again, not attributed, and the linker is, once again, stupid. A lot of extra work for the compiler user because the compiler writer didn't want to have to spend the time. You can make similar arguments about applying "volatile" to variables instead of functions and memory ranges to make it innocuous (and in many cases, hide it with encapsulation -- ie: in __sighandler_t). A "volatile" function, by definition, is a crossing of a thread of control boundry. Stack scoping attribution could eliminate the need for volatile for everything by physical device memory references... any function crossing a thread of control (like a signal handler) would implicitly have non-local scope references treated as volatile. Etc., etc. Failure to provide "syntax upgrade" tools to post-process existing source code into the new syntax is just another instance of the same general problem. 8-(. And even if "syntax upgrade" tools were available, most of the PERL code in FreeBSD is "vendor branched"... which means convincing all the "vendors" to run the tools and rerelease their sources. There *will* be a latency in that process. > > The problem, again, is that the change cycle on PERL has historically > > been too short to base a FreeBSD release on a PERL release... PERL > > is moving faster than FreeBSD, in other words. > > HuH???!!!??? Include the latency in getting all vendors to the same revision level of the interpreter so that the new revision and all the dependent tools can be committed simultaneously. If FreeBSD has to run the conversion, then FreeBSD becomes the maintainer for each tool until the vendor himself runs the conversion. Regards, Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.