Riccardo Mottola wrote: > Hi, > > On 03/03/13 13:17, Richard Frith-Macdonald wrote: >> My take on the relative merits is: >> >> The advantages of gcc are that it's the de-facto standard (you generally >> don't have to install it, let alone build it yourself), is much more >> portable/ported (reliable on many more platforms), and has most of the good >> things that Apple has added to objc, and less of the the bloat such as >> 'blocks'. > +1 ! If yo udon't use something, why do you need support for it?
Gosh, what a gross misconception! Not blocks (aka closures aka lambdas) are bloat but the workarounds that had to be introduced in their absence. A typical example are all those callbacks for the AppKit methods presenting non-modal dialogs. Blocks are the natural concept for those callbacks. Passing around a selector and void * context argument instead of them is a poor workaround (and introduces code bloat as you have to create those context parameters, extract the components later, and must not forget to properly retain and release all your arguments, and I won't mention the loss of type safety by using a void * parameter together with type casts). It is really a pity that it took Apple so long to bring this essential Smalltalk concept over to Objective-C (and the only excuse is that it requires some form of automatic memory management -- be it full garbage collection or automatic reference counting -- to be manageable). Saying blocks are bloat sounds to me like saying automatic reference counting is bloat because you can do the same with explicit retain/release calls. Wolfgang _______________________________________________ Discuss-gnustep mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnustep
