Theocacao
Leopard
Design Element
Comment on "The Year in Mac Development"
by Matt Tavares — Jan 03
@Matt: You mention twice that you'd like to have lexical-scopes or blocks to ObjC 3.0. What does this mean in practice? I'm sorry but I don't speak Ruby well enough to understand. :)

Blocks are bassically functions that are not prototyped but rather declared right in your statement. Example from ruby code:
fruits.each { |fruit| print fruit + "\n" }

Code in between the {} is actually its own temporary function. Having blocks in Objc will obsolete using ugly selectors when having to do any call that requires an already defined method (sorting arrays, managing NSAlerts, the list goes on).

Lexical Scopes are more of a rule than an language addition. Lexical Scopes allow you to declare temporary variables within blocks that will be destroyed when the block ends, like an NSAutoreleasePool that unsets objects. To demonstrate this, if you try to access the "fruit" variable after the block, you'll get an error becuase it was declared inside a different scope.

@Scott: The thing that puzzles me about this is that the people that were supposedly shortchanged weren't the ones that were actually upset

Well, people where angry at MacHeist for alot of reasons other than its profit distribution. The fact that they branded it the "Week of Indipendant Developers" (or something similar) kind of ticks me off, since grosly marking down prices benifits everyone except developers. But I agree that the whole event has far to much controversy for something that ultimately did alot of good.
Back to "The Year in Mac Development"
Design Element

Copyright © Scott Stevenson 2004-2015