Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Hmm. Well let's see. I do think we are headed to the post PC world. I will not be surprised if iOS devices in use reach a billion by the end of the decade. Actually, I will be surprised if that is not the case well before the end of the decade. Also, while PCs will still be the more numerous, the vast majority of those PCs will be work related with limited uses focused on the job at which they are installed.

My assumption is that basically EVERY computer science major in school kind of wants to be the guy who programs the next Snapchat. Well maybe the guys who want to make the next Call of Duty don't. But lots of folks do want to make the next great App. That App will get created first for iOS. If Swift is the faster way to get the App shipped, I think folks will gravitate to it. Once the App is shipped on iOS and has become a success, the port to Android is just a process. It might be harder because you started with Swift, but I assume it is still going to be very doable.

----------



Well programming is very hard, so I suspect it constrains App development.
The "developers" numbers are just filled with folks who want access to the beta program. I'm a developer just so I could use iOS 7 when it was in beta. It cost $100 and it looked cool showing off the new OS for a few months.

But making programming easier should lead to higher quality. I assume application development is a constant dialogue between the idea folks and the programming folks with one saying "can you do this?" and the other saying "no, I can't program that (not within the time I have to implement or the resources of the devices), but I can program something close to it." A faster programming language will result in less no's, right?

Good point! Easier can lead to better apps. I remember one upgrade years ago that basically changed the whole language I was using. It made it easier to develop complex apps but the language became more profession (harder to learn)...
It did in fact lead to better programs.

Those that jump into Swift will have a bit of a lag, then catch up and maybe pass ObjC development times (able to make apps quicker) However, you have to look deeper...
The language is less of a factor than the vision of the designer. We lean more on design than on coding. Even coding is less of a factor as Apple (and others) provide more and more code and/or APIs.

Example, how many coders directly speak to the hardware like the camera, vs how many just use Apples interface to the camera?

Compare this to the PC, some would speak directly to the hard drive to do data recovery, others just use code to spit out reports.

The need to access the camera beyond what Apple gives you is usually small. In fact, if you don't use Apples APIs to access sensors, you risk being shut out in the next upgrade.

My point is that learning the APIs is a bigger and bigger part of developing most apps, and that means that the language is less of a factor and knowing the APIs is more of a factor.
 
As somebody that wrote commercial applications for the Macintosh back when Apple's language du jour was Pascal.. There is so much wrong in this thread it makes me laugh...

I won't even go into the 'Apple vs. World' debate :rolleyes:

Swift is not going to change the world and learning it will still put you in a niche market, along with Obj-C. It's not as easy as some people in this thread (who have said they know nothing about development) say.

A great mechanic can learn to work on any car.. A good developer can learn to work with any language.

Should you learn Swift? Sure.. But i would suggest you also learn Obj-C because there are more examples available. It will probably be years before you see more Swift components then Obj-C on places like CocoaControls.com.

Swift is nothing more then a tool (probably why apple puts a hammer on its XCODE Icon).
 
What I really mean

I'm sorry if this wasn't clear from the start, but here's what I meant from my original post:

Which programming language (or resources like courses, books, etc.) should I start with so that I have a good foundation for Swift and/or Obj. C? Not necessarily a powerful or easy to learn language, but one that can ease me into the art of programming gradually.
 
Starting with Swift for a newbie will be a mistake. Swift is not finished yet. Learning software development with beta developer tools is a recipe for failure. There are thousands of resources available for learning Objective-C, including books, web sites, online courses. There are only a handful of resources for learning Swift. Apple's existing iOS developer documentation is all in Objective-C. It won't be possible to learn iOS development without being able to at least read and understand Objective-C.

I would only move to Swift at this time if I was an experienced iOS and Objective-C developer.
 
Starting with Swift for a newbie will be a mistake. Swift is not finished yet. Learning software development with beta developer tools is a recipe for failure. There are thousands of resources available for learning Objective-C, including books, web sites, online courses. There are only a handful of resources for learning Swift.

I would only move to Swift at this time if I was an experienced iOS and Objective-C developer.

Thanks for the tip! The thing is, I was never going to start with Swift. I was going to move up to Swift after I had learned something easier/more basic.

What language would be a good starting point for someone with zero experience whatsoever?
 
Thanks for the tip! The thing is, I was never going to start with Swift. I was going to move up to Swift after I had learned something easier/more basic.

What language would be a good starting point for someone with zero experience whatsoever?

You really have to go back to what your goal is. If your primary goal is iOS app development, then start with ObjC or C.
Fact is you can start with any language and learn things like data types, flow control, etc...

Then once you understand data types and flow control, I'd jump into ObjC or start reading about Object Oriented programming.

Once you have an understanding of Object Oriented programming, then jump into ObjC.

I'd read a bunch of the Apple examples in the docs (help system).

One big downside of Swift is that almost all the samples from Apple are written in ObjC. Browse thru the help docs and you'll see example projects in ObjC.

Forget Swift at least for this year, see what happens next year.
 
You really have to go back to what your goal is. If your primary goal is iOS app development, then start with ObjC or C.
Fact is you can start with any language and learn things like data types, flow control, etc...

Then once you understand data types and flow control, I'd jump into ObjC or start reading about Object Oriented programming.

