The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [TUHS] Re: After 50 years, what has the Impact of Unix been?
@ 2024-12-04 19:07 Douglas McIlroy
  0 siblings, 0 replies; 6+ messages in thread
From: Douglas McIlroy @ 2024-12-04 19:07 UTC (permalink / raw)
  To: TUHS main list

Rich's remark about file types reminded me of an ancient non-Unix
story that I sent to Coff.

Doug

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [TUHS] Re: After 50 years, what has the Impact of Unix been?
@ 2024-12-06  1:36 Douglas McIlroy
  0 siblings, 0 replies; 6+ messages in thread
From: Douglas McIlroy @ 2024-12-06  1:36 UTC (permalink / raw)
  To: TUHS main list

> Pipes were invented at least three times

I would add a 4th: POGOL--a remarkable data-processing language from
NSA, described by Gloria Lambert at the first POPL conference, 1973. A
POGOL program is made of processes that read and write notional files.
The compiler considers all the processes together and optimizes files
out of existence wherever it sees that written data can be read
immediately. Otherwise a buffering file is instantiated. Unlike Unix
pipes, though, a pair of communicating processes must share common
knowledge about the connection--the file name.

A ready-made theory of pipe networks was published essentially
simultaneously with the advent of DTSS communication files:
R.M. Karp, R.E. Miller, and S. Winograd. The organization of
computations for uniform recurrence equations. Journal of the ACM,
14(3):563-590, July 1967.

Completely unsuspecting processes could have been connected by a pair
of DTSS communication files controlled by a master relay process. As
far as I know this was never done, although such a mechanism was used
for the DTSS chat facility.

For the special case of clocked sample-data networks, BLODI (block
diagram compiler) by Lochbaum, Kelly and Vyssotsky was way ahead
(1960) of all the pipe-based formalisms.

Doug

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [TUHS] Re: After 50 years, what has the Impact of Unix been?
  2024-12-04 13:05 ` [TUHS] " Marc Donner
  2024-12-04 13:40   ` William Cheswick
  2024-12-04 15:02   ` Rich Salz
@ 2024-12-05  3:08   ` John Levine
  2 siblings, 0 replies; 6+ messages in thread
From: John Levine @ 2024-12-05  3:08 UTC (permalink / raw)
  To: tuhs; +Cc: marc.donner

It appears that Marc Donner <marc.donner@gmail.com> said:
>With the notion of pipes it became possible to operate on data quickly and
>flexibly.  There was nothing new from a fundamental capability point of
>view, but the ease with which one could construct pipelines enabled rapid
>experimentation and encouraged the development of pipe-able components to
>add to the tool set.

Pipes were invented at least three times I'm aware of, but what made them
work so well in Unix is that they looked to the program the same as a file
so any program could use them for input or output without special arrangements,
and the shell made it easy to start two programs and pipe them together.

The Dartmouth Time-Sharing System in the late 1960s had communication files
which were essentially two-way pipes, but they were asymmetrical. One end, the
slave end, looked like a file, but the other end, the master end, was different
and the program had to know it was a com file. They were mostly used to pass
terminal I/O between user programs at the slave end and SIMON at the master end,
the terminal monitor that talked to the front end computer than ran the TTYs.

They were invented again at IBM in the 1970s and described in this paper.  I wrote
them a letter, which they published, saying that Unix pipes did the same thing.

https://dl.acm.org/doi/10.1147/sj.174.0383

R's,
John

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [TUHS] Re: After 50 years, what has the Impact of Unix been?
  2024-12-04 13:05 ` [TUHS] " Marc Donner
  2024-12-04 13:40   ` William Cheswick
@ 2024-12-04 15:02   ` Rich Salz
  2024-12-05  3:08   ` John Levine
  2 siblings, 0 replies; 6+ messages in thread
From: Rich Salz @ 2024-12-04 15:02 UTC (permalink / raw)
  To: Marc Donner; +Cc: sjenkin, TUHS

