[HN Gopher] War of the workstations: How the lowest bidders shap...
       ___________________________________________________________________
        
       War of the workstations: How the lowest bidders shaped today's tech
       landscape
        
       Author : lproven
       Score  : 78 points
       Date   : 2023-12-25 16:38 UTC (6 hours ago)
        
 (HTM) web link (www.theregister.com)
 (TXT) w3m dump (www.theregister.com)
        
       | kens wrote:
       | This is a very interesting article on computer history. There's a
       | lot that I disagree with, though...
        
         | lproven wrote:
         | Like I said above -- please do read my earlier comments -- I'd
         | love to hear what, and why.
        
       | tyingq wrote:
       | There's a lot that rings true here, but the article keeps noting
       | that the IBM PC won partially because it was cheap. That's only
       | true versus the examples the authors cite. In the business space,
       | it was pretty expensive when compared to, for example, business
       | oriented Z80/CPM platforms. And it was very expensive compared to
       | the variety of home 8-bit choices. There were a lot of different
       | markets/niches at the time, and things changed quickly, so it's
       | hard to distill the history into soundbites about what happened
       | and why.
        
         | lproven wrote:
         | Not quite.
         | 
         | Firstly, re predecessors:
         | 
         | DOS was a _lot_ more capable than CP /M-80 and any 8-bit
         | systems. It displaced them for much the same reasons x86-64
         | displaced x86-32: it became affordable to have lots of RAM. In
         | the early 1980s, 8080/Z80 couldn't handle >64kB without clunky
         | paging. Some 25Y later, x86-32 couldn't handle >4GB without
         | clunky paging, in much the same way.
         | 
         | Secondly, re the PC's cheapness. I'd argue the PC was cheap for
         | a business machine, but it's not simply that the PC _hardware_
         | was cheap, but the bigger point that the _bundle_ of the cheap
         | machine _and the cheap OS_ is what won out.
         | 
         | The PC launched with 3 OSes: PC DOS, the UCSD p-System (a self-
         | hosted Pascal IDE based on a JVM-like environment), and DR's
         | CP/M-86.
         | 
         | MS-DOS was about 1/4 of the price of the other offerings.
         | 
         | DR had an amazing comeback planned: it added the multitasking
         | of MP/M to CP/M-86, creating Concurrent CP/M, then bolted on
         | MS-DOS emulation, to create a multitasking OS that could run
         | _and multitask_ MS-DOS apps _on a 286_ : Concurrent DOS (CDOS
         | for short).
         | 
         | It also had a multitasking version of the GEM GUI called X/GEM.
         | 
         | This is something even the later OS/2 1.x couldn't do, and of
         | course OS/2 1.0 didn't have a GUI at all.
         | 
         | But CDOS/286 depended on a feature of the development versions
         | of the 80286 which Intel removed from the final shipping
         | version. So, when IBM launched the first 286 PC, CDOS didn't
         | work.
         | 
         | Intel put the hardware feature back but it was too late: the OS
         | had been killed at birth -- it didn't work on shipping 286 kit.
         | Only native apps multitask.
         | 
         | DR had a fallback plan: it promoted CDOS as a realtime OS and
         | made a living for years afterwards, but the big product to
         | outdo DOS, which originated as a clone of DR's CP/M anyway, was
         | thwarted.
         | 
         | So it's not just "the PC was cheap", no. It's bigger than that.
         | 
         | It's:
         | 
         | * On the business desktop, the PC was cheap, _and_ the dominant
         | PC OS was cheap, and the PC was built from open COTS parts and
         | ran a COTS OS so was cheap to clone.
         | 
         | * In academia and research, UNIX on mostly-COTS hardware killed
         | off elaborate proprietary OSes on proprietary hardware. While
         | PCs used x86, ST-506 and then ESDI and then IDE disks, ISA slot
         | cards, etc., workstations used fancy 32-bit CPUs on fancy buses
         | like NuBUS, VMEbus, and so on, with SCSI storage... and later
         | moved to RISC chips with fancy buses and SCSI.
         | 
         | This killed off proprietary non-open non-standard OSes such as
         | VMS, Apollo DomainOS, and other exotica.
         | 
         | Meanwhile, in business, DOS killed DR and the p-System and all
         | the eight-bits.
         | 
         | Later, Windows killed all the 16-bit GUI machines, except the
         | Mac, which only survived by self-destroying and becoming a Unix
         | machine.
        
           | akira2501 wrote:
           | > ISA slot cards
           | 
           | This was actually bigger than I think people remember. IBM
           | gave away all the information on their bus standard
           | immediately. They clearly understood they had to create a
           | robust third party add on market for the PC and this would be
           | key to driving the platform. They were not wrong.
        
             | FirmwareBurner wrote:
             | They were not wrong in terms of what had to be done to make
             | the OC platform the dominant one, except they didn't get to
             | profit from the PC business for too long. The openness
             | "mistake" is what Apple fought to avoid.
        
               | toyg wrote:
               | And Apple almost died because of that opposition to
               | openness. They only returned to profitability once they
               | promised to be as open as everyone else: having intel
               | processors and a standard Unix userland.
               | 
               | (They then got filthy rich by effectively pivoting to
               | portable computing, a world where openness and
               | standardization were never essential.)
        
           | radicalbyte wrote:
           | I'd argue that the Mac only survived because of the anti-
           | trust case against Microsoft which meant that MS needed (on
           | paper) competition so bailed them out.,
        
           | giantrobot wrote:
           | > In the early 1980s, 8080/Z80 couldn't handle >64kB without
           | clunky paging. Some 25Y later, x86-32 couldn't handle >4GB
           | without clunky paging, in much the same way.
           | 
           | This isn't analogous. At the time x86-64 was introduced
           | virtually no one had memory limitation issues. PAE allowed
           | the _systems_ to have more than 4GB of RAM even if individual
           | processes on 32-bit OSes were limited to 4GB. Even today you
           | 'd be hard pressed to find normal user workloads running into
           | 4GB RAM limitations.
           | 
           | That's not to say larger memory spaces aren't useful and
           | aren't used. It's just not the same as some very basic task
           | hitting limitations of only 64K of RAM.
        
       | snakeyjake wrote:
       | LISP fetishism must be resisted every time it appears.
       | 
       | Programmers who learn LISP and think they have become enlightened
       | are no different than drunks who ramble on about how it is
       | impossible to know if the colors they see are the same as the
       | colors you see.
        
         | Phiwise_ wrote:
         | It's a strange sort of Lisp fetishism that wants to bring back
         | Smalltalk instead of Lisp.
        
           | lproven wrote:
           | Exactly! :-)
        
         | lproven wrote:
         | I'm not a Lisp fetishist and I personally find it nearly as
         | unreadable as Perl and APL.
         | 
         | The article is in fact expressing my admiration of Dylan, if
         | you look more closely, and Smalltalk and other things of that
         | ilk.
         | 
         | Lisp was a tremendously important step... _In 1959._ They
         | should have continued with the planned Lisp-2, but they didn
         | 't, and sadly, McCarthy is dead now.
         | 
         | In its absence, Dylan is about the best candidate for a Lisp-2
         | we have.
        
       | selimnairb wrote:
       | So computers should've stayed expensive and inaccessible to most
       | people. Yeah, that's how markets grow.
        
         | lproven wrote:
         | That is not only not right, that is not even wrong.
         | 
         | It's not even a misinterpretation of what I was saying. It's
         | like taking the first letter of each line, spell checking it
         | until it reads as English somehow, and disagreeing with the
         | result!
         | 
         | I am saying we shouldn't have done it the cheap way. We should
         | have done it the best way when it was visible what was the
         | better but more expensive way.
         | 
         | Because that is what we must do know, but it's going to be much
         | harder and much more expensive now because we need to replace
         | 30+ years of accumulated useless cruft, _while staying
         | interoperable with it throughout_.
        
       | Phiwise_ wrote:
       | Glad to see you're still fighting the good fight on this one,
       | lproven. If anyone finds this interesting, Liam has three great
       | fosdem lectures out introducing this topic from the perspective
       | of business software dev, hardware tech, and open source. I found
       | the first after reading The Unix-Haters Handbook, and as much as
       | I like its style Proven's videos are broader and up-to-date, so
       | much better for learning:
       | 
       | The Circuit Less Traveled:
       | https://news.ycombinator.com/item?id=16309195
       | 
       | Generation Gaps; a heretical history of computing:
       | https://news.ycombinator.com/item?id=22265615
       | 
       | Starting Over; a FOSS propisal for a new type of OS for a new
       | type of computer: https://news.ycombinator.com/item?id=26066762
       | 
       | I also coincidentally found what might be the only good video
       | about the Apple Newton on the internet today (although with the
       | state of google search it's impossible to know outside of
       | youtube). It makes a great supplement to the discussion of
       | breaking the mold of OS conventions:
       | https://www.youtube.com/watch?v=5kxRi34PqWo
       | 
       | The channel also has full interviews used in the dicumentary. I
       | haven't seen the newest one, but it's two hours with a Mac and
       | Newton architect so it's probably great:
       | https://www.youtube.com/watch?v=KsaGx0loR3M
        
         | lproven wrote:
         | Oh, thank you! :-) That was a very pleasant Newtonmas surprise
         | to read! :-D
         | 
         | Yes, the core of this article was adapted -- with my editors'
         | full knowledge and agreement, of course -- from one of my
         | FOSDEM talks. I plan to return with some more of the talk --
         | and some new stuff! -- in later pieces.
         | 
         | Sadly, the FOSDEM organisers did not accept my proposal for a
         | talk this year. Ah well.
        
       | e-dant wrote:
       | I wonder if there's room for a theory of convergent evolution, in
       | software and languages, towards something that is generally
       | appreciated.
       | 
       | Maybe there will always be camps arguing for one thing or
       | another, but together and over the longest term, do they all pull
       | in one general direction?
       | 
       | I'm not so sure I agree with most of the article. The perspective
       | is valuable.
        
         | lproven wrote:
         | > towards something that is generally appreciated.
         | 
         | I think it's simpler than that.
         | 
         | It's convergence to the lowest common denominator. The simplest
         | implementation of the simplest thing that does the job, in the
         | simplest easiest language that is capable of it.
         | 
         | But because "simple" can be taken to extremes of very clever
         | but abstruse tools that only near-genius level minds can use
         | effectively, and those folks do not work well together, what
         | ends up cheap _at first_ is the simple _easy_ thing that is
         | simple and easy to get working.
         | 
         | Lisp might be arguably simpler in a theoretical sense but for a
         | lot of ordinary folks it's just too weird and too hard.
         | 
         | APL is "simple" inasmuch as a hundred lines of nested loops can
         | be written as one line of a dozen hieroglyphics that does the
         | same task in one operation... but there are only a few hundred
         | people on the planet that can read it.
         | 
         | C is a simple tool for simple computers but you can pick it up
         | and learn how to use it with just a book and some time.
         | 
         | It's fiddly and hard to do anything clever which means
         | programmer must do grug brain stuff.
         | 
         | https://grugbrain.dev/
         | 
         | And that means others can follow it, and work with it, and that
         | means teams scale. Not very well but a bit. So companies can
         | hire rooms full of grugs and make it work.
         | 
         | Result, fairly simple dumb tool beats clever fancy more capable
         | tool.
         | 
         | Result, people who like the dumb tool have strength of numbers
         | and they mock the speccy nerdy weirdos who like the weird tool.
         | 
         | Which is fine until you end up with a million programs built
         | from a million lines of C each and a million techies trying to
         | get them to work together.
         | 
         | Then you end up with an industry that makes billions of dollars
         | a month, selling billions of lines of code that nobody
         | understands, and hundreds of thousands of people trying to prop
         | it up and keep it working.
         | 
         | By that point it becomes clear that you should have employed a
         | dozen geniuses to do it in a few thousand lines of the weird
         | nerdy tool. You'd have ended up with something smaller and
         | simpler and easier to maintain, and even the paycheques of the
         | dozen geniuses would be less than the paycheques of a thousand
         | grug brain developers.
         | 
         | But it's too late. The geniuses retired or went off to grow
         | bonsai or something. All that's left is people who only know
         | the grug brained methods.
         | 
         | It is easy to believe it's some kind of elegant evolution of
         | the best possible solution... but it's not really. It's lots
         | and lots of the cheapest _worst_ solution until everything else
         | dies out.
         | 
         | That is what I am trying to get at here.
         | 
         | But I am always learning and I try hard to be open minded. If
         | you have specific point by point rebuttals, I'd love to read
         | them!
        
         | dist-epoch wrote:
         | Most likely, just like all phones now are big black rectangles.
         | 
         | There are also orders of magnitude more programmers now, so the
         | style of programming changed. Think classical music (few
         | listeners) versus popular music (lots of listeners).
        
       | jauntywundrkind wrote:
       | > _The story about evolution is totally wrong. What really
       | happened is that, time after time, each generation of computers
       | developed until it was very capable and sophisticated, and then
       | it was totally replaced by a new generation of relatively simple,
       | stupid ones. Then those were improved, usually completely
       | ignoring all the lessons learned in the previous generation,
       | until the new generation gets replaced in turn by something
       | smaller, cheaper, and far more stupid._
       | 
       | Beautifully said. But for the last couple decades not even that
       | is true. It's just been more and more of the same OSes, doing
       | basically the same things. What it means to develop a native app
       | is pretty fundamentally unchanged since Windows 3.11 or ISX days.
       | 
       | Software has changed, but only neo-mainframes. All the groupware
       | and multi-tenant and scale-out software systems the author
       | decries as lost? Rebuilt as online systems, powered by
       | communicative capitalism and vast data-keeps ("the cloud").
       | 
       | > _We run the much-upgraded descendants of the simplest,
       | stupidest, and most boring computer that anyone could get to
       | market. They were the easiest to build and to get working._
       | 
       | Unsaid here is I think where we _really_ got on the fixed path,
       | is what begat honogenization. Everyone else seemed to have been
       | competing to build better hardware+software+peripheral systems
       | against everyone else (with some close alliances here and there).
       | 
       | 1989 changed everything. The EISA bus _was_ the reformation of a
       | thousand different competing computing industries into a vaster
       | cohesive competitive ecosystem, via the Gang of Nine.
       | https://en.wikipedia.org/wiki/Extended_Industry_Standard_Arc... .
       | This commodified what used to be closed systems. Everyone either
       | adapted to the homogenized common systems, or, one by one, the
       | DECs and Suns and every other computer maker folded or got sold
       | off.
       | 
       | The business model, to me, defines what happened. Giving up on
       | being proprietary, giving up on controlling "your" ecosystem was
       | the hinge point. Computing was boutique and special systems,
       | competing on unique and distinct features and capabilities. With
       | the rise of interchangable computing parts it transitioned to a
       | more collaborative & much more competitive system. Distinction
       | carried the risk of being too far afield, of your stuff not being
       | compatible with the others. You had to play in the big tent.
       | Versus all the other upstarts playing against you. Meanwhile the
       | legacy featureful unique & distinct business-model players never
       | could get enough market share to survive, could certainly never
       | compete downmarket, and slowly has positions eroded up and up
       | market until those last upmarket places collapsed too.
       | 
       | The love of lisp here has many of the same pitfalls. Sure it's an
       | elegant modifiable system, one that can be shaped like a bonsai
       | tree into distinct and beautiful forms. And I hope we see the
       | rise, I hope very much, that we make software soft again, that
       | big overarching ideas of cohesive computing where OS and apps and
       | user's will blend together in dynamic fashion rise again. But the
       | peril is disjointedness. The peril is a lack of cohesion, where
       | different users have vastly different bespoke systems and
       | commonality is lost.
       | 
       | I'm tempted to stop here while I've said little that feels
       | controversial. Putting in anything people dont want to hear risks
       | the greater message, which is that the new ways could arise via
       | many many means. But, I do think: the brightest most malleable
       | most user controlled system we have is the web. Userscripts are
       | very powerful, and they grant us power over disjointed chaotic
       | industrial systems, which have no desire to let the user shape
       | anything. I believe that, with a little effort, with tools
       | already available like web components, we can build very
       | sympathetic forms of computing. HTML like LISP can make visible
       | and make manifest all the components pieces of computing, can be
       | an S-expr like system, as we see with modern front-end-derived
       | router technology for example. The whole web might not be
       | terraformed in our lifetimee, we might not dislodge the
       | contemporary industrial web practices to make all the web
       | excellent, but I think many stable wonderful media forms that
       | spread and interoperate can take root here, I think they already
       | resemble the alive system of the gods the author so nicely speaks
       | to. I too speak, for malleable systems everywhere (not mine but
       | https://malleable.systems ), and for the web as one conduit to
       | bring us closer to the gods.
        
       | facialwipe wrote:
       | After reading 30% of the article, it became clear to me that the
       | author has probably never created a GitHub account.
        
         | lproven wrote:
         | You didn't look very hard.
         | 
         | https://github.com/lproven
        
       | ashton314 wrote:
       | The description of Lisp machines sounds a lot like running Emacs
       | in a way. Is Emacs... just a Lisp machine emulator?!
       | 
       | (There is a _lot_ I dislike about Emacs Lisp; there is a lot of
       | power in it though. :)
        
         | marcosdumay wrote:
         | It's a Lisp interpreter that happens to come with a text
         | editor. I guess you can replace the text editing default skin,
         | but I never tried it.
        
       | amadeuspagel wrote:
       | Is this "Worse is Better", but in the snarky and obnoxious style
       | of The Register?
        
         | LeoPanthera wrote:
         | The answer to this is _in the article_.
        
       | msh wrote:
       | I think the author confused lowest bidder with producing
       | something people could afford. For all their weaknesses micro's
       | could be purchased by normal people. You could not produce a lisp
       | machine or alto equalent in the 80' that it was possible to
       | afford for regular people.
        
       | BaculumMeumEst wrote:
       | > Software built with tweezers and glue is not robust, no matter
       | how many layers you add. It's terribly fragile, and needs armies
       | of workers constantly fixing its millions of cracks and holes.
       | 
       | Dude, come on. I really don't think anyone who actually worked on
       | a medium to large Lisp codebase would write something like this.
        
       | di4na wrote:
       | One thing i think forgotten here, which actually is in the Worse
       | is Better talk. But people tend to miss it.
       | 
       | These ST and Lisps systems failed at another aspect. Reuse. The
       | biggest change of the past 2 decades in software engineering
       | compared to previous generations is the amount of reuse. It is
       | tremendous.
       | 
       | It is hard to talk of cause and effects here, but mostly this is
       | due to the Internet. At this point, the vast majority of code
       | running on any proprietary system is... Open source
       | infrastructural packages.
       | 
       | This condition a lot of the current ecosystem. You can only reuse
       | code on systems in which said code runs well. As such, the Linux
       | "stability" combined with x86 won, same as C and friends because
       | of the tooling that made the code "portable".
       | 
       | Yes i know. It is far from magically portable, but it is far more
       | than full machine living image SmallTalk or Lisp like.
       | 
       | As such, these "living code" are fundamentally evolutionary
       | deadend. They are amazing but they cannot easily move to
       | different machines and sharing parts of them is hard to separate
       | from the rest of the living organism.
       | 
       | On top of this, a lot of the elements to make this kind of
       | machine works does necessitate deep in depth expertise. As the
       | piece shows, the Newton is a pale copy of the goal because they
       | did not have that knowledge in house nor the time (or money) to
       | create it.
       | 
       | Same thing all over the stack. A good efficient logger need deep
       | expertise. Same for a good localization library. Same for a good
       | set of graphic servers. Same for audio servers. Same for a http
       | parser or a network library. A good regexp engine is knowledge
       | knows by less than 10 people in the world probably.
       | 
       | Once you realise that, you realise that at scale reuse is the
       | only realistic way forward for software so ubiquitous as it is
       | today. And that is how we got the current FOSS ecosystem, not
       | because the code is better but because it would need too many
       | licences to be manageable without breaking the bank in numbers of
       | lawyers.
       | 
       | Same thing for the Worse is Better. It works because it provides
       | extension points and can adapt. Something the Lisp and SmallTalk
       | machines fundamentally failed to provide. And that is something
       | Richard Gabriel focuses on far more than the whole New Jersey
       | schtick in his talk.
        
       | 6stringmerc wrote:
       | This is one angle of the history and I do think it is a useful
       | and accurate representation for what it describes.
       | 
       | My critique: This lacks context regarding the _still ongoing
       | conflict_ between terminals and functional workstations. Time and
       | again there is a back and forth in the computing realm. Case in
       | point - I was selling SaaS deployments of what had been
       | traditionally an On-Premises large cost platform.
       | 
       | Who gets control is, to me, fundamentally a more significant
       | angle on the history and future of computing. Again, will AI be
       | on your phone or via network sends to a Host? Cost is a factor
       | but I believe quite downstream from how these decisions are truly
       | reached at the time.
        
       ___________________________________________________________________
       (page generated 2023-12-25 23:00 UTC)