Path: utzoo!attcan!uunet!ginosko!usc!apple!mrspoc!kayvan From: kayvan@mrspoc.Transact.COM (Kayvan Sylvan) Newsgroups: news.software.b Subject: Re: NNTP vs Cnews (was: Re: Cnews is not for me) Message-ID: Date: 24 Aug 89 17:54:35 GMT References: <2828@ndsuvax.UUCP> <1989Aug12.221624.12153@utstat.uucp> <1894@ucsd.EDU> <1989Aug13.071802.5187@utzoo.uucp> <527@logicon.arpa> <9636@b-tech.ann-arbor.mi.us> <1989Aug16.182527.24840@utzoo.uucp> <47046@oliveb.olivetti.com> Sender: kayvan@mrspoc.Transact.COM (Kayvan Sylvan) Organization: Transact Software, Inc. Lines: 46 In-reply-to: jerry@olivey.olivetti.com's message of 24 Aug 89 05:58:22 GMT In article <47046@oliveb.olivetti.com> jerry@olivey.olivetti.com (Jerry Aguirre) writes: > Newsgroups: news.software.b > Summary: Is "portability" too expensive? > Date: 24 Aug 89 05:58:22 GMT > Reply-To: jerry@olivey.UUCP (Jerry Aguirre) > Organization: Olivetti ATC; Cupertino, Ca > > [...] > > What I am contemplating is totaly separate versions of code for the > major versions of Unix. That is, someone would maintain a BSD version, > someone else would maintain a SysV version, yet another an Xenix > version, etc. If a bug fix or improvement can be ported from one to the > other then great. Maybe some of the code, say for parsing headers and > handling control messages, could be common. But lack of portability > should not hold back all the versions. This is absolutely and positively a bad idea. We do not need fragmentation of the code. The major versions of Unix are almost identical in many respects and getting closer to that ideal every day. > Of course this means extra work because more than one version would have > to be maintained but there are certainly enough sites now to justify it. I don't think there's too much justification for the extra work that would be entailed by this. It is not *that* difficult to do the proper configuration for your particular system. Granted, this could be made easier perhaps by better design and documentation. Perhaps a better idea might be to have the core system dependant functions in one module or library that would be linked in according to various system defines. Something like the GNU Emacs process of generating the actual makefile from a template makefile that is fed through the preprocessor... This could arrange for unixv.c, xenix.c, bsd.c, sun.c, etc. to be compiled and linked according to some configuration constants. This might even cut down the total number of #ifdefs and such throughout the rest of the code. ---Kayvan -- Kayvan Sylvan @ Transact Software, Inc. -*- Los Altos, CA (415) 961-6112 Internet: kayvan@Transact.COM -*- UUCP: ...!{apple,pyramid,mips}!mrspoc!kayvan