4 ms·
Every time I read about new Swift features, I'm reminded of this paragraph from Aaron Hillegass's book "Cocoa Programming for Mac OS X". I don't know why.
by sai_c 6y ago
Every time I read about new Swift features, I'm reminded of this paragraph from Aaron Hillegass's book "Cocoa Programming for Mac OS X". I don't know why.
Once upon a time, there was a company called Taligent, which was created by IBM and Apple to develop a set of
tools and libraries like Cocoa. About the time Taligent reached the peak of its mindshare, I met one of its
engineers at a trade show. I asked him to create a simple application for me: A window would appear with a
button, and when the button was clicked, the words "Hello, World!" would appear in a text field. The engineer
created a project and started subclassing madly: subclassing the window and the button and the event handler.
Then he started generating code: dozens of lines to get the button and the text field onto the window. After 45
minutes, I had to leave. The app still did not work. That day, I knew that the company was doomed. A couple of years
later,Taligent quietly closed its doors forever.
- pindab0ter 6y agoIt’s a funny excerpt, but I don’t see how it’s relevant to this. It seems to me that the whole point of introducing actors is to reduce complexity.
- sai_c 6y agoAs I said, I really can't put my finger on it, but maybe it is this (tongue in cheek). Taligent: The whole point of adding all those abstractions is to reduce complexity.
- mpweiher 6y agoOne of the funny things about our industry is that when our smartest really give their best to do The Right Thing™, we get Taligent and Swift. And when people do everything "wrong", we get amazing things like Smalltalk and Cocoa. Hmm...
- djxfade 6y agoWhat's wrong with Swift? It's a massively popular language
- midgetjones 6y agoThe main moral of this story is that people like to claim hindsight for some sort of psychic power.
- BakaRakuda 6y agoYou can literally create the app described in his quote in about 2 minutes flat with the following lines of code... import SwiftUI @main struct FooApp: App { @State private var isClicked: Bool = false var body: some Scene { WindowGroup { VStack { Button("Click me!") { isClicked.toggle() } if isClicked { Text("Hello, World!") } }.frame(width: 640, height: 480) } } }
- skohan 6y agoEven in the objc-cocoa days, you could create a .xib, drag a few connections, and have this working with 10 lines of code (8 of which generated automatically by XCode)
- alfonsodev 6y agoRemember Swift is also used in the backend and other areas that are not UI, not every new feature in Swift will be oriented to make UI apps easier, for that you have Swift UI the framework. We don't get this type public proposals for Swift UI, I wish Swift UI would be open source, because the documentation hasn't been great in my experience and at least this type of proposals get publicly documented and discussed before being implemented.
- bigbizisverywyz 6y agoFunnily enough I just recalled this quote recently when casually looking over this page about WinUI3 : https://docs.microsoft.com/en-us/windows/apps/winui/winui3/xaml-templated-controls-cppwinrt-winui-3 https://docs.microsoft.com/en-us/windows/apps/winui/winui3/x... The whole XAML/WPF thing just seem to me a bit of a dig's dinner.