Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

A perfectly good rooster, considering that Swift only became usable at v3.0, two years ago.

I've developed since for version 1, small utilities, and even for those projects, it was not enough.

Version 4 and it's my favorite language to develop for.



I can't wait for Swift 5 when we finally get ABI stability, that's the last major issue that's holding Swift back.


That'll definitely be nice, for people already using the language, but I don't know of anyone actually held back by that. I'm more concerned by issues like lack of a good concurrency story, and lack of a good cross-platform story (differing behavior on Darwin/Linux, no Windows support).


May I ask what’s ABI Stability?


ABI stands for Application Binary Interface. It's basically how compiled code interfaces with each other (e.g. how functions are called and values are returned).

In Swift, this is currently not stable, meaning it changes with each version. The result is that you can't use a library compiled with version X of Swift with version Y of Swift. From version 5 onward the ABI will be compatible between version 5 and versions >5.


Totally agree with this. I tried v1 and then v2 and nearly never came back because all my code broke going 1-2 and it was just generally awful. V4 is lovely though. Some people with common sense must have joined the party


> Some people with common sense must have joined the party

More likely the language just matured. I'm glad they were not afraid to iterate as it is hard to get everything right on the first try and being stuck with a suboptimal design for the next 20 years would have been much worse.


It's funny to bring this comparison up (since Graydon is now on the Swift team), but Rust _also_ iterated like mad and took a while to mature — however, they waited until some degree of maturity before they called it 1.0, and have since been incredibly cautious about breaking changes. And they did this all of this iterating while building Servo in-house at Mozilla on the unstable version.

This is, in many ways, the diametric opposite of what this thread is discussing: pushing out nominally "stable" versions to the outside world, breaking things, but not committing internally.


I agree they probably shouldn't called Swift a 1.0 so soon, but I ascribe that to Apple management not allowing them to come out of the gate with something labelled 0.x


This.

Apple prides itself on "not shipping beta products", which kind of BS.


this only applies to products that normal users interact with - unfortunately it does not apply to anything they do that is targeted to developers.


Agree with this comment. If you’ve watched the community work at this language it’s been a very clear and well documented process. I’ve learned a lot just by watching Swift evolve through proposals.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: