3 ms·
> Those who don't understand Objective-C are doomed to reinvent it. Badly. I feel Chris Lattner can make a reasonable claim as to understanding Objective-C.
by mcphage 4y ago
> Those who don't understand Objective-C are doomed to reinvent it. Badly.
I feel Chris Lattner can make a reasonable claim as to understanding Objective-C.
- mpweiher 4y agoYou would think so, yes, and given the circumstantial evidence, your feeling is a perfectly excusable mistake to make. Disclaimer: I worked with Chris at Apple and have the utmost respect for him both as a person and for his abilities as both an engineer and manager. And he wasn't the Apple engineering manager in charge of Objective-C who started a discussion we were going to have with the words: "Objective-C is a statically typesafe language and this is unarguable". Now one half of that sentence is true. The other is laughably wrong. I have a hard time thinking of a language that is less statically typesafe than Objective-C. We didn't have the discussion, because continuing the conversation after that tiny bombshell is pretty pointless. A lot of people at Apple did not understand Objective-C, many thought of Objective-C as at best a maladjusted Java. And it is. That is, if you make the wrong assumption that it is trying to be some sort of Java in the first place, or you misuse it that way. But it's not. It's a 1984 solution to the two-language problem. The component language being C and the composition language being Smalltalk. Jam them into one language and you've solved most of the boundary problems. Now you've obviously also created a bunch of problems, but you solved that one. When Swift came out, everything about it reeked of "we don't understand Objective-C", including the ridiculously wrong tag-line "Objective-C without the C". It's a better C++ that basically ignores the Smalltalk part in the hope that the larger-scale composition problems that the composition language tries to solve will just go away. And of course Smalltalk also wasn't really a good enough composition language either, because it's still essentially procedural. We need more flexibility in our composition languages [1]. And the composition language being so close to the component language probably led people to make those mistakes of treating them as a a maladjusted unitary language, using the composition part for component programming etc. Anyway, coming back to the understanding part: I've followed the Swift creators wherever they've talked or written about the language, the design rationales etc. And over time, what was only a sneaking suspicion became a grim certainty: they did not understand Objective-C, and did not even believe that understanding it was necessary. This did come as a bit of a shock to me, because despite that sneaking suspicion, it just didn't seem possible. [1] https://news.ycombinator.com/item?id=35318258 https://news.ycombinator.com/item?id=35318258 (linking to HN discussion, my domain is currently in transition)
- ardit33 4y agoAgreed. Swift has been such a disappointment in every department. If you took Objective-C, modernized the syntax (removing the old bracket syntax that scares new people away from it), and added some more functionality where it is missing (eg. strings), you'd end up with a much much better language than the kludge that Swift is.
- andrekandre 4y ago> mistakes of treating them as a a maladjusted unitary language, using the composition part for component programming etc. i have a similar feeling but its hard for me to put my finger on a concrete example... any good ones?