upvote
It’s not necessary to use all or even most of those features, though, and so a nice balance of expressiveness and functionality is possible. I’ll take it over dying on weird hills in language design in pursuit of ideological purity or mountains of ceremonial code and unavoidably ugly syntax.
reply
> mountains of ceremonial code and unavoidably ugly syntax.

you... just described Swift, really :)

Also, all those features exist even if you don't use them all. Which makes the language complex, cumbersome, and makes its compiler slow, complex and brittle. A language shouldn't be a collection of one-off edge cases, and this has nothing to do with ideological purity

reply
I dunno, with a handful of exceptions I'm still mostly writing Swift the same way I did 5+ years ago. Unless you're using SwiftUI, new features haven't changed a whole lot in real world use.

Whatever the case, I don't enjoy writing languages more obsessed with theory or design purity (like Kotlin) as much.

reply
I agree the language itself has gotten more complex, but for day-to-day productivity in terms of actually using it to write code, I don't think it makes a difference.

I've found writing Swift code very pleasant, but I've been doing it for ten years, so that helps I suppose. The biggest productivity impact for day-to-day use for me in the last few years has been the new concurrency model.

reply