6 ms·
> Reputation for overcomplexity, loss of users. Becoming the next C++ or Haskell. I think Rust is already there. It's a concern, but I'm not sure you can or s
by cryptonector 8y ago
> Reputation for overcomplexity, loss of users. Becoming the next C++ or Haskell.
I think Rust is already there. It's a concern, but I'm not sure you can or should try too hard to avoid this.
What you can do is look to make simplifications as you add complexity.
And sometimes innovations can have simplifying effects. For example, the various "effects" libraries for Haskell simplify I/O code compared to not having them.
- gpderetta 8y agoThere are only two types of languages, those that are too complex and those that aren't yet.
- tzjmetron 8y agoNonsense. Take the favourite punching bag of many ubercool hipsters - Java. The language is dead simple, and extremely successful.
- augustk 8y agoThere is at least one language that evolves in the opposite direction. The philosophy of Oberon is that "Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away."
- pjmlp 8y agoAnd sadly lost its opportunity to Java in the late 90's. So whatever Wirth has done was quite of interesting in terms of language research for the language geeks among us, but hardly with any market relevance.
- cryptonector 8y agoSo we should be using Forth then, got it :)
- wasted_intel 8y agoRust 2018's non-lexical lifetimes are a good example of this.
- jules 8y agoIt's quite difficult to simplify an existing language, even when adding a feature could theoretically simplify a language. For instance, higher kinded types are simple in principle: it's just removing an arbitrary restriction about what you're allowed to pass to a type constructor. However, when adding them to an existing language it doesn't always work that way. In the limit of removing type system restrictions you end up with dependent types, which are very simple in terms of the number of type system rules that they require, but try adding them to Java and you'll get a monstrously complicated beast.
- cryptonector 8y agoYou're not wrong. Rust is a very fluid language though, and now is the time to get these things right for Rust. Java feels like a lost cause.