4 ms·
Lambdu, Unison, etc. are all great in principle but share the same fatal flaw: no layering. It's just one monolithic component trying to take on type systems,
by kmicklas 9y ago
Lambdu, Unison, etc. are all great in principle but share the same fatal flaw: no layering.
It's just one monolithic component trying to take on type systems, effect systems, syntax, version control, compiling, editing, distributed execution, etc.
All of these problems taken decades just to get to the shitty everything-is-text/worse-is-better state we're in now. I'm skeptical that any single team can solve them all at once, even with the most radical vision and competence.
- zokier 9y agoI think these kinds of projects are mostly "conceptual" rather than something that will straight up take over the world, providing inspiration for people writing those things that will actually get used. I feel like it is extremely important that this kind of work gets done, and I think people should also be more eager to actually try out and really use all sorts of novel systems.
- teleclimber 9y agoA lot of these things are solved, or at least there is a tremendous amount of experience to draw from now. It's more a problem of packaging the different pieces together into a cohesive system.
- ModernMech 9y agoPart of the reason we're in the shitty everything-is-text/worse-is-better state we're in now is because we haven't invested a lot of effort in the top-down design of systems that work really well. This is in contrast to the current state of development, which was driven by Moore's law and the rapid improvement of single-core processors to consist mostly of imperative programming. As soon as we started hitting a wall in single-threaded CPU improvements and moving to multi-thread and multi-cores, the imperative programming model began to rapidly show its limitations. After all, Von Neumann meant for his architecture to be a prototype, and we went ahead and built an entire industry on top of it. Leaving everything in the development ecosystem up to market forces has left us in a state that is entirely too complex. There is far too much accidental complexity in developing even the simplest applications today. If we purposefully design smarter systems, maybe we can cut out layers out of the stack entirely, so worrying about things like distributed execution is a thing of the past for 99% of programmers.
- kmicklas 9y ago> we purposefully design smarter systems, maybe we can cut out layers out of the stack entirely, so worrying about things like distributed execution is a thing of the past for 99% of programmers. Actually I disagree. If your layers represent conceptual abstractions, and not arbitrary divisions of your code stack leaking details from below, then _more_ layers is actually a good thing.