4 ms·
Objective-C: @property requires duplication of the ivar type, and doesn't imply @synthesize. (To do either of these would stop it being a simple macro, but that
by pc 18y ago
Objective-C: @property requires duplication of the ivar type, and doesn't imply @synthesize. (To do either of these would stop it being a simple macro, but that elegance comes at the expense of a frustrating amount of unnecessary typing.)
Common Lisp: built-in functions aren't generic. Tedious verbosity of defclass. No literal syntax for hash tables. Debuggers so much worse than they should be.
Smalltalk: having to manually implement getters/setters. Awkwardness of code generation.
Ruby: gems not having a single canonical name (what you require != what you install).
- jemmons 18y agoObjC: You don't have to declare ivars for your @properties if you target 64bit. The 64bit runtime Does Magic. Also, @property cannot imply @synthesize because you might want to use @dynamic instead.
- gruseom 18y agoI missed this thread, but I'll add another Common Lisp annoyance: the way DESTRUCTURING-BIND is inconsistent with destructuring lists in LOOP. Specifically, I want to bind to NIL for variables I don't care about (rather than having to explicitly ignore them) and bind to heads of lists rather than always the whole thing. I've been meaning to check out the open-source BIND macro and see if it does any better.