I am writing this just before I watch lecture 4. I have completed assignments 1a, 1b, and 2a. I will be able to start 2b after todayâ€™s lecture. I will reserve detailed comments about the course until I finish it but I will say that Allan has a much better tan than Evan.
The assignments have been the most fun and the most frustration. The frustration comes from using Xcode. After years of working with Eclipse, NetBeans, and occasionally Visual Studio, the Xcode environment seems primitive and irritating. Its default setting is what I refer to as floating window hell. Years ago my department at Dawson chose Eclipse over the forerunner of NetBeans called Forte for the same reason.
While writing this I have spent a few minutes reconfiguring Xcode to its All-In-One setting.Â To change to this setting I went to Xcode->Preferences->General but you need to close the project first to make the change. The only problem is I cannot find a Close Project menu item. So I closed Xcode, restarted, and made the change before I loaded my project. The All-In-One display now looks more like what I am used to although it does have one annoyance. To view a file in the single window you must only single click as double clicking opens the file in another window. I will work on assignment 2b in this configuration.
I dearly miss the code completion feature of my other development environments. In those environments once you type the period after an identifier you get a drop down list of available methods. In Xcode and because Objective-C uses a different idiom (the square brackets) I need to start typing and the environment will at some point guess what I might want. Since it frequently guesses wrong I have tried to change the guess using arrow keys and tab keys but to no avail. I just have to keep typing until it recognizes I am spelling out what I really want. If you know what I am doing wrong then please let me know.
Donâ€™t get me started on the fact that I have to actually build and go to see my errors. Boy, I am such a whiner!
The fun comes from the challenge of completing the assignments. I am learning a new language, learning new objects, and learning new ways to make mistakes. But then this is why I became obsessed with computers in the first place, the challenge and the exhilaration of making some code do something. Heck, I am even enjoying the read of â€˜The Objective-C 2.0 Programming Languageâ€™ pdf. And while I may write more about my frustrations, the fun far exceeds them.
Ironically, I’ve been doing the same thing as you (with the iTunes U cs193p course). Except I scurried like crazy to finish the course (skipped a bunch of assignments but did some many) before I attended WWDC ’09.
I actually had lunch with Evan & Alan at WWDC, awesome guys. Couldn’t be nicer.
I feel/felt many of the same frustrations as you described with XCode, since I come from a Visual Studio (with CodeRush installed) background. At times it feels like I’m in 1997 again.
However, I did want to share one tip: if hit the Escape key in the editor, that will pop open the code completion window (i.e. intellisense/code-sense).
Best of luck, and keep us posted, I’m enjoying reading your posts.
The Escape key has definitely improved my experience. Who would of thought to use a key associated with exiting a task to actually reveal code completion choices? Apple, of course!
Thanks for the Xcode “all-in-one” tip, and the code completion tip.
I’m not making any judgements on Xcode, just yet. A development environment is like a religion, difficult to change. I do say I like working in Mac OS-X so much better than Windows that I’m not going to complain about the small stuff just yet.
I like to work in a “native” environment for a while before customizing it. In my job I work with customers so need to understand the “typical” environment users see and feel their pain. So I developed a habit of living/learning to cope with a particular environment for a few weeks/months before adopting customization.
I have a PC and a Mac. I am a software engineer by trade so I am not making this comment just to be argumentative, but I have to totally disagree with the last post. Code completion is not “small stuff”. It annoys me that Mac fan boys do not give credit to Microsoft where it is due. Visual Studio is the best/most advanced IDE currently and it beats the hell out of the XCode environment. The kind of code completion and assistance VS gives you allows for very rapid development of applications and cuts down on the annoying ‘typo’ compile issues/having to read the SDK manual while you program so that you can even know what is available. I’ve been using XCode and it doesn’t allow for discovery of new classes like Visual Studio does. I have to google class libraries in XCode to find out what methods I can call. It’s very backwards and I hope that Mac will improve it soon, they have left it in it’s primative form for way to long. It might have been cutting edge when C++ came along and we were all moving on from C, but now it’s just falling behind.