4 ms·
> I think Apple’s always cared about ease of development over the possibility of bare metal optimization I would disagree. Apple avoided managed runtimes this
by valty 3y ago
> I think Apple’s always cared about ease of development over the possibility of bare metal optimization
I would disagree.
Apple avoided managed runtimes this whole time and made people think about memory safety a lot compared with Java/C#. Programming was not as easy as it could have been.
It has also always been trivial to fallback to C/C++, and the interop story with ObjC code is a lot cleaner.
I think the driver for this was because they highly valued a buttery smooth UI, and this requires a lot of bare metal optimization.
- pjmlp 3y agoObjective-C has a runtime, with automatic resource management, dynamic code loading, metaclasses...
- valty 3y agoBy _managed_ runtime I meant virtual machine. The ObjC runtime is just a library that is linked in. It's much easier to drop down to the metal when you need to. > automatic resource management ARC is not runtime-based.
- pjmlp 3y agoA managed runtime is a managed runtime. ARC is definitely runtime based, go read the easily available machine code doing retain / release message calls, when the compiler isn't able to ellide them. You also forgot the remaining capabilities of Objective-C runtime regarding plugins, and metaclasses.