Software Disenchantment (2018)
When I was in school and first leaning about programming I assumed that code written in C or Java would eventually be ported to hand tuned assembler once enough people were using it. Then I got in to the industry and realized that we just keep adding layer after layer until we end up at the point this article talks about.<p>I remember once reading that IBM was going to implement an XML parser in assembler and people were like &quot;Why? If speed is needed then you shouldn&#x27;t use XML anyway.&quot; I thought that concern was invalid because these days XML ( or JSON ) is really non-negotiable in many scenarios.<p>One idea that I&#x27;ve been thinking about lately is some kind of neural network enabled compiler and&#x2F;or optimizer. I have heard that in the javascript world they have something called the &quot;tree shaking&quot; algorithm where they run the test suite, remove dependencies that don&#x27;t seem to be necessary and repeat until they are getting test failures. 
 I&#x27;m thinking why not train a LSTM to take in http requests and generate the http response? Of course sometime the request would lead to some sql, which you could then execute and feed the results back into the LSTM until it output a http response. Then try using a smaller network until something like your registration flow, or a simple content management system was just a bunch of floating point numbers in some matrices saved off to disk.