Apple Details Swift 3.1 Ahead of Planned Spring 2017 Release

swift.pngApple 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.

Tag: Swift


Top Rated Comments

(View all)
Avatar
11 weeks ago

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!!!

If your reaction to a programming language is that it cares too much about getting details right, programming is not for you.
Rating: 5 Votes
Avatar
11 weeks ago
Finally; great to hear Apple is doing something right.
Rating: 4 Votes
Avatar
11 weeks ago

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.

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.
Rating: 4 Votes
Avatar
11 weeks ago

How about a 'lifetime update' ebook for Swift and Ojc-C for 'x' number of dollars...


I learned Swift with Apple's free iBook ('https://itunes.apple.com/us/book/swift-programming-language/id881256329'). They update it with every new release.
Rating: 4 Votes
Avatar
11 weeks ago
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.
Rating: 3 Votes
Avatar
11 weeks ago



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.


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).
Rating: 2 Votes
Avatar
11 weeks ago
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...
Rating: 2 Votes
Avatar
10 weeks ago
Contemplate this:

// begin the disaster

class MyClass
{
func stateFunction() -> () -> String
{
func internalFunction()-> String
{
return x
}
}
}

let myClass : MyClass = MyClass()

let r : String = myClass.stateFunction()() + + " Swift is a f##### disaster!"

/// end the horror

*any* language that so blithely allows such horrible code to be written and executed should never take hold.

A novice programmer (the type targeted by swift) will have no clue as to the dangers the above posses to pointer unwinding. The mind boggles when contemplating all the havoc embedded functions can cause. As for the logic itself - think of correlated sub queries 8 levels deep in PL-SQL....

Sounds fun right? Code you would feel comfortable taking ownership of and hiring other clever newbies to maintain???

Blocks in obj-c are a pain in the arse for a reason...
Rating: 2 Votes
Avatar
11 weeks ago

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.


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.
Rating: 1 Votes
Avatar
11 weeks ago

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.


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.
Rating: 1 Votes
[ Read All Comments ]