Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!mit.eternal-september.org!.POSTED!not-for-mail From: Richard Newsgroups: comp.lang.c Subject: Re: The portability sacred cow Date: Tue, 22 Apr 2014 14:58:10 +0100 Organization: http://www.ieee.org/ Lines: 31 Message-ID: <874n1lmpot.fsf@gmail.com> References: <64a27fd5-7e97-4905-bb55-b94fbdbb79aa@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: mit.eternal-september.org; posting-host="bdee7d74bb5599725cdba9fe2a37525e"; logging-data="20187"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+CBThDUNL0601kV1KIdhfh2MUB1SVxxOI=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) Cancel-Lock: sha1:cR+4n3ziFfdhNkqiq6nJLM4hgVM= sha1:iwQ53ZnuZbltzuZkvi9xW64UD8I= Xref: csiph.com comp.lang.c:43285 Malcolm McLean writes: > On Sunday, April 20, 2014 10:14:27 PM UTC+1, jacob navia wrote: >> If there is a common sacred cow in this newsgroup it is the >> "portability" sacred cow. >> >> Portability should be weighted with USABILITY and STABILITY, two things >> that we never discuss since they tend to be non portable :-) >> >> In my opinion, portability comes AFTER STABILITY and USABILITY, well >> after those. >> > My view is that you need to separate programs into the bit-shuffling section and the the IO section. > Some parts of the program rearrange bits in memory, other parts manipulate output devices. > > Any code that is interesting in a computer science, mathematical, logical, artistic or other sense > will be bit shuffling code. That should be written portably, there's no reason to use any non-portable > constructs, there's no reason to be interested in what type of processor you're running on. (OK, > I haven't addressed parallellisation and other forms of hardware > acceleration, it's a general scheme). And there's also no reason whatsoever to think for one minute it needs to be portable. You do go on. And IO is applicable to any "Computer Science" if not more so. -- "Avoid hyperbole at all costs, its the most destructive argument on the planet" - Mark McIntyre in comp.lang.c