Objective-C or Swift

I'm Alican want to develop iOS applications. I want to master my skills though the language that will valid for the future. I know Swift is a new language and most of the frameworks, tools other stuffs written in objective C. I know that i must learn objective C although i learn Swift. But atleast i think it is a must that learning sync the obj c and swift code for using them in same project to getting the perfect. Really i love swift features and language methodology and structure and syntax.

  • For starting, what do community recommends to me to learn?
  • For now, for job openings, i think obj c jobs are more than swift jobs.
  • It is logical to learn swift for getting a good job?
  • Documentation and learning resources, how is swift's learning resources?

and what do you think feature's of swift? What do you recommend me tools, resources or another stuff to keep my learning faster.

Thanks in advance,

Replies

Do both.


As for jobs, here is a quote from a current Apple Job Description:


Key Qualifications

  • You must have at least two years of Cocoa/Objective-C (Mac OS X) or two years of Cocoa Touch (iOS) experience and be familiar with Swift.

  • As for resources, ask again after WWDC next week.

    Doing both may be required to get to the "promise land"..... but I can easily see how learning two languages at the same time could be overwhelming. You may be better off picking one. Write some apps. Get the feel for things, and start doing the other language later.


    I'm def. in the minority but I'd advise ObjC first. I suspect very few people here will agree with me. The Swift language seems to be changing at a rapid pace; some things have gotten deprecated pretty quickly. I'll probably do a little more Swift after 3 comes out.

    Hey, you're not alone - I agree with your assessment.

    ehhh... some definitions are in order so we all know what we are talking about


    Objective-C : a computer language, based on C

    Cocoa : a set of OS frameworks, originally written in Objective-C

    Foundation: a set of OS frameworks, written in C and C++ that under pins Cocoa frameworks.

    Swift : a computer language, written in response to user requests for Obj-C


    It's important to have the words defined because Cocoa is destined to be written in Swift. In the meantime Cocoa is accessible from Swift. You cannot interact with the OS at a high level of abstraction without interacting with Cocoa.


    So, if we review the OP, the question is about learning Obj-C vs Swift. The real challenge isn't learning Obj-C it's learning Cocoa, which takes the quirks of Obj-C and adds quite a few more (that made a lot of sense when they were written.) But you will learn Cocoa regardless of which path you choose. Apple notoriously quotes Wayne Gretzky : skate to where the puck will be. This is the best approach for anyone coming to programming for the first time. I suggest doing a few intro tutorials to Cocoa, and then moving completely to Swift. You will need to understand the general layout and design structure of a Cocoa framework, and then get very good at Swift. all of those frameworks are destined for change in the near-mid future. And at the end of it all they will be Swift frameworks, so general knowledge will not be wasted, but specifcia knowlege may very well be wasted. Apple is already changing the nomenclature of the cocoa framework methods to adopt Swift naming conventions, so they aren't really waiting for anything.

    I hope they don't deprecate Cocoa at WWDC 😮


    From h t t p s:/ /www.noodlesoft.com/blog/2016/05/23/on-dynamism/

    I would take many of the arguments for Swift more seriously if there weren’t strawman examples set up on the Obj-C side. You’ll have to dig up Brent Simmons’ post on this, but when I see the kooky examples of horrible old Obj-C way, what it tells me is more that you don’t understand the frameworks. It resembles informercials where people are fumbling opening a jar and then are presented with some useless gadget to solve a non-existent problem. I’m sure things can be done better than they are now but providing bad examples indicating ignorance of what it is you are trying to replace doesn’t help your argument. And I have seen plenty of examples of new people replacing what they don’t understand. Please don’t be one of those people.

    nah. it's valuable IP.

    it's just going to get updated. Re-Factored.


    Swift uses different phrasing. Cocoa needs to get to that phrasing.

    PS. I've been writing "Cocoa Code", since the OS was called NextStep. I've seen quite a few moments where the whole thing was overturned. There are some things that I dislike now, and quite a few things that are very complicated now, but for the most part, all of those changes have been for the better.

    >PS. I've been writing "Cocoa Code", since the OS was called NextSte


    True. You are a lot older than me. 😮


    I'm sure it will be for the better in the end. I like ObjC..Swift looks cool but I'd like to wait for things to settle down a bit before I start writing applications entirely in Swift