Potential customer dismissed Swift as unstable, how is this possible?


Earlier I used to make games for a customer in AS3(action script) and use the adobe flash professional cs6 , but just today when I Skyped him about swift and asked for future projects as he had stopped giving projects on CS6, he said swift as unstable and said swift is not being used by many sending this link .... Swift (programming language) - Wikipedia ...

Pointing to this - Different major versions have been released annually with incompatible syntax and library invocations that require significant source code rewrites. For larger code bases this has caused many developers to dismiss Swift [18] until a more stable version becomes available.

As I am new to swift and do not know anything about it can any one please guide if this is true and if indeed swift is evolving and yet not stable for production level work ...

As I am very new Kindly pardon my ignorance in this regard ...


Amit Shrivastava

In the past there were a few breaking changes, some of them potentially requiring extra work, but at present Swift is fairly stable for production.

Members of the core team have said many times on this forum that breaking changes are undesirable and would have to offer major benefits to be accepted. And with Swift 5 we are going to get ABI stability, which is a major stability milestone.

I think stability should no longer be a major factor when considering Swift for a project.


@zoul - thanks , I will let the client know this

There probably will be breaking changes even in Swift 5, more likely only in major releases, since minor releases should not contain any breaking changes.

Application Binary Interface as I understand it, will bring binary stability but does not guarantee further source code breaking changes. That is my conclusion from this response.


@DevAndArtist - thanks , so just as a developer who wants to make projects for clients in longterm , should this worry me ? Sorry for my ignorance again

Amit Shrivastava

Yes, but the bar for breaking changes will be much higher than previously, quote the Swift Evolution Process:

  • The current syntax/API must be shown to actively cause problems for users.
  • The new syntax/API must be clearly better and must not conflict with existing Swift syntax.
  • There must be a reasonably automated migration path for existing code.

Ah, yes, I should not have mixed the two probably, sorry. ABI stability is a step towards a more mature ecosystem (allowing us to ship and share frameworks in binary form), but doesn’t prevent breaking changes on source level.

Long story short: no, I would not worry about it.


Thanks this was reassuring , I can now get back to my swift iBook from apple :slight_smile:

1 Like

Sure, but history shows that the bar is always met to some degree. It also means that not every code base is affected but for some it will be.

I personally don't care much about the breaking changes on source level, because I rather have a rocket feature rather then care much about breakage. Adopting is not necessarily negative. However I work on codebase which is less than 30k lines of code so it's not that hard to adopt. In a richer code base it's already a different story.

Anyways, in my eyes Swift got very much stable since version 3 or at least since 4.


While I agree that it’s not as large of an issue before, dismissing previous breaking changes as “a few” is an understatement. Swift 1.2 - 2 and 2 -> 3 were huge changes that for many people took a significant amount of time and for me personally caused bugs in production because of the transition.