| Swift is a crescendo of special cases stopping just short of the general; the result is complexity in the semantics, complexity in the behaviour (i.e. bugs), and complexity in use (i.e. workarounds). https://www.quora.com/Which-features-overcomplicate-Swift-Wh... That was 2015, when Swift was far simpler than today. Heck, they added almost all of Smalltalk syntax recently to address one special case of a special case. https://blog.metaobject.com/2020/06/the-curious-case-of-swif... And the method syntax that this is a special case of a special case of is many pages of spec. And of course there's initialization, which was 14 pages of the Swift spec at the time, with crazy overlaps and gotchas. Unsurprisingly and predictably (as in: I predicted it), it wasn't enough, or rather far too specific, so for SwiftUI they had to create an entirely new way of creating/initializing: function builders. https://blog.metaobject.com/2020/04/swift-initialization-swi... |