On 18 May 2008, at 14:36, Jason Stephenson wrote:

(Have you ever tried programming X11 with just XLib C calls? Nasty stuff that....)
Yes, superDooperExtraSpecialHighIntensityOpenWindowAndDoLotsOfWonderfulThings IfYouSetTheParametersRightWidget.

Also, please don't confuse the language, Objective-C in this case, with the frameworks/system interface. Objective-C is a very small language, and it is easy to keep the main things in mind. PL/1 is another matter altogether.... (So is C++ if you think about it.)
I don't think I mentioned Objective C in that missive.

Cocoa is much larger, but the same could be said of C and XLib respectively. Not to mention that on X you have many different GUI toolkits to choose from to abstract away the complexity of XLib: Xt, Qt, Tk, XAW, Motif, GNUStep, Gnome, KDE, etc., etc.

Modern computer systems are complex. There are many, many options of the programmer. If modern computer systems lacked this complexity, and if the published interfaces did not have APIs available so that programmers could make adequate use of this complexity, then we'd be stuck where we were in the early '80s, having to roll our own library for everything.

I don't think you can expect to lose the learning curve in any programming interface. APIs expose complexity, and at the same time, cover it up. Imagine if you had to implement your own Model- View-Controller paradigm for your GUI widgets before you could start making your own applications? That is the situation that you'd be in with something like XLib, or even the old Macintosh Toolbox. Today, that complexity is abstracted away rather neatly by the Cocoa framework, just as it would be on X if you used Motif or Qt or some other toolkit.
It has been true for quire a long time now that learning a computer language is child's play compared with learning the api and how to use it. And modern systems are more complex and at the same time conceptually a lot simpler than earlier systems would be if they had tried to do the same job.

If you do want to just jump in and start writing code, then perhaps you should look into Python or some other "scripting" language. They do an even better job of hiding the complexity.

As yet I have not worked with Python but I am familiar with PHP and especially Perl
I am also familiar with c, java, prolog, pascal, .......
From that point of view my favourite programm of all time was Hypercard untill Apple started making it fancy and finally destroyed it by selling it to people who had no idea of the amazing things one could so quickly prototype in it.


I also don't find any great difficulty in using Apple's documentation. The conceptual documents cover the concepts, and the reference documentation serves as a reference. No, I don't think you should learn to use Cocoa just from the conceptual documents, but I'm sure it is possible.
well this is precisely the point I made, that the debate has been polarising between those who find the documentation adequate if not best ever and people like myself who despite their best efforts have so far found it an uphill struggle.

The simple fact of the matter is that documentation, just like a GUI, cannot be all things to all people. Programmers and those interested in programming are a particularly eclectic bunch. We each come at Cocoa for the first time with different experience, different reference points, and different expectations. One set of documentation cannot be expected to handle all of the possible permutations of programmer knowledge and experience. For this reason, other books exist written by third parties to cover those gaps or target different audiences.
Precisely. In my view the documentation is by and large a very good list of what is to be found and its components and how it relates to other components and subsystems. And I think that an awful lot of care has gone into its production. With regard to the books, we're touching on a sore point. I have the Quartz book which is pretty good, the Hillglass which i hate but can't do without, the Kochan which I like a lot because clear and suscinct, the Anguish et al. often rewards the occasional dip, an O'Malley that I think I opened once, ditto Trent and McCormack, the Feiller OS X developer's guide was a nice read, and then there are the (for me) just awful vermont recipies. Of course the best book of the lot here is still the Kerningham and Ritchie and a book which has nothing to do with cocoa or c but raises the spirits when necessary: Seggern's Practical Handbook of Curve Design and Generation.

Tthe fact is that there will be others like me who do not find it easy to get into cocoa. At this stage I'll not be jumping ship but believe me I've had sleeples nights about it. Mainly i'll not do it because although I'm far from attack speed I can just about open a few windows and pump bit map images to the screen, have menus and buttons and get mouse and tablet input and hopefully will soon be able to write to and from disk, and if i'm really lucky i might even be able to archive system state! in short, I am just about able to do the things I need to and I am actually progressing the technology that this current program of mine is supposed to deliver. In short the investment is beginning to pay off. But getting this far has been the most difficult piece of learning I've ever done in my life.

In summary, I think it is a problem of all programming documentation and programming interface regardless of the platform or language, and I don't really see a way for a single vendor to resolve the issue, not do I think they really should.

Well, there is a problems with the documentation and if it does not get resolved then people will end up unable to write the code. I mean what is the point in loosing people who actually want to program this machine and are willing to put oodles of effort into doing it?

Julius

http://juliuspaintings.co.uk



_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to