Skip navigation.
 
mlRe: @property problem
FROM : Bill Bumgarner
DATE : Sun Feb 17 21:09:53 2008

On Feb 17, 2008, at 10:52 AM, William Squires wrote:
> Okay, that explains it - weird... I wonder why ObjC did that?


When Objective-C was created, the targeted machines had relatively 
little memory -- 4MB or less, typically.

As such, every single byte that could be saved was valuable.  So, as 
a simple extension of C, Objective-C classes are really just a 
glorified C structure that is extended across subclasses and has a 
slot at the head that can point to the class of the structure.

Simple.  Elegant.  Compact.  Easy to implement.  And prone to the 
fragile base class problem.

While memory is still at a premium, eating a couple of pointers worth 
of memory to solve the fragile base class problem is now a worthwhile 
tradeoff.

It would have been nice if this change could have been made in the 
10.0 timeframe when there wasn't a binary compatibility issue 
preventing adoption in 32 bits.  But, at the time, there were other 
priorities that out weighed solving this particular problem.

b.bum

Related mailsAuthorDate
ml@property problem Randall Meadows Feb 11, 22:14
mlRe: @property problem Melissa J. Turner Feb 11, 22:27
mlRe: @property problem Kyle Sluder Feb 11, 22:28
mlRe: @property problem Joshua Emmons Feb 11, 22:29
mlRe: @property problem Shawn Erickson Feb 11, 22:33
mlRe: @property problem j o a r Feb 11, 22:35
mlRe: @property problem Brian Christensen Feb 11, 22:38
mlRe: @property problem Randall Meadows Feb 11, 22:56
mlRe: @property problem Jens Alfke Feb 11, 23:11
mlRe: @property problem Kyle Sluder Feb 11, 23:32
mlRe: @property problem j o a r Feb 11, 23:53
mlRe: @property problem Adam P Jenkins Feb 12, 00:33
mlRe: @property problem Bill Bumgarner Feb 12, 00:46
mlRe: @property problem Wade Tregaskis Feb 12, 00:46
mlRe: @property problem Kyle Sluder Feb 12, 01:08
mlRe: @property problem Nick Zitzmann Feb 12, 01:58
mlRe: @property problem Jens Alfke Feb 12, 04:44
mlRe: @property problem Andrew Farmer Feb 12, 06:25
mlRe: @property problem Sean McBride Feb 12, 16:58
mlRe: @property problem j o a r Feb 12, 19:48
mlRe: @property problem Jens Alfke Feb 12, 20:14
mlRe: @property problem Wade Tregaskis Feb 12, 20:35
mlRe: @property problem William Squires Feb 16, 23:35
mlRe: @property problem Jean-Daniel Dupas Feb 17, 01:03
mlRe: @property problem William Squires Feb 17, 17:59
mlRe: @property problem glenn andreas Feb 17, 18:11
mlRe: @property problem Bill Bumgarner Feb 17, 18:11
mlRe: @property problem Jim Correia Feb 17, 18:13
mlRe: @property problem William Squires Feb 17, 18:47
mlRe: @property problem mmalc crawford Feb 17, 18:57
mlRe: @property problem Bill Bumgarner Feb 17, 19:03
mlRe: @property problem Jim Correia Feb 17, 19:04
mlRe: @property problem William Squires Feb 17, 19:52
mlRe: @property problem Jean-Daniel Dupas Feb 17, 20:18
mlRe: @property problem Sherm Pendley Feb 17, 21:03
mlRe: @property problem Bill Bumgarner Feb 17, 21:09
mlRe: @property problem Bill Bumgarner Feb 17, 21:17
mlRe: @property problem Jens Alfke Feb 18, 00:06