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).
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...
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.
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.
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?
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?
Because apparently their engineers lack the ability to think far enough ahead to design something that lasts longer than a single coding cycle.
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