Wanting to move into development - which area?

- iOS: Great development environment and lots of support. Can only be developed on OS X, but Xcode dev environment rocks - simulators and debugging tools are very easy. Coming from C/C++ and now on Java I found ObjectiveC and the way UI's are developed difficult. But then again, I was never good with GUIs ;-). iOS consumer base is great, the users are used to pay for stuff - so a good ecosystem for paid apps.
.

I've used Xcode for a few projects while reading Big Nerd Ranch's iOS programming book. I love Xcode, it's easy to work with and even on my old MacBook (White unibody type ) it worked well and no real issues.

iOS is definitely going to be my path. I had considered maybe just starting out on a much easier language However, I know some Objective-C and I like the syntax and understand it - so, I am going to finish the book and continue with it till the end. :D

After I have become really comfortable with iOS development, I am going to look into Android / Java and then some web based stuff - PHP / HTML 5, etc.

I really appreciate everyone's input. It's nice to hear (or see, in this case ) everyone's opinion and experience, etc.
 
I think this a very simple view. I agree with you that depending on the language the syntax will differ but it goes a lot further than that. Especially when you look at mobile app development. In Java (for Android dev) you don't really have to pay a lot of attention to memory management, but in Objective C++ you will be exposed to pointers and memory allocations. There are also fundamental differences in the way you develop UIs and how UI managers manage the UIs across the different platforms. Other aspects are simple aspects such as push notifications - each platform uses a different way of achieving that.

It is true, to learn a new development language is easy, it's the architecture you develop on is the complex/difficult part. I would pick a platform which scales commercially and my opinion is:

- iOS: Great development environment and lots of support. Can only be developed on OS X, but Xcode dev environment rocks - simulators and debugging tools are very easy. Coming from C/C++ and now on Java I found ObjectiveC and the way UI's are developed difficult. But then again, I was never good with GUIs ;-). iOS consumer base is great, the users are used to pay for stuff - so a good ecosystem for paid apps.

- Android: It's Java and the language is dead easy. The Android SDK and simulators suck in my opinion - even on a MacBook Pro with 16GB RAM and SSD it takes way to long for the simulator to load. Remote debugging is okay but the whole development process is not as polished as iOS. Android consumer base is "cheap" - everyone wants free apps and you need to work on a commercial model to capitalize afterwards.

- Win8/RT: Sorry Microsoft fans - I consider this mobile platform still dead. It might be cool and awesome, but it has way too little traction that anyone would use this as a primary platform to develop against. Considering how much money the mobile app development costs, I would only look at Win8/RT to scrape out the barrel. I also think Win-users are adverse to pay for things ;-)

- BB10: (I like all things Apple) but just recently switched over to a Z10 (mainly because I got a free one - lol) - the OS is polished and the platform is "fresh" - so lot's of opportunity in the "new land" of mobile. The bigger companies are holding back and the developers hitting a niche first will reap benefits. The platform is easy and the user base (corporate users) is willing to pay.


iOS/Android is certainly a must have skill. If you are an early adopter (and by the looks of it BBRY will make it) BB10 is a promising platform to develop on.

You missed the part where I said:
Languages only start to matter when you have a particular project to do, and you need to select the appropriate tool. At the moment, in the learning phase, pick something that is A) easy to learn, B) easy to express yourself in, C) easy to debug.

If the OP just needs to learn to program, it really doesnt matter what platform or language he chooses. Programming is a skill that, when developed enough, is mostly independent of language. in fact, I'd avoid anything mobile, since its more difficult to test and debug. Just do regular Windows or Mac development, until you know your for loops from your while loops.

I dont know why everyone is so set on recommending a particular language and/or platform for the OP. Its not like if you start coding in one thing, you will code in that for the rest of your life. or if the OP starts coding for BB, he will never be able to code for Android. Rubbish. Its your first language, it doesnt matter at all. My first language was VBA, next was Java, after that C++, after that C#. In my career, I have used C# more than anything else.

The OP is not picking which language he is going to write his million dollar realtime trading analytics program in. he wants to learn, thats it. Schumacher probably didnt learn to drive in a Ferrari or a Mercedes.

