• 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: Problem with NSMutableDictionary
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


  • Follow-Ups:
    • Re: Problem with NSMutableDictionary
      • From: Oleg Kibirev <email@hidden>
    • Re: Problem with NSMutableDictionary
      • From: mmalc crawford <email@hidden>
    • Re: Problem with NSMutableDictionary
      • From: "Shawn Erickson" <email@hidden>
References: 
 >Re: Problem with NSMutableDictionary (From: Peter Duniho <email@hidden>)
 >Re: Problem with NSMutableDictionary (From: mmalc crawford <email@hidden>)

  • Prev by Date: Re: Problem with NSMutableDictionary
  • Next by Date: Re: Problem with NSMutableDictionary
  • Previous by thread: Re: Problem with NSMutableDictionary
  • Next by thread: Re: Problem with NSMutableDictionary
  • Index(es):
    • Date
    • Thread