From owner-freebsd-hackers Sun Oct 5 21:27:06 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id VAA01655 for hackers-outgoing; Sun, 5 Oct 1997 21:27:06 -0700 (PDT) (envelope-from owner-freebsd-hackers) Received: from usr09.primenet.com (tlambert@usr09.primenet.com [206.165.6.209]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id VAA01650 for ; Sun, 5 Oct 1997 21:27:00 -0700 (PDT) (envelope-from tlambert@usr09.primenet.com) Received: (from tlambert@localhost) by usr09.primenet.com (8.8.5/8.8.5) id VAA20719; Sun, 5 Oct 1997 21:26:57 -0700 (MST) From: Terry Lambert Message-Id: <199710060426.VAA20719@usr09.primenet.com> Subject: Re: Minor error (?) in regex.h To: Shimon@i-Connect.Net (Simon Shapiro) Date: Mon, 6 Oct 1997 04:26:56 +0000 (GMT) Cc: tlambert@primenet.com, freebsd-hackers@FreeBSD.ORG, brian@awfulhak.org In-Reply-To: from "Simon Shapiro" at Oct 5, 97 05:13:38 pm X-Mailer: ELM [version 2.4 PL23] Content-Type: text Sender: owner-freebsd-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > So, some of the contributors to FreeBSD are dwiddley's (LOVE that > expression :-), as I never thought this to be permissable, until I read > some sources here :-)) It's from the hacker's dictionary. I can't claim credit. > Don't remember whwere but these where some inline functions. > BTW, is queue.h, which is full of #define's as long as functions, a > Dwiddled code? No. Inline functions are what macros should have been, actually, so both macros and inlined funtions are immune from being tarred with the same brush. > This is a humorous, tention breaker. Right? No. People who program in include files are either trying to exceed the capabilities of the language using the preprocessor, or they simply do not understand the concepts behind abstraction and layering of interface code. Eother way, their code should not be checked into a tree. IMO, the FreeBSD code should represent "a good example" at a minimum, and "a reference implementation" at best. I prefer the "reference implementation" representation, but I'm probably in a minority: I'm in this thing to raise the bar for everyone, not to necessarily see my code used commercially. If you raise the bar across the board, the commercial implementations will have to "do the right thing" to compete. At best, they will take the BSD code to do it, at worst they will spend a lot of money because they are stupid and believe in "NIH"; either way, there will be an economic pressure against stupidity, and the systems will experience evolvolutionary pressures (no system really *wants* to experience evolutionary pressure; all evolutionary pressure is anti-status-quo). AFAIK, one of the reasons USL would not let me release code unrelated to my job responsibilities was the fact that, if I succeeded in "raising the bar", they'd have to actually do something other than resting on their laurels in order to compete. It seems that the current industry model is "do as much as you have to, but do no more". If that's the case, then I gleefully await the day that the Japanese (or Russians, or Koreans, or whoever) kick America's ass in software. Then America can learn to do the right thing the right way, or lose out to those who will. Either way, the general state of the art is going to advance, and I really don't give a damn at this point who does the advancing, so long as people who do not fear the future are left in charge. Just my personal opinion... Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.