This is a great write up on the experience! Truly inspirational.
I especially like the following quote:
It truly is amazing how much practice helps. Every time I write a new program, I run into a ton of unforeseen problems and bugs. While frustrating at the time, I usually plan around them the next time I program. This makes me feel like I’m in my very own while loop:
while (stillPrettyBadAtProgramming) {
programmingPracticeTime++;
Program *newProgram = [Program programWithType:ProgramTypeGame];
if (
newProgram.isReallyGood == YES && programmingPracticeTime >= A_HUGE_AMOUNT
){
stillPrettyBadAtProgramming = NO;
}
}
With a few exceptions, pointers returned by methods in Objective-C are assumed to be autoreleased. That means their reference count will be decremented at the end of the event loop.
But if OP is expecting a lifetime of learning, he might want to push a new autorelease pool for each iteration.
Or just release it. If you're sure it's autoreleased then retain/release it. If you're not sure, just set it to autorelease before you retain/release it.
retain/release on an autoreleased object won't make it get destroyed any faster. You still have to wait for the event loop to cycle (or push/pop your own autorelease pool).
I'm a mechanical engineer and don't know anything about coding except basics of C. This has inspired me to learn programming. I just downloaded Python and that free ebook mentioned in the post. I've finished the 'guess the number' program and 'dragon realm' program. Interesting stuff.
Fantastic! Shows you that good motivation is the key, in his case game programming. Also, encountering good books and some expert early on is a big boost. This is what a lot of professors lack: a sense of direction where you're headed so you get motivated.
This is a great article to show business cofounders who might be reluctant to learn how to code. Wonderful evidence that even folks with 0 experience can increase their coding knowledge (and thus ability to work effectively w/ hackers) by great strides in a short 6 months.
How did you decide what type of projects to work on (ie how did you come up with your man-rodent game / what was the inspiration)? How much time did you spend every day programming?
Some days I code for an hour or two, some days none, but sometimes all day long. Actually last weekend I pretty much never left the house. I coded the entire Friday-Sunday basically.
Great writeup. Looks like you've got some predisposition to programming since you've already learned a whole lot in a short timespan. Hopefully, we'll see some original indie hits from you in another six months or so.
There's Knuth Literate Programming version of the classic Adventure [0] which you can read almost like a novel, and the source code for Spelunky [1] has also been released [2]. (I don't know whether Spelunky has good code, but it's a good game.)
Some days I code for an hour or two, some days none, but sometimes all day long. Actually last weekend I pretty much never left the house. I coded the entire Friday-Sunday basically.
After 15 years in the corporate world I've almost forgotten those exciting early days of programming. This article brought back the joy I felt when I figured out how to make the bad guy "home in" on the good guy - that was a turning point for me!
I need to do some true recreational programming again - just for the pure joy of it.
This is great. I'm working on learning objective-c in pursuit of making ios stuff as well and i can relate to many of the hurdles you've faced since I'm going through them now. It's frustrating but it's good to see someone come out the other side.
Welcome wblackall to HN. Inspiring journey. I hope you keep up with it and go far with your efforts.
Inspires me to look at all the things that we coders are not familiar with and approach it with the same enthusiasm as you do.
So you can program, but you should hire a designer.
Edit: this is not a barb at the OP, just a recommendation. I think his drive is in building, so why not make it easier on yourself by getting some help?
I especially like the following quote:
It truly is amazing how much practice helps. Every time I write a new program, I run into a ton of unforeseen problems and bugs. While frustrating at the time, I usually plan around them the next time I program. This makes me feel like I’m in my very own while loop: