The Great Software Stagnation is real, but we have to understand it to fight it. The CAUSE of the TGSS is not "teh interwebs". The cause is the "direct manipulation" paradigm : the "worst idea in computer science" \1

Progress in CS comes from discovering ever more abstract and expressive languages to tell the computer to do something. But replacing "tell the computer to do something in language" with "do it yourself using these gestures" halts that progress. \2
Stagnation started in the 1970s after the first GUIs were invented. Every genre of software that gives users a "friendly" GUI interface, effectively freezes progress at that level of abstraction / expressivity. Because we can never abandon old direct manipulation metaphors \3
The 1990s were simply the point when most people in the world finally got access to a personal computer with a GUI. So that's where we see most of the ideas frozen. \4
It's no surprise that the improvements @jonathoda cites, that are still taking place are improvements in textual representation : \5
The main innovation in Rails is textual (you rethink the Ruby code that describes an ActiveRecord class as a schema definition for the whole system) \6
DevOps tools take configurations that were done through filling in web-forms or obscure config files and puts them back under control of scripts in a real programming language. \7
React is a new higher level set of linguistic constructs to describe a reactive UI ... etc. \8
In other words, progress in CS is still possible, but has slowed down in all the places where people have stopped programming in languages where new ideas can be created through grammatical composition and abstraction \9
And where we try to get by with a fixed repertoire of gestures to manipulate data directly. \10
If you want to fight stagnation, you have to fight the cult of direct manipulation, and fight the expectation that computers should be so easy that users don't need to think or learn new concepts to be able to do things with them. \end
@threadreaderapp unroll

More from Software

As the year wrap's up, let's run through some of the worst public security mistakes and delays in fixes by AWS in 2020. A thread.

First, that time when an AWS employee posted confidential AWS customer information including including AWS access keys for those customer accounts to


Discovery by @SpenGietz that you can disable CloudTrail without triggering GuardDuty by using cloudtrail:PutEventSelectors to filter all events.


Amazon launched their bug bounty, but specifically excluded AWS, which has no bug bounty.


Repeated, over and over again examples of AWS having no change control over their Managed IAM policies, including the mistaken release of CheesepuffsServiceRolePolicy, AWSServiceRoleForThorInternalDevPolicy, AWSCodeArtifactReadOnlyAccess.json, AmazonCirrusGammaRoleForInstaller.

You May Also Like