SwiftUI provides a completely new UI programming paradigm using the reactive model popularized by web frameworks, RxSwift, etc.
Using UIKit is just Apple current implementation strategy right now. That doesn’t comprise the SwiftUI model & semantics in any meaningful way. It doesn’t feel at all like a wrapper over UIKit IMO. It’s a completely new beast...
I agree with the OP. This has been called the Lisp Curse elsewhere. Over time, your codebase becomes so high-level, full of advanced, domain-centric abstractions that basically alienates everyone else from effectively working on the project.
If you have a small, stable team that such issue might be relatively easy to overcome. But with bigger teams, with higher turnover, than it might totally cancel out any technical advantage gained from using such non-mainstream programming languages.
For anyone wanting to dig deeper into this the recently released Bad Blood book is pretty awesome. The author, the WSJ jornalist above who early on raised serious doubts about Theranos, reconstructs the startup history in a thriller-ish style, but fully based on actual facts/research. Highly recommended.
In no way the author — a vey respected engineer in the Apple community BTW — pretended to provide an exhaustive overview of the multi-core heterogeneous computing world (or assert that Apple invented all this tech on its own).
I honestly think that he just wanted to provide a very brief comparison between A10 and the latest A11, and then go on with his article core subject ;)
A nice write up generally. I just feel he should also mention the classic static vs dynamic typing thing. From my perspective, teams switching to Go — from dynamic typed language such as Python — really appreciate the additional compiler help it provides ;)
Using UIKit is just Apple current implementation strategy right now. That doesn’t comprise the SwiftUI model & semantics in any meaningful way. It doesn’t feel at all like a wrapper over UIKit IMO. It’s a completely new beast...