EDIT: PS Android allows you to use just about anything, but native (C/C++) and Java are the two preferred approaches.
 
You missed the part where I said: ....

Nah I read it. It's good to understand the programming basics (such as for-loops, annotations etc) but it is essential to understand the frameworks and best practises. Too many developers start off with PHP/Perl and then shift to Java and that's when nightmares start. Never seen OO concepts and still developing structural code.

The basic language construct of any language is easy. It starts to get interesting when you look at arrays, multithreading, memory management and performance. Anything after that is really just using APIs.

OP did say that he wants to get into mobile development and my recommendations would be to jump into the deep end. Get a book like this one http://shop.oreilly.com/product/9780596809782.do for iOS - there might be better books out now, but this one goes through all the stages of iOS development.

It's been a pet-hate of mine when I come across Java devs "specialising": "I do only backend" or "I do only frontend, but not the HTML/CSS/JS stuff" - I think the more exposure OP gets the better (also look at currently available jobs in the mobile space to gauge where demand is, but one can not go wrong with iOS/Android).
 
Hi Guys

I'm also looking at learning to code. I'm currently learning Powershell for my current job. How close is Powershell to other languages? If I become proficient in Powershell will I be able to move across to another language?
 
As MagicDude4Eva stated - I'm wanting to get into the mobile development area and iOS is where I want to be. It won't be my only language, that's for sure.

@ MagicDude4Eva: I am busy with a book by Big nerd Ranch - iOS programming. It's been quite highly rated. Would the book you suggested be a better on to read?
 
As MagicDude4Eva stated - I'm wanting to get into the mobile development area and iOS is where I want to be. It won't be my only language, that's for sure.

@ MagicDude4Eva: I am busy with a book by Big nerd Ranch - iOS programming. It's been quite highly rated. Would the book you suggested be a better on to read?

Not sure if it is better suited - here is a link to a sampler - http://cdn.oreilly.com/oreilly/booksamplers/9780596809775-sampler.pdf. I bought the PDF and back then it was about 300 bucks. I found the structure of that book very good (at least for me)
 
Okay great.
I will take a look at this today and see if it is better than BNR.

Thanks.
 
Having a look at the two books the one you suggested has around 350 pages. The one Im reading has over 850 pages with three large app projects. So Im going to stick with it as I think it will give me a greater understanding and shows a lot more. However i will
Also look through the other book incase there is extra stuff in there.
 
I think you guys are over analysing what books to read. Pick up one and read it.

Already on the second chapter of the book I picked. Also created a simple app and ran it in the simulator in Xcode.

Definitely enjoying this!
 
Well, I thought it was time for another quick update.

I have taken the iOS / Mobile development path as I expected I would, since this is where my interest is and what I have been wanting to do.

I took the plunge and decided to accept an offer from a company wanting a junior developer - the reason for this is clear:

1. It will allow me to reach my goals quicker - I don't have to limit my programming to spare time / weekends.
2. It's the career path I want to travel and this sort of opportunity I just couldn't say no to - it was exactly what I was looking for.

So, this is just a big thank you to everyone who gave me some real insight into the real-world-developer game and some helpful tips.

So, it's a career change for me but I'm excited and this feels right to me. :D:D!
 
Well done, if you love what you do and put in the effort you will excel and achieve allot.
Good luck with your new path.
 
So, it's a career change for me but I'm excited and this feels right to me. !

In my experience this is usually a sign you are doing the right thing. Kudos to you for following your passion and making it happen.
 
Well done, if you love what you do and put in the effort you will excel and achieve allot.
Good luck with your new path.

Thank you. I believe that too - I just want to get started already. But, serving out my current notice.

In my experience this is usually a sign you are doing the right thing. Kudos to you for following your passion and making it happen.
Thank you - in my experience - if it feels right, it normally is.
 
Well, I thought it was time for another quick update.

I have taken the iOS / Mobile development path as I expected I would, since this is where my interest is and what I have been wanting to do.

I took the plunge and decided to accept an offer from a company wanting a junior developer - the reason for this is clear:

+1 - sounds like you really made an awesome choice here.
 
Top
Sign up to the MyBroadband newsletter
X