[Reference counting] No garbage collection. Objective-C could still do more with respect to reference cycles, but that is primarily a non-issue, and easily solved in future versions.
I think if you solve this, you've implemented GC.
Which is not to say that you might not want some hybrid, but ref counting has its own downsides (caching, multi-threading) which the author does not mention.
[I]n a comparison with any popular scripting language, Objective-C will win, since while the scripting language may have superior syntax, it is also sure to be incapable of accomplishing many things which are trivially accomplished in Objective-C.
Such as?
The article is full of assertions which it doesn't attempt to justify, even with a link.
> I think if you solve this, you've implemented GC.
Not necessarily. There are lots of ways around this that don't involve garbage collection. There I was thinking specifically about static analysis suggesting Objective-C weak pointers in some cases. There are also runtime techniques (including assignment-time checking), memory profiler techniques, and the potential for simple new techniques that could make this discussion shorter. (This assumes you aren't classifying reference counting as a "garbage collection" method, which is sometimes done.) In any case, you are still in a better position than in a garbage collected language.
But that is a long discussion about garbage collection, and it is getting far afield from the subject, which is why the note doesn't go into it further. The main point is that how you handle reference cycles doesn't matter.
A good point. Coming from the iOS side I missed this. I mentioned Xcode's garbage collection in passing, but pointing out that garbage collection is deprecated on OS X would've made a strong argument that ARC is the better way to do things.
Agreed on your last point. I stopped reading halfway through because of all the (questionable) assumptions the author made.
I'm a massive fan of Obj-C and I think it could be a great tool for web development, but (other than potential advantages when interacting with Obj-C clients) I don't really see it as having any advantages over other platforms. Windows devs are never going to use Obj-C for their web development and I'm not really convinced OSX/Linux devs are not going to move away from Ruby/Python/PHP/Java, either.
> Windows devs are never going to use Obj-C for their web development
In the second half of the note there's a point about nearly 100% of web developers at major web companies using Macs. I'm not sure what percent of the web runs Windows (or was developed on Windows). The only major sites I know of that run Windows are the StackOverflow sites. Of course, that doesn't rule out Windows powering some reasonable percentage (including corporate backends), which I'm sure it does. It's just evidence that Windows isn't the pace setter.
> Ruby/Python/PHP/Java
PHP simply doesn't work for long-running processes. Java and Java-like languages tend to replace Ruby and Python for long-running processes on large sites, and that's the target here.
At one point Java was something Sun had to push to get people to use.
I think if you solve this, you've implemented GC.
Which is not to say that you might not want some hybrid, but ref counting has its own downsides (caching, multi-threading) which the author does not mention.
[I]n a comparison with any popular scripting language, Objective-C will win, since while the scripting language may have superior syntax, it is also sure to be incapable of accomplishing many things which are trivially accomplished in Objective-C.
Such as?
The article is full of assertions which it doesn't attempt to justify, even with a link.