Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Iphone4sinwhite

macrumors 6502
Original poster
Oct 24, 2011
307
3
Where is the best way to start for someone with little programming experience (took one C++ course in college and really liked it) who wants to learn to create apps for OSX/iOS?
 

firewood

macrumors G3
Jul 29, 2003
8,108
1,345
Silicon Valley
If you liked your C++ class, and did well, pull out that old textbook and refresh your memory. Can you still solve many of the textbook problem sets?

If so, you're good to go. Just get an Objective C book, and an iOS development book, read, and start trying to make some example apps.
 

nexus4life

macrumors regular
Jul 19, 2014
185
1
If you liked your C++ class, and did well, pull out that old textbook and refresh your memory. Can you still solve many of the textbook problem sets?

If so, you're good to go. Just get an Objective C book, and an iOS development book, read, and start trying to make some example apps.

Though I would strongly urge you to jump into Swift as soon as possible so that you are not wasting your time. It may be a while for Obj. C to become irrelevant but may as well spend learning time working with the language of the future.

I'm not sure if it will work for you or not, but I just go to youtube and see what tutorials people put out there, and I end up just following along with them. And then by magic the next time I just open up a playground (new Xcode feature) or make a practice app, I am able to remember things I saw. But like I said, I don't know if it will work for you or not - everyone learns differently.
 

1458279

Suspended
May 1, 2010
1,601
1,521
California
The future of programming for iOS is in debate as far as what language(s) will be used.

Apple clearly invested heavy in Swift, however, developers have invested in ObjC and will have to re-invest into Swift to get anything from it.

Other companies have tried to change the direction of things like this before and some have done it and some have failed.

It's really up to the developers and the market, not just Apple.

The upside of programming is that there are at least 3 parts to development:

1. programming logic (being able to understand logic)
2. language syntax and usage
3. understanding the APIs that allow you to work with a device.

Swift vs ObjC is just one part of the puzzle. A good programmer can move from one language to another. A bad programmer will fail.

It's likely that Swift will have a standing simply because Apple has already invested in it (the hard part of creating a language is nearly over).

Apple doesn't have a clear reason to drop ObjC. ObjC is a mature language and it works, they could simple leave it as it is and we'll be just fine.

The APIs are where the future is, the language simple interfaces into that.

Consider: What more does ObjC need in order to remain functional?

One other note, C/C++ is already supported. C more than C++, so you already have a leg up.

Also, Swift looks like a pretty easy learn compared to ObjC.
 

firewood

macrumors G3
Jul 29, 2003
8,108
1,345
Silicon Valley
Though I would strongly urge you to jump into Swift as soon as possible...

As soon as possible will likely be sometime next year, after the language is finished, the bugs are wrung out, and the books are revised for this more finished less buggy version of Swift.

Until then, there are probably 100X more books, videos, and tutorials about or containing Objective C, as well as probably over 1000X more sample code and apps to learn from.
 

Iphone4sinwhite

macrumors 6502
Original poster
Oct 24, 2011
307
3
Thanks for the great feedback guys. Is it possible to learn swift with a rudimentary understanding of C and no experience with object C?
 

nexus4life

macrumors regular
Jul 19, 2014
185
1
Yes - Swift's success heavily depends on whether or not developers adopt it and at that, how quickly. It's just that there is absolutely no logical reason to think it won't succeed. Swift is just so much nicer than Objective C already. I haven't spoken to anyone who previously developed in Obj. C that doesn't like Swift. They are upset about having spent all this time in Obj. C and now Apple is (sort of) changing everything on them, but they still like the language.
 

AdonisSMU

macrumors 604
Oct 23, 2010
7,298
3,047
I'd start with a python book. I know first hand that big companies are using swift already. ;)

The thing I like about a 16 week class at a reputable college is that you have a professor and it's more rigorous than the other programs out there.
 

Iphone4sinwhite

macrumors 6502
Original poster
Oct 24, 2011
307
3
I'd start with a python book. I know first hand that big companies are using swift already. ;)

The thing I like about a 16 week class at a reputable college is that you have a professor and it's more rigorous than the other programs out there.

Is Python the basis for swift?

Thanks for the feedback again.
 

1458279

Suspended
May 1, 2010
1,601
1,521
California
Some other questions about Swift vs ObjC:

1. Will Swift have the advanced features that ObjC has. My guess is that if it doesn't, it will sooner or later.

2. What about all the millions of lines of ObjC already out there? I understand Swift will work side by side with ObjC, so that might not be an issue.

3. Most of the new people will go straight to Swift and skip ObjC, what will this do to the job market for either language? Consider, nobody has 3 years background in Swift, so will the job market be willing to start over and hire people with 1 year of Swift vs 4 years ObjC?

Job listings usually list number of years they want, higher paying jobs usually ask for 3-5 years... does that mean that the market is going to wait 3-5 years for Swift programmers? Or will they see Swift programmers as starters and opt for ObjC programmers?

What about the advancement of apps? A few years ago, a flashlight app with great graphics was the thing, now, we expect more from our apps. Is the market going to step backwards and develop apps from years ago just because they are written in a new language?

I know "Number of Years" is a pretty poor way to judge a programmer.

I also understand that next year, not all new Swift programmers will be new iOS programmers. This just leads to more problems in the market determining a new programmer from an advanced programmer.

I understand that "head hunters" have no clue. They usually just look for keywords and number of years.

