[HN Gopher] STEPS Toward the Reinvention of Programming (2012) [...
       ___________________________________________________________________
        
       STEPS Toward the Reinvention of Programming (2012) [pdf]
        
       Author : pcfwik
       Score  : 42 points
       Date   : 2025-03-10 18:22 UTC (4 hours ago)
        
 (HTM) web link (tinlizzie.org)
 (TXT) w3m dump (tinlizzie.org)
        
       | floxy wrote:
       | Any updates on this program in the past 13 years?
        
         | mananaysiempre wrote:
         | The linked PDF (2012) is the grant final report.
         | 
         | > VPRI closed because [the] STEPS [grant] ended and because
         | Alan had to retire at some point. HARC and/or CDG Labs
         | continued the work, but then closed as well.
         | 
         | https://news.ycombinator.com/item?id=26608495 (2021)
        
         | morphle wrote:
         | Lots of later follow-up research has been published.
         | 
         | I am proposing to fund a secure parallel operating system, GUI,
         | applications and hardware from scratch in 20 KLOC for the
         | European Community to gain computational independence from the
         | US. I consider it the production version of the STEPS research.
         | 
         | We are in the signing up stage of the researchers, programmers
         | and chip designers and have regular meetings and presentations
         | [1].
         | 
         | Half a trillion Euro's is the wider funding pool, several
         | hundred million for European chips and operating systems.
         | 
         | An unsolved problem is how to program a webbrowser in less than
         | 20 KLOC.
         | 
         | I think that the STEPS research was a resounding succes as was
         | proven by the demonstration of the software system in Alan
         | Kay's talks[2] and confirmed by studying the source code. As
         | mentioned before in my earlier HN post, I have a working
         | version of Frank and most other parts of the STEPS research.
         | 
         | [1] https://www.youtube.com/watch?v=vbqKClBwFwI
         | 
         | [2] https://www.youtube.com/watch?v=ubaX1Smg6pY
        
           | kragen wrote:
           | That's pretty exciting!
        
             | morphle wrote:
             | It is exiting. The life's work of a dozen people.
             | 
             | Imagine proving the entire IT business field, Silicon
             | Valley and computer science wrong: you can write a complete
             | operating system and all the functionality of the mayor
             | apps (word processing, graphics, spreadsheets, social
             | media, WYSIWYG, browsers) and the hardware it runs on in
             | less than 20000 lines of (high level language) code. They
             | achieved it a few times before in 10000 lines and 300000
             | lines.
             | 
             | Not like Unix/Linux/Android/MacOS/iOS or Windows in
             | hundreds of millions of lines of code but in orders of
             | magnitude less.
        
       | sunrunner wrote:
       | I couldn't help but notice that the authors were credited "In
       | random order" and am now wondering a) Why not alphabetical? and
       | b) Did they just shuffle the order once or was it "Random until
       | we found an order that happened to match some other criteria we
       | had in mind"
        
         | mpreda wrote:
         | It's clear that alphabetical order is open to manipulation.
         | Down that path and everybody in the scientific career will be
         | named A.A.
        
           | lolinder wrote:
           | This is obviously an absurd overextrapolation, and it's
           | unlikely that a significant number of people would actually
           | change their name to exploit it, but the principle is
           | accurate: If alphabetical is used consistently then someone
           | with the last name Zelenskyy will consistently end up last in
           | every list of coauthors, while Adams will consistently come
           | near the top. Even if people intuitively understand that
           | alphabetical ordering is used because all coauthors are
           | equal, the citations will still be for _Adams et al._ , and
           | it's not hard to see how that would give an unfair non-merit-
           | based leg up to Adams over Zelenskyy.
           | 
           | If applied consistently, random order would be a fairly sound
           | way to ensure that over a whole career no one gets too large
           | a leg up from their surname alone.
        
             | CyberDildonics wrote:
             | _This is obviously an absurd overextrapolation, and it 's
             | unlikely that a significant number of people would actually
             | change their name to exploit it, but the principle is
             | accurate:_
             | 
             | That's called a joke.
        
               | lolinder wrote:
               | I wasn't criticizing OP's statement, just elaborating on
               | it. And it wasn't a joke so much as a rhetorical device.
        
         | layer8 wrote:
         | With PDF, you can in principle have a different random order
         | every time you open the PDF.
        
       | ltbarcly3 wrote:
       | This sort of program is always such a huge waste of time. The way
       | progress is made is not by carefully studying all the ways
       | something is currently done and then thinking "maybe we make it
       | graphical". This is the sort of thing that happens when there is
       | too much grant money available and no ideas, so they just put 20
       | mediocre grad students to work. That is just never going to
       | produce anything that is going to resemble in any way what
       | programming will actually look like when it is 'reinvented'.
       | 
       | Let me guess, they published a bunch of papers, did a bunch of
       | experiments like "lets do X but gui" "what if you didn't have to
       | learn syntax" and then nobody ever did anything with any of the
       | work because it was a total dead end.
       | 
       | Look at how progress has moved in the past. It wasn't from some
       | deliberate process. Generally technology improves in some way,
       | and a person with early access to that advance just immediately
       | applies it to some problem.
       | 
       | The instant computers got powerful enough, someone invented
       | assembly.
       | 
       | The instant computers got powerful enough, they invented lisp and
       | C. There wasn't even a gap of a year in most cases from some new
       | capability being available and someone applying it. There wasn't
       | some grand plan, it was just someone playing with a powerful new
       | capability and using it for something.
       | 
       | This happens across all of human activity. The Wright brothers
       | weren't special geniuses, they happened to be working on kites
       | when engines with just enough power/weight ratio became available
       | to keep a kite in the air on it's own power, and they slapped one
       | of those engines on a kite. If they hadn't done it someone else
       | would have done it a month later because once the technology was
       | available, the innovation was obvious.
       | 
       | You don't make leaps from paying grad students to play around
       | with "how can we make programming better", you get it from all of
       | a sudden an AI can just generate code.
        
         | pcfwik wrote:
         | > Let me guess, they published a bunch of papers, did a bunch
         | of experiments like "lets do X but gui" "what if you didn't
         | have to learn syntax" and then nobody ever did anything with
         | any of the work because it was a total dead end.
         | 
         | This response is very confusing to me, and it seems you have a
         | very different understanding of what STEPS did than I do.
         | 
         | In my understanding, the key idea of STEPS was that you can
         | make systems software orders of magnitude simpler by thinking
         | in terms of domain-specific languages, i.e., rather than write
         | a layout engine in C, first write a DSL for writing layout
         | engines and then write the engine in that DSL. See also, the
         | "200LoC TCP/IP stack"
         | https://news.ycombinator.com/item?id=846028
         | 
         | You seem to think they're advocating a Scratch-like block
         | programming environment, but I'm not sure that's accurate. Can
         | you point to where in their work you're finding this focus?
         | 
         | I too believe STEPS was basically a doomed project, but I don't
         | think it's for the reason you've said (moreso just the extreme
         | amount of backwards compatibility users expect from modern
         | systems).
         | 
         | (--- edit: ---)
         | 
         | > You don't make leaps from paying grad students to play around
         | with "how can we make programming better", you get it from all
         | of a sudden an AI can just generate code.
         | 
         | I think this is a more compelling point, but it doesn't seem to
         | explain things like the rise of Git as "a way to make
         | programming (source control) better," and it's not clear how to
         | determine when something counts as an "all of a sudden" sort of
         | technology. They would probably say their OMeta DSL-creation
         | language was this sort of "all of a sudden" technological
         | advance that lets you do things in orders of magnitude less
         | code than before.
        
           | ltbarcly3 wrote:
           | I guess I'm making a wider claim about the effectiveness of
           | funding 'directed innovation'.
           | 
           | Very often innovations can happen if you fund accomplishing
           | some previously unaccomplished task. Building a nuclear bomb,
           | sending a man to the moon, decoding the genome. The
           | innovations come about because you have smart people trying
           | to solve something nobody has ever tried to solve before, and
           | to do that they slightly revolutionize things.
           | 
           | I'm not aware of a single case where the goal was defined in
           | terms of innovation itself, as in "find a better way to
           | program" and anything useful or even slightly innovative
           | resulted. They are by definition doing something that lots of
           | people are trying to do all the time. It's just very unlikely
           | that you are creating conditions which are novel enough to
           | produce even a slightly new idea or approach.
           | 
           | Generally what you get is a survey of how things are
           | currently done, and some bad ideas about how you could tweak
           | the current state of affairs a little. But if there was a way
           | to just patch up what we already know how to do then it's
           | very likely someone already tried it, really it's likely 1000
           | people already tried it.
        
             | pcfwik wrote:
             | Sorry, added an edit to my above post before I saw this,
             | just to summarize:
             | 
             | I think that's a more reasonable complaint, but I fear it's
             | too vague to be applicable.
             | 
             | The STEPS folks would probably say that a modern computing
             | environment in ~20kloc is something that was previously
             | unaccomplished and thought to be unaccomplishable, but
             | you're writing that off/not counting it as such, presumably
             | because it failed.
             | 
             | On the other end of the spectrum, things like Git (to my
             | knowledge) did come out of the "find a better way to source
             | control" incremental improvement mindset. (Of course, you
             | can say the distributed model was "previously
             | unaccomplished," but the line here is blurry.)
        
               | ltbarcly3 wrote:
               | I don't think Git itself is a revolution or new
               | technology. It took what people were trying to do (but
               | with extremely frustrating bad user experience, like
               | taking an hour to change branches locally) and just did
               | it very well by focusing on what is important and
               | throwing away what isn't. It's an achievement of fitting
               | a solution to a problem .
               | 
               | I don't think they DID build a modern computing
               | environment at all. They built something that kindof aped
               | one, but unlike Git they missed the parts that made a
               | computing environment useful for users. It's more like
               | one of those demo-scene demos where you say "Wow how did
               | they get a commodore 64 to do that!?"
               | 
               | If they did build a modern computing environment with 20k
               | LOC, that is a trillion dollar technology. Imagine how
               | much faster Microsoft or Apple would be able to introduce
               | features and build new products if they could do the same
               | work with 2 orders of magnitude less code! That is strong
               | evidence that this wasn't actually the result.
        
               | pcfwik wrote:
               | > I don't think they DID build a modern computing
               | environment at all.
               | 
               | I agree that, now, after they've tried and failed, we can
               | say they didn't build a modern computing environment in
               | 20kloc.
               | 
               | My point is just that, when they were pitching the
               | project for funding, there was no real way to know that
               | this "trillion dollar technology" goal would fail whereas
               | nukes/moon mission/etc. would succeed. Hindsight is
               | 20/20, but at the beginning, I don't think any of these
               | projects defined themselves as "doing something that lots
               | of people are trying to do all the time;" instead they
               | would probably say "nobody else has tried for a 20kloc
               | modern computing system, we're going to be the first."
               | 
               | Given they all promised to try something revolutionary,
               | I'm not sure it's fair to claim after-the-fact how
               | obvious it is that one would fail to achieve that vs.
               | another.
               | 
               | But I do take your point that it's important in general
               | not to fall into the trap of "do X but tweak it to be a
               | bit better" and expect grand results from that recipe.
        
         | Exoristos wrote:
         | "The instant computers got powerful enough, someone invented
         | assembly.
         | 
         | "The instant computers got powerful enough, they invented lisp
         | and C. ...
         | 
         | "... The Wright brothers weren't special geniuses, they
         | happened to be working on ..."
         | 
         | Even by your own account, it sounds like industrious, visionary
         | researchers have been continuously making ready to exploit new
         | hardware.
        
         | gokr wrote:
         | Perhaps you are aware of who Alan Kay, Bret Victor, Ian etc
         | are, but... anyway, I just wanted to chip in with some context
         | for those who are not aware. Alan Kay led the creation and
         | development of Smalltalk at Xerox PARC, thus creating the first
         | real GUI introducing all the UX elements we today take for
         | granted (windows, buttons etc - yes, the same that Steve Jobs
         | got a demo of), establishing OOP (some would argue Simula was
         | first, but Smalltalk took it 10x further) and much, much more.
         | So his legacy in the world of computing is... legendary I would
         | argue, just google him.
         | 
         | Now, Ian has done truly brilliant VM JIT work in the Smalltalk
         | community and I suspect that Ian did a lot of the DSL related
         | stuff in STEPS, like the TCPIP stack etc.
         | 
         | So this is not just some "random folks" :) and.. some of the
         | most brilliant work comes when you are really not sure where
         | you are going. The original Smalltalk work that gave us OOP and
         | modern GUIs came from Alan's life long task of making computers
         | usable by children in order to amplify education. Most would
         | argue we are still struggling with that task ;) but at least we
         | got a lot of other things out of it!
        
       | dang wrote:
       | Related:
       | 
       |  _VPRI_ - https://news.ycombinator.com/item?id=27722969 - July
       | 2021 (1 comment)
       | 
       |  _Viewpoints Research Institute concluded its operations at the
       | beginning of 2018_ -
       | https://news.ycombinator.com/item?id=26926660 - April 2021 (36
       | comments)
       | 
       |  _Final "STEPS Toward the Reinvention of Programming" Paper
       | [pdf]_ - https://news.ycombinator.com/item?id=11686325 - May 2016
       | (64 comments)
       | 
       |  _A computer system in less than 20k LOC progress report_ -
       | https://news.ycombinator.com/item?id=1942204 - Nov 2010 (3
       | comments)
       | 
       |  _A compiler made only from PEG-based transformations for all
       | stages_ - https://news.ycombinator.com/item?id=1819779 - Oct 2010
       | (2 comments)
       | 
       |  _Steps Toward The Reinvention of Programming_ -
       | https://news.ycombinator.com/item?id=141492 - March 2008 (12
       | comments)
       | 
       | I feel certain that there were other HN threads related to this
       | project if anyone wants to dig around for some!
        
       | artemonster wrote:
       | I really wish someone would pick up ian piumarta's object system
        
         | gokr wrote:
         | You mean COLA etc? Yeah, pretty wild stuff. I admit I couldn't
         | fully grasp it at the time (and most likely not now either!)
         | 
         | https://www.piumarta.com/software/cola/
        
       ___________________________________________________________________
       (page generated 2025-03-10 23:00 UTC)