The names make perfect sense within the context of the language. Just because you add a new feature to a language doesn't mean you should arbitrarily adopt the naming conventions of its implementation in another language.
It's nice they retrofit blocks into the lib though, I didn't think they were going to add them beyond GCD.
The names are silly, and Apple isn't leveraging blocks nearly as much as they could be. The very first thing I did is add an option monad, plus additional collection methods (including the nice and short map and filter) via categories.
My only complaint is that The [[]] messaging syntax gets way too verbose when chaining together sequence comprehensions.
Re:API changes in Snow Leopard
by albertcardona on Saturday August 29, 2009 @05:49AM
(#793021)
I call it "ctrl+space semantically-aware word completion" and "self-documenting function names."
Nothing unusual in multi-year multi-programmer software.
As much as I like succinct function names, in my experience they don't work when there's more than one hacker involved. A strategy I have followed is to make long names for the top-level, interface-like functions, and succinct ones for all the internals; i.e. put the verbosity where others need to look up code to use it as a library, where "library" is understood as an individual/indepenent component of a larger software project.
- #enumerateObjectsUsingBlock: is #do:
- #objectsPassingTest: or #indexesOfObjectsPassingTest: are #select:
And so on. Here's what I'm looking at:
http://developer.apple.com/mac/library/documentation/Cocoa/R...