3 ms·
No more so than Smalltalk. Verbosity doesn't mean long method names. In this case it means header files, primitive types vs objects, poor collection support, a
by orangecat 17y ago
No more so than Smalltalk.
Verbosity doesn't mean long method names. In this case it means header files, primitive types vs objects, poor collection support, and manual memory management. Smalltalk does a better job in all of those areas.
- catch23 17y agoSmalltalk has equally long method names in many places... see some of the morphic libraries... ObjC is basically naming type parameters. I don't think their (ObjC) collection support is too bad either. Also, the manual memory management only exists on the iPhone, if you use ObjC on the desktop, it comes with a garbage collector.
- cdonnellytx 17y agoWhich is what makes it even worse: it's not that they can't do it on the iPhone, it's that they won't. And why not? It can't be a question of RAM: Java has had GC back when the average home computer had half the memory available in the first gen iPhone. Nor can it be efficiency: most GCs these days are efficient enough for the average program, and a developer can always disable it if she prefers manual memory allocation. My point is that it just ends up being yet another example of Apple making arbitrary restrictions that do little for performance or user experience, while causing a lot of pain for developers.
- Zev 17y agoThe Newton had a garbage collector with NewtonScript. And the Newton only had something like 640kB of RAM. Although, I don't think the decision to leave it out was arbitrary or solely to piss off developers. Apple likely wants to have as little code duplication as possible, so they're not going to add it in until the iPhone/iPad has enough ram free so that game developers don't have to worry about when the GC will run. My guess (and lots of emphasis on guess) is that this will happen when support for the iPhone 3G is dropped.