• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Cocoa Rules - ObjC "evalgelism"
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Cocoa Rules - ObjC "evalgelism"


  • Subject: Re: Cocoa Rules - ObjC "evalgelism"
  • From: Jim Witte <email@hidden>
  • Date: Sat, 29 May 2004 03:25:48 -0500

I'm more productive in Objective-C than in C, C++, Java or C#. My code is easier to maintain, and more elegant. ObjC is definitely a great language, and probably overlooked way too often.

That raises an interesting question: since ObjC is basically only used on the Mac (as it was basically only used on the Next before OSX), and since Windows-compatible Cocoa libraries look like a real pipe dream, is there a need for "Objective-C evalgelism"?

I haven't played with the language much yet, but I can see that it looks cleaner and more powerful than C++ (the OO part that is - I still hate the C-language part - I did stuff in Scheme, so C code looks like of primitive.. not to start a language war here.) C++ or Java are arguably the dominant OO languages out there, and is also arguably not a very good OO language - simple, constrained C++ might be good, but the full language is just way to obstruce and allows you to make way to many mistakes.

Obj-C would seem to have a good chance of replacing C++ as the OO language-of-choice (Java would be harder, because it's newer, and is closer to Obj-C anyway). But Apple pushing it only on Macs isn't going to do it. Now, can WebObjects stuff be written for Windows in Obj-C, or have they gone completely Java with WO?

Jim

(<my rant on operator overload. See "The Dark Side of Java">)

And why the $#@% didn't the C99 bunch introduce *user-defined* operator-overloading, instead of just overloading the one's already there. A Vector class comes to mind immediately - you have two multiply operations - one goes on *, where does the other one go? Where does unary normalize go? Rotation of one vector around another? I've seen a vector class that overloads << to be a damn math operation! Sheesh, no wonder op-overloading was thrown out by Java. Except they threw out the baby with the bathwater, making the use of a complex-number class in Java a mind-bending exercise in prefix notation. If only they'd allowed user-defined operators (or equivalently, procedures whose names just happen to come BETWEEN the arguments) it would have been fine. But no, they have to make things SIMPLE! That means they don't take the best parts of Obj-C and refine parts of C++ - they through out the worst parts of C++, and end up with something that is a lot harder to use in certain applications..)

</>
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.


  • Follow-Ups:
    • Re: Cocoa Rules - ObjC "evalgelism"
      • From: Alex Perez <email@hidden>
References: 
 >Cocoa Rules (From: Adam <email@hidden>)
 >Re: Cocoa Rules (From: Tim Hart <email@hidden>)

  • Prev by Date: MS Excel X and window-clicks on content area not bring to front...
  • Next by Date: Re: How to know, which NSThread has terminated?
  • Previous by thread: Re: Cocoa Rules
  • Next by thread: Re: Cocoa Rules - ObjC "evalgelism"
  • Index(es):
    • Date
    • Thread