X-Original-To: pgsql-hackers@postgresql.org Received: from spampd.localdomain (postgresql.org [64.49.215.8]) by postgresql.org (Postfix) with ESMTP id E4634474E42 for ; Fri, 25 Apr 2003 12:43:16 -0400 (EDT) Received: from outland.mohawksoft.com (unknown [64.46.156.80]) by postgresql.org (Postfix) with ESMTP id 37BC0474E42 for ; Fri, 25 Apr 2003 12:42:45 -0400 (EDT) Received: from mohawksoft.com (outland.mohawksoft.com [127.0.0.1]) by outland.mohawksoft.com (8.11.6/8.9.3) with SMTP id h3PGxDf31458; Fri, 25 Apr 2003 12:59:13 -0400 From: pgsql@mohawksoft.com Received: from 68.162.220.216 (SquirrelMail authenticated user pgsql) by mail.mohawksoft.com with HTTP; Fri, 25 Apr 2003 12:59:13 -0400 (EDT) Message-ID: <1133.68.162.220.216.1051289953.squirrel@mail.mohawksoft.com> Date: Fri, 25 Apr 2003 12:59:13 -0400 (EDT) Subject: Re: close() vs. closesocket() To: pgman@candle.pha.pa.us In-Reply-To: <200304251616.h3PGG8A24353@candle.pha.pa.us> References: <200304251616.h3PGG8A24353@candle.pha.pa.us> Cc: pgsql@mohawksoft.com, pgsql-hackers@postgresql.org X-Mailer: SquirrelMail (version 1.0.6) MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, hits=-25.0 required=5.0 tests=BAYES_01,IN_REP_TO,NO_REAL_NAME,QUOTED_EMAIL_TEXT, REFERENCES,REPLY_WITH_QUOTES autolearn=ham version=2.50 X-Spam-Level: X-Spam-Checker-Version: SpamAssassin 2.50 (1.173-2003-02-20-exp) X-Archive-Number: 200304/904 X-Sequence-Number: 38394 > pgsql@mohawksoft.com wrote: >> > pgsql@mohawksoft.com wrote: >> >> >=20 >> >> > We have never been into abstraction for the sake of abstraction.=20 >> >>=20 >> >> Would you say that is a *good* thing or a *bad* thing? >> >=20 >> > A good thing --- too much abstraction is bad --- look at Mozilla for >> > a chilling example. >> > >> Anyone can find a *bad* example of something good. I did justify my >> statement with a "reasonable" cause. >=20 > Mozilla is an example of a case where too much abstraction is bad --- > hence supporting my statement: >=20 >> >> > We have never been into abstraction for the sake of abstraction.=20 >=20 > As far as examples, we are doing a few you mention already, and will > review the others once we are done. If there are too many special > cases, we can look at abstraction, but there has to be more than what I > have seen so far. I guess it is a design philosophy difference. My view is that all non-ansi or system specific API which tend to differ across platforms is universally put into an abstaction or ports layer. It has worked well for me for over two decades. More over, every time I say to myself, "I don't need to do it in this case." I get burned. With sockets, particularly, there are enough difference between UNIX systems let alone Windows to warrent an abstraction layer. PG is probably the only non-trivial code base that I know about that does not have a sockets abstraction layer.