As a (relatively) newcomer to Cocoa and generally far less experienced than
most of the people that have responded so far, here are my 2 cents.
Cocoa and Objective-C are no more difficult or obscure than any other
popular OO framework out there. I made the transition from .NET as easily as
I had done (to .NET) before from Java. The only stumbling block I
encountered is that Xcode and Interface Builder don't work like Eclipse or
Visual Studio. The separation between the Model, View and Controller is far
more distinct than in any other tool I've used, so my mental model was
problematic at first.

There only minor stumbling blocks for a Cocoa newbie and these are
differences of culture...mostly. Cocoa offers a much better development
experience and provides avenues for better design practices as long as you
don't try to write code as if you're writing it for Windows.

Apple's documentation is often verbose and pedantic but there are excellent
free alternatives online and very good books. Cocoa methods and classes are
clearly and fully named, by convention and you don't really have to rely too
much upon the documentation later. The learning curve is steep, especially
for those used to Java or .NET or any other development platform, but the
benefits are much greater.

The only thing I miss from the Windows world is the plethora of free custom
controls...




On Sun, May 18, 2008 at 2:33 PM, Julius Guzy <[EMAIL PROTECTED]>
wrote:

> The very good , interesting and informative debate in this list concerning
> the accessibility of the programming environment to new users has it seems
> to me incresingly polarised between those who think the documentation more
> or less adequate and those like me who for whatever reason, have great
> difficulties making use of the facilities.
>
> I think this debate relates to the same concerns and battles we had, and in
> many cases are still having about computer usability, namely the effective
> design of human-computer interfaces, aka HCI.
>
> It is ironic that we are having this debate within an Apple programmer's
> mailing list. Apple has been celebrated for the usability of its machines
> and long may it continue to be so. However, Apple has been less celebrated
> for the humanity of its programming interface having, in my experience of
> Macs from the Lisa onwards, seemingly taken the attitude that its
> programmers were hobbyists, geeks essentially, who because of their
> enthusiasm would successfully negociate their way into the machine's
> innards. That said, the 9 tomes of "Inside the Macintosh" documentation of
> the programmer's workshop were pretty good once you got into them but there
> was a lot less to get into then than there is today.
>
> This question of volume of documentation and system size and complexity is
> significant to our debate. It is pertinent to quote what one of the great
> programming pioneers, Dijkstra said about PL/1: That it
>        " must be like flying a plane with 7,000 buttons, switches, and
> handles to manipulate in the cockpit. I absolutely fail to see how we can
> keep our growing programs firmly within our intellectual grip when by its
> sheer baroqueness the programming language - our basic tool, mind you! -
> already escapes our intellectual control". ("Humble Programmer", see
> Prgramming Methodology 1978).
>
> Well I think that the sheer size and complexity of Cocoa et al comes close
> to being an aeroplane cockpit and one which we are largely expected to learn
> to use from engineering manuals essentially concerned with listing the
> identity, composition and location of components,(not to mention the various
> incarnations of Xcode and Interface Builder). I am not saying that
> tremendous pains have not been taken to create a robust coherent system nor
> to document it. There have. Also there are many who have succeeded in
> mastering the system. Some will have done so through having grown up with it
> from early days, others will have had the fortune to attend (expensive)
> traning courses, and others still will have done so through dint of talent,
> perspicacity and hours of hard work. So mastery is possible. But I am not
> stupid nor a shirker nor a complete novice and I expect that the same can be
> said for most people who have had and are continuing to have horrendous
> dificulties in getting to use the system. It is clear that the programing
> interface to the Mac has serious usability issues.
>
> I cannot help touting one recent example. To specify the outlets etc
> between a class definition and Interface Builder on Leopard we are told to
> type the name of the class into a field and that thereafter IB will make the
> appropriate links with Xcode. It took me ten minutes of doing it this way
> and that before I realised that IB would only make the connections AFTER one
> had typed in the class name AND saved IB! We know from HCI research that it
> is little things like this which most frequently cause users to give up and
> never touch the equipment again.
>
> Now, of course, as programmers we are well used to wasting hours hacking
> through the underbrush to discover that to switch on the machine we need to
> hold down Alt-Escape with the right hand whilst depressing a button round
> the back of the machine with the left. (That was how in the 70s one turned
> on some of the PCs at Leicester Poly!). But what a waste of time and effort
> and how demoralising and off-putting to anyone but the most obstinate
> programmer. I deferred having a go at Cocoa for about three or four years
> because I knew it would be a struggle and these last five months or is it
> six have been horrorshow.
>
> Let me state two principal facts.
> 1. Designing good user interfaces is hard.
> 2. Designing good user interfaces is expensive.
>
> It is hard because every human being is an individual,
> because there is seemingly a lot to learn
> and because there are limits to the complexity we can handle.
>
> It is expensive because the design of good HCI is primarily an empirical
> activity centered on user testing.
>
> The question is then whether we and possibly apple should do anything about
> 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/nicktoumpelis%40gmail.com
>
> This email sent to [EMAIL PROTECTED]
>
_______________________________________________

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