Hacker News new | ask | show | jobs
by astrange 1364 days ago
Objective-C still had the "fragile base class" problem because its classes' ivar offsets were known across library boundaries, so they couldn't be changed, but C++ had (and still has) this for code with vtables as well. It was finally fixed with the x86-64 ABI.
1 comments

Taligent had their own compiler and used something similar to what the ObjC 2 ABI uses for ivars for all member variables and functions to eliminate the fragile base class problem. “Using C++” may have been part of their problem, but not for the same reasons as it was for BeOS.