What was the last breakthrough in computer programming? (2019)
It always feels like Alan Kay is wistfully talking about how there could have been an alternate future where he and his ilk would do programming and computer engineering the &quot;right way&quot; and somehow the world has lost it&#x27;s path. He waxes eloquent about how he enabled the genius&#x27;s at Xerox PARC to do deep work and how they changed the world.<p>I find his talks inspiring but I also find it tone deaf that he doesn&#x27;t understand the situation he was in nor does he see how the world has changed. Xerox PARC was, in my opinion, a by product of top down &quot;waterfall&quot; like business practices that he happened to be at the apex of. For most of the rest of us, we have to get by with minimal funding and try to push ideas to an over saturated market.<p>What really irks me is how he still has this view that somehow if all the worlds intellectuals just got together or just got funding, somehow they would come up with the next genius ideas and could deliver it to the rest of the world, like god&#x27;s messengers.<p>Here&#x27;s what he missed:<p>* Free and Open source. It&#x27;s not software that&#x27;s eating the world, it&#x27;s free and open source software that&#x27;s eating the world. Most of the worlds infrastructure runs on FOSS and we&#x27;d be living in a developer hellscape of choosing between which Apple and Microsoft crippling licensing fees we&#x27;d need to pay just to have the privilege of compiling our programs.<p>* Git. Git has allowed project management and software sharing with ease like nothing before. Even though GitHub is a proprietary enterprise, it&#x27;s created massive value to the community through it&#x27;s ease of sharing.<p>* Javascript. Write once run anywhere? Javascript is the only language that comes even close. Data representation that&#x27;s portable? JSON is the only one that comes close. Javascript has it&#x27;s warts but it brings the best of functional languages in a procedural languages skin. Javascript is the only reason I don&#x27;t dismiss functional languages off hand, because Javascript actually makes those concepts useful.<p>* Docker (and perhaps some WebAssembly&#x2F;Javascript environment). I think we&#x27;re closing in the idea that Linux boxes are the analogues of &quot;cells&quot;, where each has their own local environment and can be composed to form larger structures. Linux images may seem bloated now but when space and compute passes a threshold of cheap&#x2F;fast, it won&#x27;t matter.<p>* GPUs. Moores law is alive and well with GPUs. &quot;Out of the box&quot; gets you a 10x-100x speedup on algorithms ported from CPUs. I&#x27;ve heard of 1000x-10000x in some cases. It&#x27;s not just raw performance, it&#x27;s also designing data structures that work on GPUs, are more data centric and are designed for small, independent and highly parallel workloads.<p>And I&#x27;m sure there are many more. I would add cryptocurrency but maybe that falls outside of the &quot;programming&quot; scope.<p>For all his preaching, Alan Kay still doesn&#x27;t &quot;get it&quot;. If there&#x27;s a billion dollar monopoly that has a small, independent research group that has no ceiling to funding and has Alan Kay as it&#x27;s head, great, I&#x27;m sure they&#x27;ll come up with some wonderful ideas. We don&#x27;t live in that world anymore and the playing field has been leveled because of the points above and many more (maybe even more simply just because cheaper compute is available).<p>It never really occurs to Alan Kay that maybe his type of research is not the only way. Better yet, maybe Alan Kay&#x27;s style of research is gone <i>because</i> we&#x27;ve discovered better ways.<p>If Alan Kay really wants to see the worlds next ideas birthed into existence, why isn&#x27;t he at the forefront of free and open source, championing the software that enables people to his type of fundamental research? If you really want a trillion dollar ROI, invest a few million in FOSS.