Live data from Hacker News

Swift 3.0 Released

swift.org

11–20 of 95 posts

Re: Swift 3.0 Released

#11

> It is not source-compatible with Swift 2.2 and 2.3. This created havoc in Python. Hopefully it won't happen here.

It makes a lot of sense, though. Like many new languages Swift was invented hastily and without much care with the main goal of locking in developers and preventing cross-platform development. If Apple made major releases backwards-compatible, this would invariably turn the language into a big mess in the long run. This way, the language can evolve into a fine language with many features from Algol-68 and the usual s…

This is short-changing the Swift team on a lot of axes, but you're also wrong about the lack of eventual compatibility:

  > For Swift 4, the primary goals are to deliver on the promise
  > of source stability from 3.0 on, and to provide ABI stability
  > for the standard library.
https://lists.swift.org/pipermail/swift-evolution/Week-of-Mo...

Re: Swift 3.0 Released

#12
post #7

Earlier quoted context omitted.

It makes a lot of sense, though. Like many new languages Swift was invented hastily and without much care with the main goal of locking in developers and preventing cross-platform development. If Apple made major releases backwards-compatible, this would invariably turn the language into a big mess in the long run. This way, the language can evolve into a fine language with many features from Algol-68 and the usual s…

>Swift was invented hastily and without much care Swift was started in July 2010 by Chris Lattner[1] and it was publicly announced by Apple in June 2014 (and the 1.0 release was September 2014). Spending 4 years on it and including other programming language experts to contribute to it doesn't seem like a reckless and thoughtless release. What it shows is that even if a group spends years on it, they will still get a…

I like Swift but it really was released too early. There were fundamental problems with the tooling for a long long time after the first release and there has been a lot of churn in the syntax even after the tooling started to settle down.

Designing a language like Swift is hard and it's not reasonable to expect them to get everything right on the first try but I do think it would have benefitted from a lot more dogfooding before they started pushing it on developers.

Re: Swift 3.0 Released

#14

> It is not source-compatible with Swift 2.2 and 2.3. This created havoc in Python. Hopefully it won't happen here.

It makes a lot of sense, though. Like many new languages Swift was invented hastily and without much care with the main goal of locking in developers and preventing cross-platform development. If Apple made major releases backwards-compatible, this would invariably turn the language into a big mess in the long run. This way, the language can evolve into a fine language with many features from Algol-68 and the usual s…

> and preventing cross-platform development.

One of the features of Swift is being cross platform. A good 20% of the page that this post links to is talking about their cross platform progress for linux and windows. https://swift.org/about/#swiftorg-and-open-source

Re: Swift 3.0 Released

#16
post #9
post #3

Earlier quoted context omitted.

Until now Swift has not promised source compatibility so the developers should be ready to rewrite their code for new versions. I would not be surprised if Swift 2.3 support were dropped in the next version of XCode completely. The migration tools are quite good though so going from 2.2 to 3.0 directly should not be much of a problem. I think that in Python the problem was/is that the 2.x was already a massively used…

The conversion tools failed pretty badly in my case. I had to do a ton of manual fixes. There are also still a lot of libraries out there that haven't updated yet so unfortunately I'm holding off on updating for now.

It is not perfect, but I would say it handled maybe 80% of stuff by itself. The one thing it could not solve for me was notification handling.

Re: Swift 3.0 Released

#17
post #7

Earlier quoted context omitted.

>Swift was invented hastily and without much care Swift was started in July 2010 by Chris Lattner[1] and it was publicly announced by Apple in June 2014 (and the 1.0 release was September 2014). Spending 4 years on it and including other programming language experts to contribute to it doesn't seem like a reckless and thoughtless release. What it shows is that even if a group spends years on it, they will still get a…

I like Swift but it really was released too early. There were fundamental problems with the tooling for a long long time after the first release and there has been a lot of churn in the syntax even after the tooling started to settle down. Designing a language like Swift is hard and it's not reasonable to expect them to get everything right on the first try but I do think it would have benefitted from a lot more dogf…

>There were fundamental problems with the tooling for a long long time after the first release

I was speaking of the language syntax and specification separately from the "tooling." Virtually every language has terrible tooling when it's first released. (e.g. Golang doesn't have a real debugger, Rust build chain on Windows is suboptimal, etc). Yes, Apple's Xcode and Playgrounds were extremely buggy with Swift. Given decades of computing history, it's unfortunate that bugs are to be expected of new programming languages.

There are very few languages that emphasize tooling from the very start. Examples that come to mind would be 4GL type languages (SAP ABAP, Powerbuilder) because those proprietary languages often force you to work inside of their GUI editors. Smalltalk might be another example.

Re: Swift 3.0 Released

#18

So is 3.0 when Swift is finally gonna settle into stability? Or are they gonna wait until 4.0 to stop breaking backwards compatibility?

AFAIK Swift is going to be source compatible going forward(don't quote me on that), but ABI stability is not going to be there until 4.0.

EDIT: See steveklabnik's comment https://news.ycombinator.com/item?id=12495200

Re: Swift 3.0 Released

#19
post #7

Earlier quoted context omitted.

>Swift was invented hastily and without much care Swift was started in July 2010 by Chris Lattner[1] and it was publicly announced by Apple in June 2014 (and the 1.0 release was September 2014). Spending 4 years on it and including other programming language experts to contribute to it doesn't seem like a reckless and thoughtless release. What it shows is that even if a group spends years on it, they will still get a…

I like Swift but it really was released too early. There were fundamental problems with the tooling for a long long time after the first release and there has been a lot of churn in the syntax even after the tooling started to settle down. Designing a language like Swift is hard and it's not reasonable to expect them to get everything right on the first try but I do think it would have benefitted from a lot more dogf…

> I like Swift but it really was released too early.

Yet it would not be what it is today without the public feedback process that contributed to the changes that were made since that release.

Re: Swift 3.0 Released

#20

> It is not source-compatible with Swift 2.2 and 2.3. This created havoc in Python. Hopefully it won't happen here.

> This created havoc in Python. Hopefully it won't happen here.

There are big differences though:

* Python had 15 years of source-compatibility before the switch, Swift has 1 year and a history of source-incompatibility (Swift 2 was not source-compatible with Swift 1)

* Python had a fair amount of semantic-incompatibility

* Python doesn't have a (heavy) compiler backing it up making source and semantic incompatibilities runtime issues your program bashes its face in rather than cascading compilation failures

Post reply on HN