3 ms·
Shall we definitively say that a problem of all languages is that they evolve to the maximum complexity that a single brain can understand, then they collapse b
by eastbound 4y ago
Shall we definitively say that a problem of all languages is that they evolve to the maximum complexity that a single brain can understand, then they collapse because nobody understands them?
All languages start with “Lightweight, lightening fast and hotreloadable!”, then become a gas plant as they need abstractions to handle industry concerns (hello Reflection API, javaagents, NIO, functional programming, now the Cloud, then AI),
Are there intrinsic properties a language can have that prevents bloating to the maximum complexity a human can handle, and yet allows it to handle industry usecases?
- kaba0 4y agoJava is absolutely not victim of language-complexification by adding the n+1th fancy feature of the day, if anything it is one of the few exceptions — it is a quite old language and yet modern Java has very little differences to what it was back than — all the spring magic happens through its standard way of operation, everything is a class with methods, and these primitives are assembled in novel ways, that’s it, and that’s how it supposed to be. No async, coroutines (it gets solved on the JVM-level and exposed through method calls), no separate syntax for stream operations (those are just method calls with “builder pattern), etc. I greatly recommend Guy Steele’s Growing a Language talk about this exact topic.
- somewhereoutth 4y agoIndeed! The 'Complexity Horizon'. Any constructed system will tend to that horizon as it continues to be developed (particularly if by multiple people over significant timescales) - unless there is a concerted effort to pull it back.
- eastbound 4y agoI love the ‘complexity horizon’ of algorithms: If something can be made simple, then we’ll build more complex things until we can’t understand it. All algorithm are always right above the maximum complexity that a single human can handle. Actually I believe it’s another surprising emergent effect of open-source: Linux’s or Postgres’ complexity horizon seem to have been managed, so that adding new stuff didn’t increase complexity, and it’s still possible to add new stuff THIRTY years later. As opposed to Excel.