4 ms·
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 th
by ltbarcly3 2y ago
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 2y ago> 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 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 2y agoI 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 2y agoSorry, 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 2y agoI 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.
- Exoristos 2y ago"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.
- ltbarcly3 2y agoNo, its just that these things are obvious. There were many many very similar innovations at the same time that were very similar, we just remember the one that won.
- gokr 2y agoPerhaps 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!
- deleted 2y ago[deleted]