Jonathan Blow, creator of The Witness and Braid, has a great presentation on the challenges facing the software development, in particular highlighting the problem of knowledge not being transferred down to the next generation.
The problem of knowledge transferring to the next generation is central to the issues with macOS today. Apple appears intent on replacing the underlying technologies that make up macOS by shifting to a new stack that’s more palatable to contemporary developers. Swift is a safer programming language with the characteristics of a scripting language, SwiftUI is a declarative DSL to describe UI, much like HTML, and Combine is a reactive programming framework for managing data flow.
The problem with these technologies, for an operating systems company, is that all the major operating systems—macOS, Windows, and Linux—are written in languages that extend C (e.g., Objective-C, C++, and C#). That doesn’t mean you can’t write a good operating system using these new technologies, but it does mean that that hasn’t been proven yet. It seems dangerous for a operating systems company to take a hard turn away from C towards technologies unproven for operating systems.