The bottom line is that we won't know the final outcome for a few years. It's likely both languages will be supported from now on, just like C/C++ is currently supported.
 

AdonisSMU

macrumors 604
Oct 23, 2010
7,298
3,047
Is Python the basis for swift?

Thanks for the feedback again.

No it is not. However, it looks very similar in syntax. Also it is usually sited as the most friendly programming language for beginners. Some say SWIFT doesn't have enough documentation and videos to aid those up and coming developers just starting out....hence my suggestion of reading a good highly rated beginners book on programming and python and/or taking a class(es) at a reputable (community) college.
 

Iphone4sinwhite

macrumors 6502
Original poster
Oct 24, 2011
307
3
Where can I learn about the what job opportunities and salary is available for someone who becomes proficient in C/python/swift?
 

firewood

macrumors G3
Jul 29, 2003
8,108
1,345
Silicon Valley
Is Python the basis for swift?

Nope. It's very different. It's just a programming language for which there is tons of learning and educational material available, which makes it easier for you to learn how to program/develop/code. Once you learn how to program and solve problems with code, learning another programming language from a much smaller amount of reference materials is a lot easier.

Where can I learn about the what job opportunities and salary is available for someone who becomes proficient in C/python/swift?

Depends on supply-and-demand in your locale, as well as your level of proficiency. There's a lot more iOS developers than there were a few years ago. So companies are looking for more advanced skills than just being able to code and put a few simple apps in the App store. Maybe a half-dozen or more college courses worth of knowledge and skills. Start reading those textbooks.
 

1458279

Suspended
May 1, 2010
1,601
1,521
California
Firewood is right on this point. A few years ago 1 or 2 years was what they were asking for in iOS. Now it's about 3 years.

It's very dependent on where you live. You can check DICE, Monster, or CL for ads. I've found CL to not be very good for programming in some areas.

If you are shy on number of years with a language, you should focus on code / products produced because years don't tell the whole story very well.

If you are in a larger city, you can seek the help of a professional like Robert Half or some other head hunter.

I doubt you'll find anything on Swift for a while, it's still in beta. Might be well worth the time to master Swift if you are going to be job hunting next year.
 

firewood

macrumors G3
Jul 29, 2003
8,108
1,345
Silicon Valley
Might be well worth the time to master Swift if you are going to be job hunting next year.

If you are well ahead of the learning curve and have extra time, start learning Swift now (maybe as a 3rd or 4th programming language)...

...that way you will be closer to ready for next year when HR departments start advertising for people with 5 years of Swift experience. :)
 

1458279

Suspended
May 1, 2010
1,601
1,521
California
If you are well ahead of the learning curve and have extra time, start learning Swift now (maybe as a 3rd or 4th programming language)...

...that way you will be closer to ready for next year when HR departments start advertising for people with 5 years of Swift experience. :)

That reminds me of an interview I had years ago. She said "we don't want to pay someone to learn" -- The language wasn't released yet, I was 1 of 2 people selected for a Beta. -- few people even heard of the language.

This might be why so many fudge the number, they are so meaningless to begin with.
 

AxoNeuron

macrumors 65816
Apr 22, 2012
1,251
855
The Left Coast
Thanks for the great feedback guys. Is it possible to learn swift with a rudimentary understanding of C and no experience with object C?
While I would say it is technically possible, I'd say that Swift is still only available in Xcode beta, and the tutorials/documentation out there for Objective-C is MUCH MUCH friendlier to beginners than Apple's Swift guide. I would suggest starting with Objective-C and stick with that until you're comfortable with it, because Swift is much easier to learn if you already know Objective-C.
 

Poxer

macrumors newbie
Apr 17, 2014
10
0
As someone learning ObjC, the tipping point between Swift and ObjC for me were the many books and the tons of free code available for ObjC at places like GitHub. You can grab code that does something similar to what you want, dissect it, learn from it, and change it. That's how I've been learning. That's just not available with Swift right now.
 

1458279

Suspended
May 1, 2010
1,601
1,521
California
As someone learning ObjC, the tipping point between Swift and ObjC for me were the many books and the tons of free code available for ObjC at places like GitHub. You can grab code that does something similar to what you want, dissect it, learn from it, and change it. That's how I've been learning. That's just not available with Swift right now.

That brings up another point: If Swift is this late to the game and it's an easier language, we might find that the advanced examples will continue in ObjC and Swift will only have simple examples because advanced programmers would have no reason to jump into a simpler language just to start over.

Consider that most of the advanced programmers have already been working with ObjC and new programmers what choose Swift would do so because of how easy it is.

Advanced programmers don't usually pick the easy path.

Unless advanced programmers take the time to do advanced samples for Swift, there will be none.

Years ago, back in the early days of the PC, there were plenty of "easy answer" products that came out. Few, if any, are around today.

FoxPro, Visual dBase, Visual Objects, Paradox, etc...

These were supported by the biggest tech companies at that time.

The only one I can think of that's still around it Visual Basic.

Tech companies don't have complete control over the market, if they can't meet the needs of the consumer (programmers), someone else will. That's how many tech companies got their start.
 

grandM

macrumors 68000
Oct 14, 2013
1,508
298
If you are well ahead of the learning curve and have extra time, start learning Swift now (maybe as a 3rd or 4th programming language)...

...that way you will be closer to ready for next year when HR departments start advertising for people with 5 years of Swift experience. :)

hr... starts vomitting
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.