From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: from minnie.tuhs.org (minnie.tuhs.org [50.116.15.146]) by inbox.vuxu.org (Postfix) with ESMTP id 53F512E39C for ; Wed, 4 Dec 2024 04:18:26 +0100 (CET) Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id 587FA4235C; Wed, 4 Dec 2024 13:18:19 +1000 (AEST) Received: from pasta.tip.net.au (pasta.tip.net.au [IPv6:2401:fc00:0:129::2]) by minnie.tuhs.org (Postfix) with ESMTPS id 959B142132 for ; Wed, 4 Dec 2024 13:18:05 +1000 (AEST) Received: from smtpclient.apple (ppp121-45-196-241.cbr-trn-nor-bras38.tpg.internode.on.net [121.45.196.241]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mailhost.tip.net.au (Postfix) with ESMTPSA id 4Y32lb0y34z8t8X; Wed, 4 Dec 2024 14:18:01 +1100 (AEDT) From: sjenkin@canb.auug.org.au Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.600.62\)) Date: Wed, 4 Dec 2024 14:17:49 +1100 Message-Id: <568FD44F-01FB-441B-846B-7D42C3A8E1FB@canb.auug.org.au> To: TUHS X-Mailer: Apple Mail (2.3774.600.62) Message-ID-Hash: LOI33BAKU2W4TGHYAIWLPZ6GU676USSE X-Message-ID-Hash: LOI33BAKU2W4TGHYAIWLPZ6GU676USSE X-MailFrom: sjenkin@canb.auug.org.au X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-tuhs.tuhs.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [TUHS] After 50 years, what has the Impact of Unix been? List-Id: The Unix Heritage Society mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: I was looking at the question of =E2=80=9Cimpact of Unix" and thought = that: initiating (Portable) Open Source Software including the BSD = TCP/IP & Berkeley sockets libraries, the Unix -> Minix -> Linux -> Android sequence and BSD -> NeXtstep -> OS/X -> iOS sequence, plus running the Top 500 supercomputers and most of the Top 500 = websites, including the infrastructure for trillion dollars companies, = Facebook, Amazon (Netflix uses them), and Google plus so many embedded Linux / NetBSD based appliances even going into space - on small experiments or driving = SpaceX=E2=80=99s Falcon 9 & presumably Starship, would be a slam-dunk for =E2=80=9Creally high impact=E2=80=9D=20 - dominating everywhere important, except Windows desktops. Unix wasn=E2=80=99t just a =E2=80=99research project=E2=80=99, it was = the result of years of work by a team of very capable, professional = programmers, who weren=E2=80=99t looking for kudos or recognition, nor trying to add = every conceivable =E2=80=98feature=E2=80=99 possible, but the inverse: how _small_ could it be and still be enough. When it left the Labs, Unix wasn=E2=80=99t just =E2=80=9CPerformant=E2=80=9D= , it came with a very useful set of tools for creating other tools = (=E2=80=98developing=E2=80=99) and while the kernel wasn=E2=80=99t perfect (some =E2=80=98panic=E2=80=99s= ), it was of =E2=80=9CProduction Quality=E2=80=9D.=20 For v6, I believe there were patches for 50-100 bugs circulating, = perhaps the first demonstration of =E2=80=9Cno bug is intractable with = =E2=80=98many eyeballs=E2=80=99=E2=80=9D. All that in under 5 years of =E2=80=98development=E2=80=99, with the = =E2=80=9Cinitial release=E2=80=9D stable & performant enough for = cash-strapped Universities to gamble their reputations & budgets on running it. Imagine the grief academics would=E2=80=99ve got if their basic teaching = systems failed continuously! This adoption path pushed Unix through another barrier: =E2=80=99Security=E2=80=99 - with a lot of bright, bored & = curious students banging on it as hard as they could for bragging = rights. How long, in releases or years, did it take for other O/S=E2=80=99s to = hit the =E2=80=9Cvery stable=E2=80=9D benchmark? I don=E2=80=99t know enough of Linux to answer that definitively, the = *BSD=E2=80=99s grew there through usage and contribution, while Microsoft NT derivates widely suffered =E2=80=9CBlue Screen of = Death=E2=80=9D for years. Even now, MS-Windows has serious Security / compromise issues, like the = highly visible, global =E2=80=9CCrowdstrike=E2=80=9D event.=20 Not a break-in or takeover, but an own-goal from Security perimeter = control. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D I now think Unix has had a much larger, direct and important impact - the C language and associated tools & libraries that begat modern toolchains and endless portability = across platforms. In 1991, Bill Plauger had a year sabbatical at UNSW in Sydney, and happened to say : =E2=80=9CC is wallpaper - people expect it everywhere=E2=80=9D. C gained formal recognition with the POSIX standard, satisfying = conservative users / enterprises that it wasn=E2=80=99t the work of a = bunch of Hippies or ill-disciplined Hackers. Even Microsoft wrote 32-bit Windows NT in C, I presume starting by = writing it=E2=80=99s own compiler and toolchain to start. Borland, Watcom and many others - including Microsoft - offered (Visual) = C compile & build environments for Windows, directly responsible for creating the =E2=80=99shrink-wrap=E2=80=99 = third party software market that drove sales of Windows and x86 = machines. Nobody had seen a market for a billion systems before, nor sold 300M+ = CPU=E2=80=99s in a single year. People don=E2=80=99t buy Silicon Chips or nice Boxes, they buy = Applications that solve their problems: Software drives Sales of Hardware - something that IBM deeply understood first with first the = 1401 line, then 360-series. The other =E2=80=99small=E2=80=99 achievement of C and Unix was creating = the market for RISC chips. MIPS in the mid-1980=E2=80=99s was only able to design and build the = first commercial RISC chip because it knew it could port Unix to it and find an immediate market=20 - not at zero-cost, but a tiny fraction of what every other = Vendor had done before=20 reinventing the wheel from scratch to provide = incompatible O/S & tools for their hardware. Unix on MIPS not only came with a host of proven software, that a large = pool of people knew how to use, but it arrived as =E2=80=9CProduction Quality=E2=80=9D - the porting = team had to test their parts - compiler, linker, libraries - hard, but = could trust the existing high-quality codebase. In "A New Golden Age for Computer Architecture=E2=80=9D, 2019 by = Hennessy & Patterson, make an aside: In today's post-PC era, x86 shipments have fallen almost 10% per = year since the peak in 2011, while chips with RISC processors have skyrocketed to 20 billion. Today, 99% of 32-bit and 64-bit processors are RISC. i suggest this goes back to PCC followed by the MIPS R2000 - made = possible by Dennis=E2=80=99 C language. The 1977 invention of =E2=80=98pcc=E2=80=99 and rewriting of Unix for = cross-machine portability was the first time I=E2=80=99m aware of this = being done. ( Miller @ UoW did a one-off hack, not to devalue his work, he ported, = didn=E2=80=99t invent a multi-target portable compiler ) One of the effects of =E2=80=9Cportable C=E2=80=9D was creating whole = new industries for third party software developers or enabling niche products, like CISCO routers and the many embedded = devices. C and Unix came with the tools to create new languages and new tools. AWK, sed (!) and shells are obvious examples, with Perl, Python & PHP = very big in Internet of 2000. C was a new class of language - a tool to create tools. It creates a perfect mechanism to bootstrap any new language, tool or = product, allowing to be refined & used enough to become reliable before being = made self-hosting. Very widely used languages such as Python are written in C. ORACLE achieved its market dominance by providing =E2=80=98portability=E2=80= =99 - exactly the same on every platform. Underpinned by portable C. The original 1127 team went on to create other systems and languages, not the least being a new Software Engineering tool, =E2=80=9CGo=E2=80=9D = / golang, addressing a whole slew of deficiencies in the C/C++ approach and=20 We=E2=80=99d have no Internet today without Apache written in C and = being ported to every environment. Also, there=E2=80=99s a connection between C and =E2=80=98modern=E2=80=99 = Software Engineering=20 - distributed Repositories, automated builds & regression tests, and = the many toolchains and tools used. They tended to be built in C to address problems (Open Source) = developers were finding with existing toolchains. =E2=80=98make=E2=80=99 arose at Bell Labs to automate builds, along with = PWB and Writers Workbench. There=E2=80=99s two questions / observations about 50 years of C in = broad use: - Just how much C is out there and used =E2=80=98in = production=E2=80=99? - C is =E2=80=98obviously=E2=80=99 a product of the 1970=E2=80=99s= , not reflecting needs of modern hardware, networks, storage and = systems, but _what_ can replace it? There is simply too much critical code written in C to = convert it to another =E2=80=98better, modern=E2=80=99 language. Any new language that is a simple 1:1 rewriting of C = cannot address any of the deficiencies, while any incompatible language requires redesign and = reimplementation of everything - an unachievable goal. The Linux Kernel=E2=80=99s =E2=80=9Crust=E2=80=9D project shows the = extent of the problem=20 - even with the best team of the best developers, its a mammoth = undertaking, with uncertain payoffs, unquantifiable effort & deadlines. My thesis is that portable, standard C: - not only co-evolved with other tools & needs to create the = Modern Software Engineering environment, the basis for multiple Trillion = dollar enterprises (FAANG) but - drove the biggest, most profitable software market ever seen = (Wintel) - which drove sales volume of x86 chips (& DRAM, motherboards, = LAN, GPU, monitors, peripherals=E2=80=A6) over 2-3 decades, - which drove Silicon Valley, paying for new generations of Fabs = and lowering chip prices further & further - and eventually created the Fabless RISC CPU company, which in the Post-PC era absolutely dominates chip = sales. No Software, no Silicon=E2=80=A6=20 Gordon Moore, in an early comment on his 1968 startup with Robert Noyce, = said: =E2=80=9Cwe are the real revolutionaries" (vs Hippies & 1967 = Summer of Love). I think Ken & Dennis [ and 1127/ Bell Labs folk ] can say the same. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D I=E2=80=99ve written some notes, with links to Programming Languages, = especially Jean Sammet=E2=80=99s Histories, and would like some critiques, suggestions & corrections if people have = time and interest. Unix and C are intimately related - neither was possible or useful = without the other. i think there=E2=80=99s an interesting article in there, but I=E2=80=99m = not sure I have what it takes to write it, not in a finite time :) Very happy to help anyone who does! Did-C-lang-create-modern-software-industry.txt = steve jenkin 04 - dec - 2024 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D -- Steve Jenkin, IT Systems and Design=20 0412 786 915 (+61 412 786 915) PO Box 38, Kippax ACT 2615, AUSTRALIA mailto:sjenkin@canb.auug.org.au http://members.tip.net.au/~sjenkin