Re: OT! Small Language Rant
Re: OT! Small Language Rant
- Subject: Re: OT! Small Language Rant
- From: "David P. Henderson" <email@hidden>
- Date: Mon, 16 Jul 2001 19:02:02 -0400
On Monday, July 16, 2001, at 05:05 , Dr. Scott Steinman wrote:
>
[snip]
>
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.
>
Isn't a lot of this in the C99 spec? Which is currently unavailable in
Apple's version of gcc. Apple is working on a new version of its gcc to
bring it up-to-date.
>
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.
>
Completion is available in Project Builder, but it is currently limited
to completions on a per file basis ie it can only auto-complete words it
has seen in the file. The F5 key is the default for auto-completion. You
need to index your project to get method pop-ups and method definition
look ups in Project Builder. Recently on the Project Builder Users list,
one of the PB team wrote that a class browser is slated for the next
major release of the Dev Tools (as usual no statement on when that will
be ;)
>
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 this is mostly a factor of familiarity. When I started working
with Cocoa, I found myself lost with errors more often than I do now.
>
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.
>
You are wrong about this, despite appearances to the contrary. PB was
rewritten since the acquisition of NeXT, and I thing that IB was as well
or at the least majorily overhauled. The dev tools/resources have been a
low priority for engineering resources compared with the OS and APIs,
but they are a major priority. We will begin to see more change and
better response in this area, now that OS X is it for real :).
Dave
--
Chaos Assembly Werks
"The difference between Objective-C and Java is: in Java , the
language/compiler enforces paranoia, but in Objective-C, the programmer
enforces paranoia."