[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)