I'm a front-end guy (xhtml, css, js, xsl, etc), although I have experience with non-oop PHP. I'm looking to expand my expertise to iPhone programming, so I decided a good starting place would be learning the principles of OOP, then getting myself well versed in Objective C, then Cocoa, then XCode...
First, is that a good plan?
Second, how do I go about doing this?
As OOP is something entirely new to me, I don't even know where to start. I've looked up my local community college, but the extend of their CS offerings are "how to use excel" so that's not going to help.
Any help you can offer would be greatly appreciated.
I'm a front-end guy (xhtml, css, js, xsl, etc), although I have experience with non-oop PHP. I'm looking to expand my expertise to iPhone programming, so I decided a good starting place would be learning the principles of OOP, then getting myself well versed in Objective C, then Cocoa, then XCode...
First, is that a good plan?
Second, how do I go about doing this?
As OOP is something entirely new to me, I don't even know where to start. I've looked up my local community college, but the extend of their CS offerings are "how to use excel" so that's not going to help.
Any help you can offer would be greatly appreciated.
Hmm, OOP is totally a different paradigm and it takes some time to grab it. Can only say that first look how to implement OOP in php plus you can grab any book on what actually is OOP and then try to map that in objective C.
Since you're a web developer, if you don't want to dive-in straight into Objective-C, it's better to start learning from Ruby and Ruby on Rails frameworks, it pretty much explained the concept of Model View Controller, DRY (Don't Repeat Yourself) as in write a reusable code, etc.
I like Ruby on Rails development style, but I could get frustrated when I touch the html and css part , because of my background in C, C++, and Objective-C where we construct UI based on some "patterns" or "algorithms" to display something, while the html and its friends are just written as it's, and there are lots of ways to construct HTML which is a bit outside of my thought process.
Writing code is not only about writing instructions to a machine / computer, but also about writing something that could be read, understood, and maintained by others. That's why, I like Cocoa.
Last edited by mnemonic_fx; 06-28-2009 at 12:22 PM.
I second Ruby & Rails on this one. I am primarily a PHP developer, but to be honest the OOP in PHP is an afterthought by the developers behind PHP. I always code OOP-PHP, since my clients often want PHP applications, but two summers ago I started to learn Ruby and Ruby on Rails. Since I always code in PHP though and never seem to get a client demanding RoR, I haven't taken my knowledge to another level than understanding the basics.
However, I am currently developing for the iPhone, but this is not my first encounter with Cocoa. I tried to learn it a year ago, but the problem was that I was trying to convert Cocoa into PHP in order to better understand the logic behind. Fail. This time around (I started about a month ago again, but with iPhone SDK) I'm really grasping the subjects I read about and I noticed when reading of the MVC paradigm that I thought "So this is the difference in Cocoa's implementation of MVC and the Rails one... ah".
Hm, long post. But you get the picture. And I also have to say, although I love PHP, that Rails is just a bit more fun. Not to mention that Ruby is the most OOP language I have ever used.