We Need Legos for Code
breadchris.com
breadchris.com
source: My robotics professor developed Robolab and we got tons of cool shit from LEGO
https://blog.metaobject.com/2019/03/software-ics-binary-comp...
For my son, it seems like each kit is mostly custom shapes, or at least shapes so specific that I spend more time looking for the "right piece" than just building something close enough out of a much more limited set of things.
Low/no code feels the same way. I can do a lot of things with them, but it's never exactly what I want. Perhaps the real issue is with what I want, but I suspect that I'm not alone.
With that out of the way, it is worth contemplating the different expressiveness of a 3D discrete medium (Lego), vs a 1D discrete medium (code, prose). Counterintuitively, it is actually the 1D medium that is more expressive (i.e. can express a wider range of ideas, in more varied ways). It's as if the extra dimensions become a straight jacket of sorts.
Perhaps we can paraphrase this as 'the unreasonable effectiveness of symbols'. Formal mathematics is just symbols, and yet it completely describes our natural world as far as we know it, and a lot more besides.
(Actually the key thing is we don't have a reduction engine for Lego, so no means to make it 'come alive')
But, outside of maybe mechanical prototypes.. Are anything being made and shipped, that's not a toy, that uses Lego ? Who's using Lego in production?
If not, why expect the metaphor to hold up for code, when it does not even hold up for Lego itself ?
https://www.youtube.com/watch?v=n-RtJOfFlZU
Reminds me of OOP.
PL and libraries influence some standardization, but software is wildly bespoke today.
Low-code tools and Large language models writing code for us might further influence standardized inter-changeable "parts". The more standardized software is, the easier it would be for ML models to write it for us.
That's essentially what programming already is though. Especially things like functional programming.