It is always good to start learning something new. I would love to learn everything that I want without the need to choose it bas d on my priorities. As I am just a normal human I have to make my decisions.
In school I used to be a regular student and I say I was lucky because I did not like to study (now I know I did not know how to do it) but I had good grades only with information I remembered from classes. I only learned how to study after ending high school. Since I learned how to do it I just made few changes in the process and now I think I mastered it, at least in a way that works for me.
When I decided that my priority was to learn how to code iOS apps I had been programming in Java for more than 1 year and my programming logic and object oriented programming skills were very sharp. As Swift had been just released and people were still using much more Objective-C, I wanted to begin with this old and robust language. I first started reading the Objective-C Programming:The Big Nerd Ranch Guide book but it needs to be read in front of a computer to do all the exercises and as I was reading it in a bus on my way to the office it was not a good idea and I also found it boring because they try to teach the C language before Objective-C and I think it was not necessary.
If I had to be on my computer to learn I had to do something more dynamic. I looked for videos on Youtube and I could not find any good material. In a Google search I knew about the awesome lynda.com. Until now these were the best video classes I have ever watched. Thanks to Simon Allardice who knows how to teach much better than many professors in universities. I watched the Objective-C Essential Training, iOS App Development and also Coredata courses. These courses gave me the knowledge to build my first app (with some help of Satck Overflow, of course).
After building my first app I got less anxious so I could stop to learn everything the Objective-C language had to offer and I did not want to read the Big Nerd Ranch Guide book, which I did not like. Thanks to Google I found the Programming in Objective-C by Stephen G. Kochan. This book has a good rating on Amazon and this review (http://amzn.to/1LbRjMQ) was crucial to make me want to buy it.
This book taught me everything I can do with Objective-C (I guess). Java does not have things like categories or delegates and I think it is very useful.
The next step after learning Objective-C was to learn Swift. I bought the Meng To’s book and I learned something about design with Sketch and then I gave my first steps in the Swift world. It was very easy and much more simpler than Objective-C. Coding in Swift is like coding in Objective-C in a easier way. I made another app (not on Appstore), now in Swift. And having more experience I could build it in 3 days.
I have been learning Swift since this year’s WWDC when they announced the Swift 2 and the decision to make it open source. At that time Apple also released their new Swift books Swift Programming Language and Using Swift With Cocoa and Objective-C which are the books that I used to learn more about all the tools that we can use.
And this is the process that I use to learn new languages. I watch some videos, I do some programming and then I read a book about the language. Of course it is not enough to master the knowledge of a programming language. For me it includes facing real life problems and reading more. I still have some other books that I want to read until the end of this year.
Posting things here is also a good way to strengthen my skills.
If you liked this post click here to share it on Twitter. Jaison Vieira jaisonv.com