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 1448 invoked from network); 23 May 2020 19:29:16 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 23 May 2020 19:29:16 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id C41FA9C926; Sun, 24 May 2020 05:29:13 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 0A15F9C18A; Sun, 24 May 2020 05:28:34 +1000 (AEST) Received: by minnie.tuhs.org (Postfix, from userid 112) id 993C49C18A; Sun, 24 May 2020 05:28:32 +1000 (AEST) Received: from pio-pvt-msa2.bahnhof.se (pio-pvt-msa2.bahnhof.se [79.136.2.41]) by minnie.tuhs.org (Postfix) with ESMTPS id DD5399C188 for ; Sun, 24 May 2020 05:28:31 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by pio-pvt-msa2.bahnhof.se (Postfix) with ESMTP id 21BFE3F714 for ; Sat, 23 May 2020 21:28:30 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at bahnhof.se Received: from pio-pvt-msa2.bahnhof.se ([127.0.0.1]) by localhost (pio-pvt-msa2.bahnhof.se [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VdpOCCsz7QL9 for ; Sat, 23 May 2020 21:28:29 +0200 (CEST) Received: from localhost (unknown [155.4.14.29]) (Authenticated sender: mc327956) by pio-pvt-msa2.bahnhof.se (Postfix) with ESMTPA id 2F3D63F6DE for ; Sat, 23 May 2020 21:28:28 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by localhost (Postfix) with ESMTPS id 7CC732E242A for ; Sat, 23 May 2020 21:28:28 +0200 (CEST) Date: Sat, 23 May 2020 19:28:27 +0000 From: Michael =?utf-8?B?S2rDtnJsaW5n?= To: tuhs@tuhs.org Message-ID: References: <8a2e9b1b-8890-a783-5b53-c8480c070f2e@telegraphics.com.au> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit 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 23 May 2020 13:08 -0400, from clemc@ccc.com (Clem Cole): >> I would also argue that non-Unix C compilers actually drove the adoption >> curve of C. > > I would put a small accent on that. I think the C compilers that targeted > non-UNIX systems, and in particular the microprocessors were the driver. > The micro's started with assembler in most cases. Basic shows up and is > small, but it's not good enough for real products like VisiCalc or later > Lotus. Pascal tries to be the answer, but I think it suffered from the > fact that it makes Pascal a production quality language, you had a extend > it and everybody's extensions were different. There's also the issue that, even once you get into compiled BASIC territory, those wretched vendor-unique extensions show up again. Try porting, say, a non-trivial program written for QuickBASIC to Turbo BASIC even on the same PC. Both Pascal and BASIC are hard to extend by the programmer who's actually using them to try to write useful end-user software, _particularly_ in ways that fit into the rest of the code, so you're essentially stuck with what the compiler vendor thought you would need, or what they thought you would be willing to pay for, in memory or money. On the flip side, much of C's magic really isn't in the language (which is quite, pardon me, basic), but rather in the standard library. Yes, C('s standard library) ended up with its share of vendor-specific extensions as well, but the language itself actually gave the programmer the building blocks needed to, if necessary, even implement those extensions for a different compiler; most often without resorting to more than minimal amounts of assembler, and often outright none. So you weren't stuck with what the compiler vendor gave you; it was actually possible to effectively _extend_ the language vocabulary yourself, if you felt a need to do that. I didn't do serious enough programming back during those days for that to matter to me, but now that I get paid to write software, I definitely come across situations at times where the ability to extend the language in such a manner (and have the code using those extensions read idiomatically for the language) is awful nice. -- Michael Kjörling • https://michael.kjorling.se • michael@kjorling.se “Remember when, on the Internet, nobody cared that you were a dog?”