Slashdot Mirror


Apple Releases First Preview of Swift 3.0 (macrumors.com)

DaGoatSpanka quotes a report from MacRumors: Apple yesterday released the first preview build of Swift 3.0, a major update to Apple's open source Swift programming language. Swift 3.0's official release is expected to come in late 2016 after proposed changes are finalized. The Swift 3.0 preview can be downloaded from the official Swift website. There are versions of Swift 3.0 available for Xcode 7.2, Ubuntu 14.04, and Ubuntu 15.10. [Swift 3.0 is not source compatible with Swift 2.2 as it introduces source-breaking changes, but going forward, the goal is to make Swift 3.0 source compatible with future Swift language updates.] Swift 3.0 will likely be shown at Apple's upcoming Worldwide Developers Conference (WWDC).

8 of 227 comments (clear)

  1. The "new" trend - eternal Alpha... by Megol · · Score: 1, Insightful

    Make no mistake: this isn't Swift version 3 - it is the language Swift 3. I guess Swift 4 will not be (completely) backwards compatible either. Because the idea of a programming language evolving from a stable, thoroughly tested base specification is old - not fit for the Apple(TM) generation...

    1. Re:The "new" trend - eternal Alpha... by cant_get_a_good_nick · · Score: 3, Insightful

      Like C? Even C has broken backwards compatibility at times. C started out in the 70's, yet we still have C99. Oh wait, that didn't work, we have C11. 40 years later we're still changing it.

      C++ was once a superset of C. It is no longer, and some C code can not be compiled in C++ compilers.

      Java has methods that are deprecated.

      Swift is a pretty new language. It's also a bit of a new paradigm. You start with an idea of what you want in the language, most works, some doesn't, you try again. Some of this breaks backwards compatibility. Better to do this now, then 40 years later.

  2. Re:what did they break this time by Beezlebub33 · · Score: 4, Insightful

    And enums, apparently.

    I understand having it consistent (which is their argument for the changes), but this just means that they they screwed it up in 1 and 2. Seriously, you change naming conventions from UpperCamelCase to lowerCamelCase? Now? That's the sort of decision that should be made (with reasons) when you are designing the language the first time; and then you have a group of really nitpicky, anal-retentive types go through the language to check for all the inconsistencies, and then you fix them, and then you release it. This whole thing screams amateur hour; yeah, I understand it a little more when python says 'oops, we messed up because there was a single guy who designed the language, and he didn't have a team behind him'. However, this is frigging Apple, and they have lots of people and money, and Swift was (I hope??) intended from pretty early on to be where people were going to go, so it should have been done right the first time or two.

    --
    The more people I meet, the better I like my dog.
  3. Re:Same happens for open source languages! by 110010001000 · · Score: 4, Insightful

    C++ advances and still maintains backward compatibility. It does matter. If you learned C++ 10 years ago, that knowledge still applies today. Swift 2.2 was released in MARCH 16, 2016, and is already obsolete. Ridiculous.

  4. Re:Same happens for open source languages! by OzPeter · · Score: 4, Insightful

    C++ advances and still maintains backward compatibility. It does matter. If you learned C++ 10 years ago, that knowledge still applies today.

    There have been breaking changes in C++ in the past.

    Swift 2.2 was released in MARCH 16, 2016, and is already obsolete. Ridiculous.

    Hardly obsolete. No-one is saying you now can't still write Swift in 2.2 or even 1. Swift is not included in iOS and is instead bundled with the App that uses it. You just need to use the tooling version that supports your desired Swift version.

    --
    I am Slashdot. Are you Slashdot as well?
  5. Re:what did they break this time by pushing-robot · · Score: 5, Insightful

    Swift inherited this mess from Objective-C. The Swift team stuck with the old conventions for a while to make the transition easier, but now they want to shed the ugly bits and move forward. I'm not sure there's a better way they could have handled this, to be honest. Everything has tradeoffs.

    --
    How can I believe you when you tell me what I don't want to hear?
  6. Apple's infinite loop road named for engineering by JoeyRox · · Score: 1, Insightful

    Because apparently their engineers lack the ability to think far enough ahead to design something that lasts longer than a single coding cycle.

  7. Re:Python != Python; now Swift != Swift. by iTrawl · · Score: 3, Insightful

    And Qt5 breaks code written for Qt4 which, in turn, breaks code written for Qt3. And Windows 10 breaks drivers written for Windows 8. And Linux 2.6 broke code written for Linux 2.4 which broke code written for Linux 2.2. And I'm pretty sure modern C broke code written for ye olde C.

    That's what major version numbers are for: to announce Major Breakage (or possibly even General Breakage) and his mighty army of doom.

    --
    "Everybody's naked underneath" -- The Doctor