Re: Problem with NSMutableDictionary
Re: Problem with NSMutableDictionary
- Subject: Re: Problem with NSMutableDictionary
- From: Peter Duniho <email@hidden>
- Date: Sun, 19 Aug 2007 11:36:27 -0700
On Aug 19, 2007, at 10:54 AM, mmalc crawford wrote:
On Aug 19, 2007, at 10:27 AM, Peter Duniho wrote:
(Hint: it seems that those who have reached the point where they
no longer need to consult the reference for every other line of
code they write don't see a need to improve the reference :) ).
Simply using a smiley doesn't mean that the comment isn't obnoxious.
Um. Okay. How's this: I find that the people who are already fluent
in Objective-C and Cocoa are generally disdainful and dismissive of
the concerns and comments of those of us trying to learn it.
Frankly, the elitist, arrogant attitudes I've run into while trying
to learn how to write Mac software in today's environment are
incredibly off-putting and make me question whether I really even
want to bother trying to get back into the Mac programming world
after a 20-year hiatus.
Those attitudes _definitely_ discourage me from bothering to post any
questions on this and other mailing lists. In addition to the lack
of good reference documents, I find that the Mac programming
community itself is not very open to newcomers, and you never know
when you're going to trip over some land-mine that causes some Mac
programming experts to write yet another "you just don't understand"
accusation of someone who's just trying to learn the ropes.
I haven't been the target of this very much. Frankly, I've seen
enough directed at other people that I do my best to avoid posting
any questions, and have been able to stay out of the line of fire for
the most part. But when I see people trying to defend the current
state of the Mac programming reference, I just cannot stay silent.
It is in too much need of improvement for me to accept any serious
claim that the current documentation is adequate.
[...]
.. if you find deficits, please file enhancement requests. It's
not possible to remedy problems that aren't reported.
I have in fact provided a number of comments to Apple via their
reporting system. Of course, in doing so one of the things I've
found is that their reporting system is broken as well, as often I
will click on the click to report a program, only to find that the
form I'm taken to lists a completely different topic as the one for
which I'm commenting.
And yes, I comment on that too.
None of that is relevant here, where the question is really just
about the opinion of regarding how comprehensive the documentation
should be.
The API reference is intended solely to be a "dictionary", not an
encyclopaedia.
Well, I haven't seen any official comments regarding what it's
"intended" to be. However, if your claim is true, then the intent is
wrong. The API reference _should_ be an encyclopedia. Guides are
for covering high-level, general topics and providing basic tutorials
to get one started. The API reference should, on the other hand,
leave no detail out. It should be a _REFERENCE_, with a complete,
comprehensive description of every aspect of the API.
Typically, conceptual documentation and tutorials are listed in the
"Companion guide" field in the API reference.
The "guide" sections of the reference are not comprehensive either.
In fact, most of the time they gloss right over a number of important
aspects. There are exceptions, but on the whole the "guides" are not
in any way a replacement for the API reference, nor do they succeed
in filling in the details left out of the API reference.
But in addition to all that, they simply aren't structured in a way
that allows for easy reference for a specific issue. Even if the
guides were comprehensive, if one cannot easily find the information
that's important, that's of no use.
Using the phrase "autorelease behaviour" suggests you still don't
fully understand memory management.
There's a good example of what I mean about the arrogance and
dismissiveness of the experts right there.
How is it that from two simple words, you have come to the conclusion
that I don't fully understand memory management? Even ignoring for a
moment that I find flawed your semantic argument that "ownership" is
somehow completely independent of "whether or not something is
autoreleased", I haven't written nearly enough about the topic for
you to make a claim one way or the other about what I do or do not
understand.
I admit, I have at this point completed only one Mac application.
But guess what: I managed to write the entire thing without a single
memory leak or prematurely-released object. I may not (as you say)
"fully understand memory management", but I'm far from a being a
bumbling idiot and I think I understand memory management well enough
that I deserve the benefit of the doubt rather than having someone
jump to some dismissive conclusion based on the pairing of two words
I wrote.
Yet, it's quite popular on this mailing list (and others) for people
to reply with a comment that is essentially "you still don't fully
understand <insert topic here>".
Sometimes the comment is correct, sometimes it's not. It's almost
never necessary or helpful, however.
[...]
Just because something follows a standard convention, that doesn't
mean that there's no use in documenting it everywhere that it can
already be inferred.
It's not that there's *no* use, it's a trade-off.
It's not a trade-off worth making. The costs of making the
documentation comprehensive are negligible as compared to the
benefit, especially as it relates to Apple wanting to make their
platform a mainstream, well-supported one.
Apple needs developers. They cannot afford to say "oh, it's too hard
to do that". For most developers, they have an option of supporting
the Mac or not. If the tools and documentation don't make doing that
easy, they're just going to choose not to.
I have a long history with the Mac, and have always had a special
place in my heart for it. My first GUI software was written on the
Mac, before there was even a viable Windows platform. My
reacquaintance with the Mac via Cocoa and Objective-C should be like
a homecoming. Instead, it's like pulling teeth. Is this really the
experience Apple wants developers introduced to the Mac to have?
Phew. Anyway, all I really meant was to voice my support for the
feeling that the documentation could be improved by including
explicit statements even when behavior can be inferred from
information presented elsewhere. The all-too-predictable response
from the Mac experts dredged up a bit of a rant, but I think I've
vented what I need to vent.
Suffice to say: I still think the documentation needs to be more
explicit, and I think that this thread can continue on without me.
I've had my say. Thank you for listening.
Pete
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden