• 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: "John C. Randolph" <email@hidden>
  • Date: Mon, 16 Jul 2001 14:40:47 -0700

On Monday, July 16, 2001, at 02:05 PM, Dr. Scott Steinman wrote:

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).

Java lacks categories, posing, and class method inheritance. (Somebody tell me if I'm out of date on this..)

This is not to say that the Objective-C language cannot be improved.

Yeah, it would be nice to have Class variables, for a start.

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.

We'll get this back when we get Obj-C++. This is already a work in progress.

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.

What I'd like to do is quit keeping my source code in flat files at all, and get it into a database instead (a hierarchical database would probably be a good fit.) If I write a subclass and then decide that it really ought to be a category, I'd *love* to be able to just make a category of the superclass, and *drag* the methods I just wrote into the category.

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?

I'm sure many people are writing it as we speak.

Tracking down errors seems to be harder in Objective-C.

I'd chalk this up to the occasionally cryptic nature of GDB.

-jcr

"This is not a book to be tossed aside lightly. Rather, it should be hurled with great force." -Dorothy Parker


References: 
 >Re: OT! Small Language Rant (From: "Dr. Scott Steinman" <email@hidden>)

  • Prev by Date: RE: Learning Cocoa (OT!: Small Language Rant)
  • Next by Date: Re: Learning Cocoa (OT!: Small Language Rant)
  • Previous by thread: Re: OT! Small Language Rant
  • Next by thread: Re: OT! Small Language Rant
  • Index(es):
    • Date
    • Thread