[-- Attachment #1: Type: text/plain, Size: 613 bytes --]

>
> I would add one more important impact: making data a first class component
> of the computing environment.
>

Related to that is getting rid of "file types". I remember at a "lessons of
Unix" panel at a Usenix, that someone from the Labs gave an example of a
situation where the operating system treated a file as more than just a set
of bytes (think IBM, VMS, etc).  Read a source file (required them to do a
bunch of file-conversion operations), write an output, perhaps changing a
variable name from 'foo' to 'bar', and then compiling the output, which
also required a bunch of file-conversion operations.

[-- Attachment #2: Type: text/html, Size: 970 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [TUHS] Re: After 50 years, what has the Impact of Unix been?
  2024-12-04 13:05 ` [TUHS] " Marc Donner
@ 2024-12-04 13:40   ` William Cheswick
  2024-12-04 15:02   ` Rich Salz
  2024-12-05  3:08   ` John Levine
  2 siblings, 0 replies; 6+ messages in thread
From: William Cheswick @ 2024-12-04 13:40 UTC (permalink / raw)
  To: Marc Donner; +Cc: sjenkin, TUHS

This alludes to an important step that should be mentioned.  Plan 9 was a rethinking of
the whole Unix world.  Though it didn’t spread like C, many of its ideas were adopted
elsewhere.  

And its approach to multi-machine compilation and tools is clearly reflected in the design
and implementation of golang.

ches

> On Dec 4, 2024, at 8:05 AM, Marc Donner <marc.donner@gmail.com> wrote:
> 
> 
> The original 1127 team went on to create other systems and languages,
> not the least being a new Software Engineering tool, “Go” / golang,
> addressing a whole slew of deficiencies in the C/C++ approach and 
> 


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [TUHS] Re: After 50 years, what has the Impact of Unix been?
  2024-12-04  3:17 [TUHS] " sjenkin
@ 2024-12-04 13:05 ` Marc Donner
  2024-12-04 13:40   ` William Cheswick
                     ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Marc Donner @ 2024-12-04 13:05 UTC (permalink / raw)
  To: sjenkin; +Cc: TUHS

[-- Attachment #1: Type: text/plain, Size: 10554 bytes --]

I would add one more important impact: making data a first class component
of the computing environment.

With the notion of pipes it became possible to operate on data quickly and
flexibly.  There was nothing new from a fundamental capability point of
view, but the ease with which one could construct pipelines enabled rapid
experimentation and encouraged the development of pipe-able components to
add to the tool set.

I may not have articulated this as well as it deserves.

Marc
=====
nygeek.net
mindthegapdialogs.com/home <https://www.mindthegapdialogs.com/home>


On Wed, Dec 4, 2024 at 3:43 AM <sjenkin@canb.auug.org.au> wrote:

> I was looking at the question of “impact 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’s
> Falcon 9 & presumably Starship,
>
> would be a slam-dunk for “really high impact”
>         - dominating everywhere important, except Windows desktops.
>
> Unix wasn’t just a ’research project’, it was the result of years of work
> by a team of very capable, professional programmers,
> who weren’t looking for kudos or recognition, nor trying to add every
> conceivable ‘feature’ possible, but the inverse:
>
>          how _small_ could it be and still be enough.
>
> When it left the Labs, Unix wasn’t just “Performant”, it came with a very
> useful set of tools for creating other tools (‘developing’)
> and while the kernel wasn’t perfect (some ‘panic’s), it was of “Production
> Quality”.
>
> For v6, I believe there were patches for 50-100 bugs circulating, perhaps
> the first demonstration of “no bug is intractable with ‘many eyeballs’”.
>
> All that in under 5 years of ‘development’, with the “initial release”
> stable & performant enough for cash-strapped Universities
> to gamble their reputations & budgets on running it.
> Imagine the grief academics would’ve got if their basic teaching systems
> failed continuously!
>
> This adoption path pushed Unix through another barrier:
>
>          ’Security’ - 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’s to hit the
> “very stable” benchmark?
>
> I don’t know enough of Linux to answer that definitively, the *BSD’s grew
> there through usage and contribution,
> while Microsoft NT derivates widely suffered “Blue Screen of Death” for
> years.
>
> Even now, MS-Windows has serious Security / compromise issues, like the
> highly visible, global “Crowdstrike” event.
> Not a break-in or takeover, but an own-goal from Security perimeter
> control.
>
> ==========
>
> 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 :
>         “C is wallpaper - people expect it everywhere”.
>
> C gained formal recognition with the POSIX standard, satisfying
> conservative users / enterprises that it wasn’t 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’s 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 ’shrink-wrap’ 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’s in a single year.
>
> People don’t 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 ’small’ achievement of C and Unix was creating the market for
> RISC chips.
> MIPS in the mid-1980’s 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
>         - not at zero-cost, but a tiny fraction of what every other Vendor
> had done before
>                 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 “Production Quality” - 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”, 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’ C language.
>
> The 1977 invention of ‘pcc’ and rewriting of Unix for cross-machine
> portability was the first time I’m aware of this being done.
>  ( Miller @ UoW did a one-off hack, not to devalue his work, he ported,
> didn’t invent a multi-target portable compiler )
>
> One of the effects of “portable C” 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 ‘portability’ - 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, “Go” / golang,
> addressing a whole slew of deficiencies in the C/C++ approach and
>
> We’d have no Internet today without Apache written in C and being ported
> to every environment.
>
> Also, there’s a connection between C and ‘modern’ Software Engineering
>   - 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.
> ‘make’ arose at Bell Labs to automate builds, along with PWB and Writers
> Workbench.
>
> There’s two questions / observations about 50 years of C in broad use:
>
>         - Just how much C is out there and used ‘in production’?
>
>         - C is ‘obviously’ a product of the 1970’s, 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 ‘better, modern’ 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’s “rust” project shows the extent of the problem
>    - 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…) 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…
>
> Gordon Moore, in an early comment on his 1968 startup with Robert Noyce,
> said:
>
>         “we are the real revolutionaries" (vs Hippies & 1967 Summer of
> Love).
>
> I think Ken & Dennis [ and 1127/ Bell Labs folk ] can say the same.
>
> ==========
>
> I’ve written some notes, with links to Programming Languages, especially
> Jean Sammet’s 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’s an interesting article in there, but I’m 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
>         <
> https://drive.google.com/file/d/1k936sgqHc-vHBvfCdLoSxFhdT9NaijU2/view?usp=sharing
> >
>
> steve jenkin
> 04 - dec - 2024
>
> ==========
> --
> Steve Jenkin, IT Systems and Design
> 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
>
>

[-- Attachment #2: Type: text/html, Size: 12374 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-12-06  1:36 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-12-04 19:07 [TUHS] Re: After 50 years, what has the Impact of Unix been? Douglas McIlroy
  -- strict thread matches above, loose matches on Subject: below --
2024-12-06  1:36 Douglas McIlroy
2024-12-04  3:17 [TUHS] " sjenkin
2024-12-04 13:05 ` [TUHS] " Marc Donner
2024-12-04 13:40   ` William Cheswick
2024-12-04 15:02   ` Rich Salz
2024-12-05  3:08   ` John Levine

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).