What I Hate About Your Programming Language
Subject:   Objective C
Date:   2003-05-13 16:22:04
From:   anonymous2
Knowing C, Java, Scheme, Perl, and Objective C, I'd have to say that Objective C really is among my favorite languages, precisely because of its hybrid nature. Things I like:

* You can do strong typing, but you don't have to.
* You can extend the functionality of classes (with extra methods) without needing the original source of the methods (using Categories).
* Messaging nil has no ill side effects as long as you don't rely on the return value of your method.

The only major complaints I've ever heard are the lack of class variables (which you can work around by using static globals in your class implementation file), and the lack of private methods (which you can work around by not advertising your methods in your header file). A few people bitch about no automatic garbage-collecting, but I see this is a feature, not a bug.

Other than that, I think it's syntactically nice, promotes readable code by using infix notation for method calls, and is a true superset of C (unlike C++). Also, the small number of syntactic element s that are added makes it an even bigger plus, since it really only takes an afternoon to learn!

Full Threads Newest First

Showing messages 1 through 3 of 3.

  • Objective C
    2003-05-13 16:51:56  anonymous2 [View]

    The problem with Objective C is that there is no "Objective C". What you're describing is gcc Objective C (or possible Apple Objective C), which is only half of "Objective C".

    POC follows from Stepstone style Objective C and differs in a number of ways. First of all, automatic garbage collection (in the forms of automatic reference counting and Boehm) if you want. Secondly, honest to God actual closures (called blocks for some reason). Thirdly, rather simplified: no static typing of objects (can be annoying in spots), no protocols, etc. Fourthly, class variables (yay). And finally, the run-time is much much MUCH nicer than Foundation Kit IMHO.

    Apple Objective C and POC Objective C come from drastically different families. Their run-times and syntaxes follow different philosophies (Apple seems to be a C++/Java wannabe; POC is a Smalltalk wannabe to the highest degree). It's hard to consider them the same language sometimes.

    Anyway, no point to this message at all, except that I hate people equating Apple/GNU Objective C with "Objective C". There are other Objective Cs!
    • Objective C
      2003-05-13 19:20:16  anonymous2 [View]

      Well, since one is GNU, I think POC Obj-C should rename itself to SmallC or something. You aren't really going to get around the GNU-stamped name for mindshare.
    • Objective C
      2003-05-13 21:28:55  anonymous2 [View]

      So what you're saying is that Objective C is subjective? ;)