From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 29165 invoked from network); 23 May 2020 18:43:09 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 23 May 2020 18:43:09 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id 863DD9C933; Sun, 24 May 2020 04:43:00 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 46D9B9C1EA; Sun, 24 May 2020 04:42:38 +1000 (AEST) Received: by minnie.tuhs.org (Postfix, from userid 112) id 80C589C18A; Sun, 24 May 2020 04:42:34 +1000 (AEST) Received: from clarinet.employees.org (clarinet.employees.org [198.137.202.74]) by minnie.tuhs.org (Postfix) with ESMTPS id 496579C188 for ; Sun, 24 May 2020 04:42:34 +1000 (AEST) Received: by clarinet.employees.org (Postfix, from userid 1736) id 940004E11C99; Sat, 23 May 2020 18:42:33 +0000 (UTC) Date: Sat, 23 May 2020 19:42:33 +0100 From: Derek Fawcus To: The Unix Heritage Society mailing list Message-ID: <20200523184233.GA21301@clarinet.employees.org> References: <8a2e9b1b-8890-a783-5b53-c8480c070f2e@telegraphics.com.au> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Subject: Re: [TUHS] History of popularity of C X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" On Sat, May 23, 2020 at 01:08:28PM -0400, Clem Cole wrote: > So, C came along and was 'better than assembler' and allowed 'production > quality code' to be written, but with the exception of the far pointer > stuff, pretty much worked as dmr had defined it for the PDP-11. So code > could be written to work between compilers and systems. When the 386 DOS > extenders show up, getting rid of far, and making it a 32-bit based > language like the Vax and 68000, C had won. Certainly having a flat 32 bit compiler was eventually useful, but even prior to that the impact of 'far' pointers wasn't always an issue. For simple tasks, one simpy ignored it (wrote w/o 'far'), and the compiled as either small or large memory model. It was only if one wanted to optimise the code that 'far' became an issue, and a lot of code was never shipped, so didn't need to be so optimised. Even a lot of the shipped code I worked on with those DOS based compilers simply used large memory model, and ignored 'far'. More of an issue was the segmented memory, and that structures couldn't be larger than 64k. For targetting DOS, compilers eventually offered 'huge' pointers, and possibly a 'huge' memory model which hid the problem; but were of no use in protected 16 bit mode - which the embedded RT-OS I was developing for at the time used. DF