Sunday, January 23, 2011

Week 2? Sure or not?

It's hard to believe that we're only in the second week of this semester. I've always stayed back until late at the Mac lab for the last two weekend. This week I spent around 12-14 hours on the problem set. First week it was around 8 hours. I'm not sure how much others are spending on them, but it's not likely to be a lot less than that -- the psets are really long.

I'm not whining though; it is actually very interesting. It has been long I haven't felt I am learning so much about software engineering (and feel excited about it). Yet it's just the second week of school! I'm excited about the remaining 11 weeks (worried at the same time lol).

Objective-C is a very cool programming language. I love the way method can be defined; it's very descriptive and clear. It makes functions pretty intuitive and easy to remember. Property (dot notation) is cool and flexible. I haven't really made (real) use of its features though. Memory management turns out to be not as daunting as it seemed at first. Most of the time we don't really have to care about it because everything is auto-released. (It got me twice though... Never mind, I've understood it better!).

The coolest thing of problem set 2 is actually the testing thing. Never I seen writing unit test can be achieved so easily. And all the tests are automatically run at the compile time! It'll be very convenience for regression test. It encouraged me to do incremental testing and write test case early too! After writing few function(s), I would process to write test for them and start debugging immediately. Haha, I've never tested my program so systematically. I think we can do the same thing (creating testing suites) in Visual Studio, but too bad I didn't know that last semester, and stuck with lots of regression test.

And writing good code is always rewarding. Sometimes I feel excited & impressed when looking at a piece of well written code. Especially when it's mine =)) (sorry for bluffing=P).

By the way, it's a big mistake if I don't mention the awesomeness of the 27'' iMac. Wow. It's really really cool. You're immersed by the really big screen in front of you. It occupied your mind easily. And it's beautiful. You feel very different when you stare at the desktop filled by a great photo (esp, when it's a landscape photo -- you can feel and appreciate the vastness of the scene). My screen is usually divided to host 3 files at a time, it made switching between files no longer a pain. It really helps keep your concentration to a really high level. I'm not really used to it yet though. (and working with the Interface builder was a pain when its windows spread all over the screen, mixing up with other apps easily. (It's suggested to give Interface builder 1 desktop on its own, but we don't have "Spaces" installed). As long as people don't chit chat too much and too loudly, the lab is a perfect place!

Oh and the ipad! It deserves it own post! I will write about it later.

On a side note, I still remember that I'm taking other modules as well. And luckily, the professors are all very funny (humorous) and interesting. Still, I must be more proactive / active / prepared..

So far so good. It's still yet to see if I can survive this semester!

3 comments:

  1. Interesting remarks. What's your take on iOS programming vs. Android programming? Just want to ask about your feeling, so there's no need to churn out a separate blog post :D

    Indeed having a big screen is a mind-blowing experience. My setup consists of a 13-inch laptop and an external 22-inch screen, and they're great, albeit being no where near a 27" Cinema Display.

    Your writing is great. Wish I have discovered your blog before.

    Btw, have you got any good documentation on unit testing in Obj-C?

    ReplyDelete
  2. thanks for your compliment =D

    For the first question, I think I need more experience with iOS before I can conclude anything.

    About Unit testing, we actually didn't have to set up the system, but writing test cases only (probably have to set up ourselves in the next psets). Anw, I find this link a pretty good source:
    http://stackoverflow.com/questions/33207/what-is-the-best-way-to-unit-test-objective-c-code

    ReplyDelete
  3. Glad you seem to be having fun. Your prof here is actually having a hard time. >.<

    You should know that it's really not easy to develop good assignments. :-)

    ReplyDelete