How hard is it to learn Cocoa - Survey ?
How hard is it to learn Cocoa - Survey ?
- Subject: How hard is it to learn Cocoa - Survey ?
- From: Erik Buck <email@hidden>
- Date: Sun, 25 May 2008 16:18:05 -0400
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