8 ms·
Is anyone working on these problems, or did people just give up? It's crazy to think that the way we create and consume software barely changed since the 60s/7
by miguelrochefort 9y ago
Is anyone working on these problems, or did people just give up?
It's crazy to think that the way we create and consume software barely changed since the 60s/70s.
- pishpash 9y agoCommercialization and commoditization: "Why make things better when people don't care?"
- continuational 9y agoOh, people do care. Programmers are expensive, and making them more productive means more money for the bottom line. It’s just that we don’t know how. Even designing a good text based language is very challenging, and in no way a solved problem. Something graphical and interactive has a much larger design surface, and is thus even harder to get right, especially for general purpose programming.
- quantumhobbit 9y agoI don’t know that the people making the decisions care all that much. Even though programmers are expensive, most managers seem to prefer to hire a dozen programmers where far fewer would get the job done if given access to better tools. They look better leading a bigger team regardless of the teams output. The incentive exists for the shareholders, but they are not the ones making hiring decisions and choosing tools for programmers to use.
- brudgers 9y agoWe consume software very differently, because the we includes people like us...by which I mean that statistically to many decimal places nobody had access to software in the 1960's and in the 1970's the people who had access to software were all out in the long tail of standard deviations of a Bell Curve. In terms of creating software, in the 1960's most was being written in Assembly and if it was written in a higher level language that language almost certainly contained a large proportion of vendor specific instructions or was entirely proprietary or machine specific. That didn't change much in the 1970's and it was only at the end of the 1980's that language standards could practically mean portable code across vendors and platforms.
- pjmlp 9y agoSome of it even got worse. Outside AT&T walls, strong type systems programming did actually exist. And here are we now still looking towards to somehow fix it, and it will take several generations.
- kareemamin 9y agoYeah it's definitely crazy! A few people are working on this from different angles. There is research https://harc.ycr.org/project/realtalk/ https://harc.ycr.org/project/realtalk/, side projects that explore Jupyter notebook like programming environments: https://www.maria.cloud/intro https://www.maria.cloud/intro, or https://www.runkit.com; https://www.runkit.com; my team and I are working on https://www.clay.run https://www.clay.run: making it easier to prototype by allowing developers to write code that is instantly running without setup or configuration and 'fork' other people's code to have your own running copy.
- shalabhc 9y agoMaria, clay and runkit look interesting - I like the quick iterations and incremental programming they allow. But you're still writing 'text' to manipulate 'data'. An example of something fundamentally different would be if you can make programs without text. I intentionally said make not write to avoid framing the discussion. For instance why write `(circle 10)` when you can instead just draw a circle and then perhaps define processes to manipulate it? I don't mean code generation - why even have text as the canonical form that describes computation processes?
- kareemamin 9y agoyes absolutely! I think things along the idea of programming by example like Flash Fill https://www.microsoft.com/en-us/research/video/flash-fill-flashextract/ https://www.microsoft.com/en-us/research/video/flash-fill-fl... or direct manipulation of graphics or other objects would be very interesting. I think in order to move away from text it would be important to find use-cases where other forms of describing computational processes would give the person an order of magnitude more leverage over doing the same thing in text. The idea of programming by example would make it so that testing skills are more valuable than breaking down a process into logical steps.
- muxator 9y agoMaybe I am old school, but the fact that text is easily version able and comparable means a lot to me. I use to code with two side-by-side windows, comparing the old and the new version of my program. It's a sort of fluid evolution where I can always be in control. It would be a hard time doing that via visual programming.
- david927 9y agoYou're right, it is crazy. A few people, here and there, are trying -- but precious few. There's a regular meetup group in San Francisco: https://www.meetup.com/Future-of-Programming https://www.meetup.com/Future-of-Programming
- andosteinmetz 9y agoMax/MSP has implemented some of the visual programming ideas he refers to in the talk https://cycling74.com/products/max https://cycling74.com/products/max It is domain-specific and their current promotional material makes it look like an expanded DAW a la Ableton Live, but you can develop all kinds of software in Max, not that you necessarily should.
- tluyben2 9y agoCheck here; https://2017.splashcon.org/track/live-2017#Call-for-Papers https://2017.splashcon.org/track/live-2017#Call-for-Papers Jonathan Edwards submitted something I like and HARC (checking out Sean his submission now), MS Research are doing cool things. I wanted to go there. Next time perhaps; interesting work anyway.