• 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: OT! Small Language Rant
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: OT! Small Language Rant


  • Subject: Re: OT! Small Language Rant
  • From: "Dr. Scott Steinman" <email@hidden>
  • Date: Mon, 16 Jul 2001 16:05:20 -0500

I disagree that Objective-C is an "abomination." It's just similar to Smalltalk, whose syntax is very unlike C++/Java and therefore hard to fully grasp for C++/Java programmers (I'm stating this as a C++/Java programmer now learning both Objective-C and Smalltalk). The dynamic aspects of Objective-C are what make it shine (of course, most of these features are also in Java, but I'm beginning to understand why they are more flexible in Objective-C/Smalltalk).

This is not to say that the Objective-C language cannot be improved. I think that its problems stem from its use of ANSI C as its underlying layer. Many of the things that C++ and Java added to C were intended to make "a better C" (e.g., declaring variables where you use them). These improvements were needed in C back then and they are still needed now! The Objective-C syntax should be updated to provide them. It's like going back to the early 1990's with a couple of OOP constructs thrown in.

My main gripe is that the Objective-C programming experience, not the language, needs the most improvement. Typing mistakes and frequent searches for the correct method names and argument labels waste a lot of my time! Project Builder really needs autocompletion of class names, object names, field names, method names, and method arguments. A pop-up list of the methods in a file would allow easier navigate through a source code file. A class browser is a must! Project Builder is one of the few programming tools I use now that doesn't have these features. The Project Builder team should be examining competitors' tools such as JBuilder or CodeWarrior and make the code editing experience less tedious and error-prone. I should also note that refactoring tools are becoming more prevalent for Java (and have been in existence for Smalltalk for a while). Project Builder is being left behind here too.

More complete documentation is also needed. Learning Cocoa and Apple's on-line tutorials are good for beginning to program Cocoa, but where's the intermediate to advanced material?

Tracking down errors seems to be harder in Objective-C. I've been working through the examples in the Learning Cocoa book. The To Do application I built is not working correctly -- the item name and date does not show up in the Info window even though the outlets have been set correctly and the relevant method source code has been double-checked for mistakes. Finding the error has been difficult, to say the least, and this is not even a major application.

I think that Apple has a real gem in Objective-C and Cocoa but improvements are sorely needed! I don't see all that much of a change in its developer tools, language syntax or documentation since Cocoa was Rhapsody and NeXTStep/OpenStep before that. Much of the tools and documentation seem pretty much unchanged. I can't make that statement for other language's tools, documentation or even syntax in that time frame. Apple seems to be very complacent and resting on its laurels here, but other languages and environments have partly caught up and will continue to catch up or surpass those of Apple. Apple needs to wake up and make their development environment not just the "best of class" for Objective-C, but for all languages! If not, developers will probably stick with Carbon instead.

If you've read this, thank you for your time. If not, I won't be offended.

Scott Steinman


  • Follow-Ups:
    • Re: OT! Small Language Rant
      • From: "David P. Henderson" <email@hidden>
    • Re: OT! Small Language Rant
      • From: Chris Gehlker <email@hidden>
    • Re: OT! Small Language Rant
      • From: "John C. Randolph" <email@hidden>
  • Prev by Date: RE: Learning Cocoa (OT!: Small Language Rant)
  • Next by Date: NSImage / large image performance hit / memory paging bug ?
  • Previous by thread: Re: Native Java (was Re: Learning Cocoa ..).
  • Next by thread: Re: OT! Small Language Rant
  • Index(es):
    • Date
    • Thread