Apple Details Swift 3.1 Ahead of Planned Spring 2017 Release

Discussion in 'iOS Blog Discussion' started by MacRumors, Dec 11, 2016.

  1. MacRumors macrumors bot

    MacRumors

    Joined:
    Apr 12, 2001
    #1
    [​IMG]


    [​IMG]
    Apple has announced it is on track to release Swift 3.1 in the spring of 2017, corresponding to some point between March and June.

    Swift 3.1 is intended to be source compatible with Swift 3.0 and will contain a few enhancements to the core programming language.

    Improvements will also be made to the Swift Package Manager, Swift on Linux, compiler, and Standard Library.

    Swift 3.1 development should conclude around January 16, 2017 for major changes, at which point Apple's focus will turn to the development of Swift 4.

    Swift is Apple's open source programming language for macOS, iOS, watchOS, tvOS, and Linux. Swift 3.0 was released in September with major improvements and refinements to the core language and Standard Library, major additions to the Linux port of Swift, and the first official release of the Swift Package Manager.

    Article Link: Apple Details Swift 3.1 Ahead of Planned Spring 2017 Release
     
  2. joshwenke macrumors regular

    joshwenke

    Joined:
    Mar 26, 2011
    #2
    Finally; great to hear Apple is doing something right.
     
  3. 6836838 Suspended

    Joined:
    Jul 18, 2011
    #3
    Swift really was an Apple master stroke. Objective-C was a tough language to master and this is a great language for new developers and those requiring a quick to market solution. I personally moved from C++ to Python on a professional basis and the step change in productivity was magnitudes higher (with C++ integration possible where high performance is required). I appreciate these languages also have their place when it comes to performance, but with a highly optimised compiler/interpreter, a scripting based language certainly has its place.
     
  4. lincolntran macrumors 6502a

    lincolntran

    Joined:
    Jan 18, 2010
    #4
    Apple is doing a lot of things right. But like all other news sites, MR just chooses to report more negative news bc it generates more activities then positive ones. It's a pretty sad strategy though.
     
  5. PinkyMacGodess macrumors 601

    PinkyMacGodess

    Joined:
    Mar 7, 2007
    Location:
    Midwest America.
    #5
    But having a programming language on a yearly schedule to announce updates is getting ridiculous.

    Either that, or I have to stop buying printed books, and companies like Big Nerd Ranch have to start offering subscriptions to their ebooks so that the updates can be had for free for a certain yearly subscription. How about a 'lifetime update' ebook for Swift and Ojc-C for 'x' number of dollars...

    I've got several iterations of their books sitting around here. A programming language shouldn't be a 'commodity item'. Isn't that part of what killed Java? All I kept hearing was deprecated functions and syntax from one release to another, and them being dropped. That's hard to follow... Makes for few friends...
     
  6. PizzaBoxStyle macrumors 6502

    Joined:
    Dec 11, 2014
    Location:
    Apple HQ Cupterino Spaceship
    #6
    Objective-C actually has a pretty small and simple set of rules compared to Swift.

    The challenging things with Obj-C, IMO, are the idea of message passing instead of calling functions/methods, and the funky syntax.

    Once you get a handle on both of those, you're good to go (as far as languages, then there's the frameworks/design patterns you need to learn).

    On the other hand, Apple's Swift book and the video courses I've done on Swift for each major release... the features and rules seem suffocating. Like Swift looks so much cleaner and easier at first, but once you really tour the language it gets a lot harder and complex, quick. Because Swift doesn't trust you the programmer, it trusts only the compiler.

    And honestly, I think even though Apple pushes it, it's a really bad idea to start any project in Swift right now. There's eventually going to be some techtonic shift that's going to change the game entirely. Or in other words, what you see and learn today, won't apply tomorrow. They should be marketing this as a hobby and the default language for iOS and Mac dev for now.
     
  7. PinkyMacGodess macrumors 601

    PinkyMacGodess

    Joined:
    Mar 7, 2007
    Location:
    Midwest America.
    #7
    My opinion of Swift was that it is very regimented. You have to say the right thing, in the right way, or you get nothing.

    It seems too hard, too 'fascist'. You have to do it their way. C was all about getting things done. If you really needed something done, you could lift heavy things with a small amount of code, and the language wasn't like a 'grammar Nazi', thumping you for every little thing. My first program in Swift wouldn't run because I did some little stupid thing wrong. I was surprised it cared. I was put off by it's attention to syntax details. It smacked of archaic languages like BASIC, and perhaps COBOL. YUCK!!!

    I'll still rather learn Obj-C, thanks...
     
  8. Joe Rossignol Editor

    Joe Rossignol

    Staff Member

    Joined:
    May 12, 2012
    Location:
    Toronto
    #8
    I respect your opinion, but it is entirely false. We do not publish doom and gloom stories for clicks or to fulfill any other agenda. We truly try to report any news that is of any significance—good or bad. We really appreciate when our readers keep up informed by sending tips to tips@macrumors.com.
     
  9. Avieshek Suspended

    Avieshek

    Joined:
    Dec 7, 2013
    Location:
    India
  10. KALLT macrumors 601

    Joined:
    Sep 23, 2008
    #10
    As a learner, I have been struggling with generics and protocol-based programming quite a bit. I started learning a bit of Objective-C to understand older code examples and I find Objective-C a lot more manageable and comprehensible in certain ways, despite all the punctuation and duplication. At first I also really liked the type inference of Swift, but now I am becoming more annoyed by it, as I have to check the type explicitly every time. That Xcode is erratic and often not showing type information makes it that much worse.

    Despite this, Swift’s strong typing, usage of value types and the Optional type are actually quite helpful to learners such as me. It certainly has a major appeal to it. I also don’t even want to know how people had to deal with manual reference counting or the ‘id’ type.
     
  11. dantastic macrumors 6502a

    dantastic

    Joined:
    Jan 21, 2011
    #11
    Having been an ObjC developer for years currently transitioning a few projects to Swift I do think Objective C is a much nicer language. Objective C is quite verbose so when future-me reads my code he can understand what is going on.
    I find Swift very hard to digest. You can't just glance over a function and see what it does.

    With all the strong typing and stuff, I think that works well in a server environment but I don't think there's any value in a client app. Parsing JSON should not be hard, nor should it ever require a 3rd party library to do so.
     
  12. CarlJ, Dec 12, 2016
    Last edited: Dec 12, 2016

    CarlJ macrumors 68030

    CarlJ

    Joined:
    Feb 23, 2004
    Location:
    San Diego, CA, USA
    #12
    If your reaction to a programming language is that it cares too much about getting details right, programming is not for you.
     
  13. mijail, Dec 12, 2016
    Last edited: Dec 12, 2016

    mijail macrumors 6502a

    Joined:
    Oct 31, 2010
    #13
    While they keep compatibility and/or provide easy migration possibilities, and use the changes to improve the language and its environment (compiler, etc), I don't see how the updating could be seen as a negative.

    You are (1)BUYING (2)PRINTED books? In 2016?

    Even in the 90s that felt to me like a bad idea.

    I use a service similar to what you are asking for, and which actually covers all open-source languages, and lots of non-opensource too. They call it "internet".

    I wonder if doctors have some kind of "lifetime updates" for their books. I know that engineers don't have one, even software engineers. But yet again, this "internet" service comes pretty close.

    I'd LOVE to know what definition of "killed" did you use there :D
    --- Post Merged, Dec 12, 2016 ---
    To those complaining about Swift changing too much: I really, really can't see what you are complaining about.
    Look at this: https://github.com/apple/swift-evolution

    There you have the fricking road map of Swift 4 for *next year*, with rationale, with possibility to participate on the development, and at the very least knowing where and why things are going. And not only that: you can see that in fact they are targetting goals of stability even at the ABI level, to avoid problems that have plagued the likes of C++ for decades!

    And you are complaining that printed books get outdated??

    --- Post Merged, Dec 12, 2016 ---
    "Heavy things with a small amount of code"... in C, AKA the language without the concept of what a string is?
    Please give me an example. PLEASE.

    Be thankful. Be very, very thankful. In C, your program might have looked like running, only to bomb later in any variety of exciting ways.
    Or are you saying that you prefer languages which look easy while they merrily trash your memory because you forgot some hidden assumption in the code?

    At this point I'll be very, very surprised if you have any inkling of what COBOL even looked like.
     
  14. 576316 macrumors 601

    Joined:
    May 19, 2011
    #14
    Plan to use my first uni summer trying to learn some Swift stuff. Feel like it might come in useful at some point in the future.
     
  15. patent10021 macrumors 68030

    patent10021

    Joined:
    Apr 23, 2004
    #15
    lol Swift is light years ahead of Obj-C in terms of readability. Hence why it's easier for new programmers to understand it. Veteran Obj-C programmers who have transitioned to Swift find Swift very clean, readable and modern.

    3rd party libraries are not required. It sometimes just makes it easier as many libraries for all languages do.

    The only advantage Obj-C has right now is that code updates are not required. Understandable of course.
     
  16. obitow macrumors member

    obitow

    Joined:
    Jun 11, 2012
    Location:
    Juiz de Fora, Brazil
    #16
    I learned Swift with Apple's free iBook. They update it with every new release.
     
  17. HobeSoundDarryl, Dec 12, 2016
    Last edited: Dec 12, 2016

    HobeSoundDarryl macrumors 604

    HobeSoundDarryl

    Joined:
    Feb 8, 2004
    Location:
    Hobe Sound, FL (20 miles north of Palm Beach)
    #17
    Are you forecasting a disaster or trying to believe that would be a good thing? If the latter, a good thing for who?

    The transition to Intel involved years of key software (not being made by Apple themselves) getting updates to work as well on Intel. Some never bothered to try to make the leap. We don't remember the misery in that very well because there was this thing called Rosetta but there is no Rosetta for Intel-to-ARM. Furthermore, Intel Macs run native Windows too and there remains various software packages important to many that don't have a macOS equivalent. ARM Macs would be very likely to kill that multi-platform compatibility in a single box.

    What ARM Macs would do is allow Apple to control the evolutionary schedule of Mac updates themselves. However, it would also depend on Apple giving focus to Macs to spur on such updates, and we see how much attention they pay to Macs now (see the buyers guide recommendations for the whole line). Would the Mac line even survive another core processor migration from mainstream (Intel this time) to niche?

    Apple would probably make more profit on ARM Macs too. So if further enriching Apple is important to us, there's a good argument in Apple using Apple chips to make more money.

    The "what's in it for us (consumers)?" question generally has weak answers, such that I don't get why "we" think we want this. Sure, some will spin all kinds of benefits that may sound good (via spin) but anyone capable of digging deeper can poke holes in most claims. For example, "ARM = faster" can be true, but faster at what exactly... and what will not be as fast. Win 1-2 speed benchmarks that don't have much real-use benefits while losing 10-12 benchmarks that impact users adversely and all the spin in those 1-2 can't make up for the disappointment in the impacts of the 10-12.

    Apple making even more money seems to thoroughly delight some of "us" too- even if it's at us consumer's expense- but I personally like to see Apple prosper by delivering more consumer benefits for us, not by cutting costs/utility/benefits for us (consumers).
     
  18. mkeeley macrumors 6502

    Joined:
    Sep 18, 2007
    #18
    I hope Cook tells us all about it, was hilarious listening to him last time.
     
  19. maflynn Moderator

    maflynn

    Staff Member

    Joined:
    May 3, 2009
    Location:
    Boston
    #19
    I've been wanting to pick up Swift, perhaps, after the holidays, I'll buy a book on it and start playing with the language.
     
  20. PBG4 Dude macrumors 68030

    PBG4 Dude

    Joined:
    Jul 6, 2007
    #20
    Nearly 17 years past Y2K and I still have one Microfocus COBOL process that needs to be converted to a more modern language. COBOL compiler costs $25K now.
     
  21. buckwheet macrumors regular

    Joined:
    Mar 30, 2014
    #21
    Totally disagree. What you're saying may have been true a year ago, but not today. And to be fair, Swift is actually simple for doing simple things. But if you have more complex requirements, it can also be very flexible, and with that flexibility comes complexity. That's the part that can be tricky to learn.

    Another point is that Swift was designed to help write safe, stable software. That's why it's picky about types, nils, and so on. It may be trickier to learn, at first, than Java, but it's easier to make something stable, and harder to get into the strange and mysterious crashes and undefined behavior that you can fall into with Java (or Objective-C)... thus making it easier to write actual software (not just code).
     
  22. jeremy.pereira macrumors newbie

    jeremy.pereira

    Joined:
    Sep 13, 2016
    #22
    Objective-C used to be my favourite language but now I've switched to Swift, I would never go back. It's so much quicker to express an idea in Swift and so much easier to read it later. Not only that but my compiling code is much more likely to be correct.

    There have been some mis-steps. Some of them are:
    • The ABI is not defined yet so you can't make a pure Swift shared object library. This was one of the goals for Swift 3 but they blew it by spending too much time implementing WIBNI features suggested on Swift Evolution.
    • An obsession with catching every error at compile time. This leads to nannying constructs in the language that are sometimes more trouble than they are worth. The prime example is access modifiers for object properties and methods. They are a complete mess in Swift 3.
    • Old World snobbery leads to deprecating or perhaps just frowning on features that have been immensely useful in the past. The protocol oriented programming fascism - I mean fashion - is particularly annoying because it leads to people recommending highly convoluted opaque POP code to implement ideas that were quite naturally expressible with classes purely on the basis that Dave Abrahams gave a really cool talk at WWDC 2015 using one example cherry picked for the purpose. Also removal of ++ and -- on the grounds that "some people don't understand them" was pretty bad.
    • The generics system is an overcomplicated clusterfsck.
    • Frequent code breaking changes. At some point developers are going to get really pissed off at having to refactor all their code every time a new release of Swift comes out. This is in complete contrast to Objective-C where there's a good chance that a 64 bit program written for OS X 10.5 will still compile and run today. It doesn't help that each release of Xcode only targets one version of Swift (or exceptionally two, if you are lucky).
    Fortunately, the first and last bullet points will go away at some point soon, in fact the last point is probably almost irrelevant already. The fourth point is being addressed slowly, but I think there will always be a problem with points 2 and 3. There's no shortage of people coming on Swift Evolution and saying "I keep making mistake x because of feature y, therefore feature y should be removed".

    Anyway, despite all of the above, Swift is still a really nice language in which to write code. and the open sauce means it should get a bit more traction outside of the Apple ecosphere.
     
  23. nextuser macrumors member

    Joined:
    Feb 15, 2016
    #23
    So will there ever be real Key-Value Observing? -willSet and -didSet are not the same thing
     
  24. netwalker macrumors regular

    netwalker

    Joined:
    Jul 28, 2007
    #24
    Swift is still a very young language and therefore is going through iterations quickly. But major languages changes should be stopping soon.

    And as with most other languages, once you've learned the language and understood the core concepts, there is really no reason to buy printed books or follow courses for every new version any longer. In Java deprecated features are being phased out quiet slowly (too slowly), so you have enough time to upgrade. And BTW, Java is not dead at all. It rightfully is dead in the browser but otherwise it is still very strong.
     
  25. PizzaBoxStyle macrumors 6502

    Joined:
    Dec 11, 2014
    Location:
    Apple HQ Cupterino Spaceship
    #25
    Developer beware. The last time I used their migration tool, my project would not compile afterward. I was trying to show off a little proof of concept that I hadn't worked on in a while. I opened to project in Xcode and it refused to build and run without letting its migration utility run. I finally conceded. It introduce a number of eeeors and screwed it up that I basically just abandoned the code afterwards.

    Sadly, since this was just a small little sketch, I didn't bother with source control before letting the utility destroy it. Pretty much all of the stuff I strarted writing in Swift, I think I have abandoned now.

    That's a subjective claim. There are already others on this thread who've said the opposite.

    The future of software development isn't this hot poop filled bag of a cranky language grafted onto 30-year-old frameworks. Looking at the landscape, if this is Apple's answer for how apps are going to be developed going into future, they lost. Game. Over.

    If this isn't their answer, then there is little reason to actively adopt it now fast and today. To top it all off... My experience was that Obj-C works better with their existing frameworks than Swift does. It seemed to me I was actually gaining very little by adopting it.

    Also, re: complexity? I thought Tim Cook told the world at WWDC '14 that Swift made app development so easy "you or I could do it." ;)
    --- Post Merged, Dec 12, 2016 ---
    I understood it as he wanted training books like Big Nerd Ranch publishes to be available under a subscription model.

    Which they are if you subscribe to Safari Books or something similar.
     

Share This Page

37 December 11, 2016