• 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: How hard is it to learn Cocoa - Survey ?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How hard is it to learn Cocoa - Survey ?


  • Subject: Re: How hard is it to learn Cocoa - Survey ?
  • From: Greg Titus <email@hidden>
  • Date: Sun, 25 May 2008 15:46:29 -0700

I think it'll be very hard to compare learning times then to learning times now because the frameworks involved are quite a bit different. I started working on Cocoa stuff for Omni near the end of 1993. A lot of the concepts behind the AppKit class hierarchy have changed surprisingly little since then, and we even had binding equivalents as part of DBKit (an ancient database layer that was rewritten into EOF and then into WebObjects Obj-C and then into Java...). But there was no Foundation framework back then, no retain/release, standard Objective-C style was even quite a bit different (set methods normally returning self instead of nil, et cetera).

With that caveat: I'm pretty sure I was usefully productive in Cocoa after two weeks or so. Note that this was a full-time job, so I had both time to come up to speed, no distractions, and was working directly with people who were already experts. That is a very different learning environment from a spare time, on-your-own method of learning.

	-- Greg

On May 25, 2008, at 1:18 PM, Erik Buck wrote:

I have been working with Cocoa and its predecessors for so long that I can't remember how long it took me to learn to use the frameworks. One of my first non-trivial NeXTstep applications was a Tetris game. It was about 1989 or early 1990 when a friend was admiring my NeXT cube. She asked if there was a Tetris game, and when I said there wasn't, she said, well what kind of computer doesn't have Tetris? It must be useless.

I spent two days with little sleep - maybe 40 hours straight- and coded up a Tetris game. Of course, it was 2 bit gray scale, but it had synthesized "stringed instrument" background music, and you could supply your own images to be used as backgrounds. In fact, every user could have different background images. My friend said she wasn't impressed, but she spent about two hundred hours playing the game that summer. She asked me to enhance the game so that the music tempo increased with the game level and sliding or rotating blocks had their own sound effects that were mixed with the background music. Stacking up blocks transposed the music to different keys. At first she played the game to get the highest score in our social circle. Later she played the game to see what kind of cool "music" she could produce. NeXT's DSP was was very cool, and the examples I used to get started later became MusicKit (I think). I never was able to digitally record her music in real time though...

So, anyway, I implemented lots of student projects with Objective-C and the NeXT. I wrote a recursive descent parser for my compilers class. There was a separate class for each scan-able token. A class method +newWithPartialString:(const char*) nextPosition:(int *)nextIndexPtr returned an instance of whatever token subclass could make the longest match. Then each token know about the previous and next tokens and contained the applicable grammar rules to identify syntax errors along the lines of "I am not allowed to follow my predecessor so there is a syntax error at my position..." My professor thought it was really nifty. Everybody else in the class used Pascal or Ada to implement their parsers as direct copies of the textbook examples.

By the time graduated in December 1991, I was thoroughly familiar and comfortable with most NeXT APIs including the Unix layer and Display Postscript. I would say I went from newbie to advanced in about two years or maybe a little less while working and attending school full time. I used Interface Builder and File's Owner and First Responder and targets and actions and delegates. Since then I have been along for the ride with the separation of FoundationKit, DBKit, EOF, 3DKit, NeXTtime, MusicKit, Renderman, the transition to Openstep, the years in the wilderness with Apple... Of course, there is a lot more to learn now, or is there really?



So this is a survey:
For those who consider themselves intermediate to advanced Cocoa programmers, how long was the journey from newbie to competent and from competent to advanced ? What percentage of your time did you dedicate over how many months ?


Maybe we can establish a standard distribution of learning time required. Just having a basis to set expectations might help future newbies.







_______________________________________________

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

_______________________________________________

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


References: 
 >How hard is it to learn Cocoa - Survey ? (From: Erik Buck <email@hidden>)

  • Prev by Date: Re: NSError and presentError:
  • Next by Date: Scaling view to fill printed page
  • Previous by thread: How hard is it to learn Cocoa - Survey ?
  • Next by thread: Re: How hard is it to learn Cocoa - Survey ?
  • Index(es):
    • Date
    • Thread