2 ms·
Most languages have an idiomatic way of writing them, Java certainly does, Python, ruby, etc. C++ doesn’t simply because it’s a giant mess of hodge podge. Simpl
by fnordpiglet 3y ago
Most languages have an idiomatic way of writing them, Java certainly does, Python, ruby, etc. C++ doesn’t simply because it’s a giant mess of hodge podge. Simply being able to compile something doesn’t mean you’re using the language idiomatically, and when you innovate your style off the idiomatic path sooner or later you’ll end up in a world of hurt with everyone you turn to for help telling you you did it wrong. You’ll have trouble finding collaborators, retaining talent, etc. Eventually you’ll rewrite as an idiomatic version. The fact languages have gotten tighter over time with their idiomatic style being verified up front is, IMO, a feature not a flaw. over the 40 or so years I’ve been programming I’ve come to appreciate more and more being able to learn the idiomatic way toll free when learning the language. I think rusts limitations are more to do with immaturity than opinionation - for instance lack of async closures, async traits, compile time reflection, generators, etc, are all point in time flaws that with time will make the language much easier to make expressive and flexible implantations.
Yeah I get they’re not interested in learning Rust - but again that’s not rusts fault or a flaw, or in any way supportive of less opinionated languages. It’s a rookie mistake. When you’ve only learned one or two languages learning a new one is a chore and disheartening and it’s always someone else’s fault you feel like a loser. As you mature as an engineer first it gets easier and more rewarding to learn new ways of doing things, but you also realize that feeling of being a loser is just the brain resisting and the feeling of learning.
- pclmulqdq 3y agoOften in a professional context, a non-idiomatic layer written with a lot of discipline is an effective shim between nice clean code and something "dirty." Precluding people from writing that shim just makes things harder. Sure, allowing people to do whatever they want means that code written without discipline will just be a jumbled mess, but that will be true in idiomatic code too. Also, a mature language and the associated community has to be able to deal with non-hobbyists learning and using it.
- deleted 3y ago[deleted]