4 ms·
You haven't actually explained why you think static typing is such a problem... `Id` is still there. Use it when you want. But if I want to call "setText:" on a
by AlexanderDhoore 13y ago
You haven't actually explained why you think static typing is such a problem... `Id` is still there. Use it when you want. But if I want to call "setText:" on a UILabel and documentation says it needs an NSString... That's pretty handy.
- mpweiher 13y agoThe reason I haven't explained why static typing is such a problem is because I don't think it is, for example I agree with what you write. The problem is the stricter enforcement, which I explain near the end "A dynamic language": explorative programming, where you are still figuring out what exactly to do, has become much more onerous, widening the gap between Objective-C and other dynamic languages such as Ruby or Python. Previously, the compiler would warn you that you hadn't gotten the types yet, but as long as you were in the id subset (an extended subset, actually) that didn't matter and you could continue exploring until you got it right...and THEN write down all the types in order to have the positive effects of machine-checkable documentation. With the changes, this is no longer possible, so you have to alway juggle (a) the site of the client (b) the implementation of the method and (c) the header with the method. That gets old fast.