Once you have an understanding of Object Oriented programming, then jump into ObjC.

I'd read a bunch of the Apple examples in the docs (help system).

One big downside of Swift is that almost all the samples from Apple are written in ObjC. Browse thru the help docs and you'll see example projects in ObjC.

Forget Swift at least for this year, see what happens next year.

Can you outline what you mean, please? It's kinda unclear. When I looked at the developer site, all I found was the OS X and iOS doc sets.

Thanks.
 
Can you outline what you mean, please? It's kinda unclear. When I looked at the developer site, all I found was the OS X and iOS doc sets.

Thanks.

Sure. When you install Xcode you get a section called Organizer - Documents This is where you would find the iOS document set. it's Apple's examples of how things work.

Example, they have a bunch of examples on how to use the camera and do things with pictures. These can be downloaded and then run inside Xcode then you can use the debugger to watch the code and you can make changes to see what happens.

Most of these example projects are written in ObjC although some are a bit older they can still offer great insight.

The Organizer is a button in the upper right area of Xcode.


For those interested, here's a link about Swift and what it might mean for us...
http://readwrite.com/2014/06/04/apple-swift-programming-language-wwdc#awesm=~oGgWSWsM063ZwI
 
Sure. When you install Xcode you get a section called Organizer - Documents This is where you would find the iOS document set. it's Apple's examples of how things work.

I found "Start Developing Apps Today." There are versions for both OS X and iOS. I know that both OS's are programmed with Obj. C, but I don't know which tutorial to do first. Which one would be the better stating point, iOS or OS X?
 
Last edited:
I found "Start Developing Apps Today." There are versions for both OS X and iOS. I know that both OS's are programmed with Obj. C, but I don't know which tutorial to do first. Which one would be the better stating point, iOS or OS X?

I think you need to back up and rethink your goals. Developing for iOS is very different from programs on a PC.

Also, different type os programs are programmed very different. A data list, utility app deals with a touch interface, whereas a game might be controlled thru a game engine.

if you just want to learn ObjC, either one would do, but there is a lot of learning to understand the stuff beyond the underlying language.

Having a clear goal will help.
 
Having a clear goal will help.


In a nutshell, here is my goal from doing this:

My goal is to learn and practice a skill that could potentially benefit me later in life. My goal is to see the world of development in a different way. My goal is to give back to the community.

If you asked what my OVERALL/Long-Term goal is, I'd say:

My overall goal is to eventually write an app that will change someone's life. It mustn't be a big change; any positive impact that I can have on anyone makes me very happy.

I personally use some very niche apps in my day-to-day school life that have helped me tremendously. Now, it is my turn to do the same for someone else.

Thank you.
 
Considering that the only current source is Apple's own iBook, it'll take awhile. I only say this because it assumes you already know certsin concepts. For example, in only the first few pages it flies by types and operators. It doesn't explain to you in depth what a tuple is and how it's useful.

It has a lot of similarities to Python now, in my opinion, which also uses type inferencing and such. Until a more established source of documentation emerges for Swift, I'd give Python a go if you're only just starting. Grasp the concepts and the syntax is easy.

Additiionally, learn how to problem solve using a language before you get into anything graphical. Not nearly as glamorous, but it's an important step.
 
Objective C isn't a THAT difficult to learn. I would say that what Pellets says, about starting with a different language first, works for a lot of people who have difficulty grasping Obj. C. But if I were you, I would at least give obj. C a shot first.

In a nutshell, here is my goal from doing this:

My goal is to learn and practice a skill that could potentially benefit me later in life. My goal is to see the world of development in a different way. My goal is to give back to the community.

Don't forgot World Peace ;)
 
Last edited:
You mention app, so I'm guessing that means iOS. So the next issue is if something like Unity or 'regular' programming.

So, Unity is a game engine and you want to save the world... hmmm... Unless you want to save the world by throwing birds at pigs, it sounds like you want a regular (non game engine) programming language

Next is the time frame. I wouldn't expect much from Swift this year. It's expected out in the fall, I understand it won't work for iPhone4 (4S and above) so I'd expect a near normal upgrade form iOS7...

So if you can wait till next year for your release, Swift might be the answer.

While waiting, learning ObjC with major focus on the iOS APIs.

Point to understand: the programming language is ONE part of the whole thing. You need to learn the APIs. Apple said they are releasing 4000 new APIs with this update. I think that's 4000 new API calls, not 4000 new APIs.

You can spend a good amount of time just understanding the APIs and ObjC will get you there. Going from ObjC to Swift will be a small part of the whole thing... Meaning again that the language is just one part of a program. Focus mostly on the APIs and learn how to do all the examples.

Swift probably won't have a lot of examples for a while, whereas ObjC has tons of examples.
 
Next is the time frame. I wouldn't expect much from Swift this year. It's expected out in the fall, I understand it won't work for iPhone4 (4S and above) ....

Swift is reported to be able to be used to build apps that can run in both iOS 8 and iOS 7.1. So even an old iPhone 4 should work.

I've been looking at the Swift Playground. It looks so good (even though currently buggy), that I expect it to become the killer educational programming environment about the time iOS 8.1 is released. Better than Apple Pascal and HyperTalk. Finally, a good replacement for AppleSoft.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.