Re: close() vs. closesocket() - Mailing list pgsql-hackers

From pgsql@mohawksoft.com
Subject Re: close() vs. closesocket()
Date
Msg-id 1133.68.162.220.216.1051289953.squirrel@mail.mohawksoft.com
Whole thread Raw
In response to Re: close() vs. closesocket()  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-hackers
> pgsql@mohawksoft.com wrote:
>> > pgsql@mohawksoft.com wrote:
>> >> >
>> >> > We have never been into abstraction for the sake of abstraction.
>> >>
>> >> Would you say that is a *good* thing or a *bad* thing?
>> >
>> > 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.
>
> Mozilla is an example of a case where too much abstraction is bad ---
> hence supporting my statement:
>
>> >> > We have never been into abstraction for the sake of abstraction.
>
> 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.



pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: close() vs. closesocket()
Next
From: Jan Wieck
Date:
Subject: Re: [PERFORM] Foreign key performance