Oh no, you're thinking, yet another cookie pop-up. Well, sorry, it's the law. We measure how many people read us, and ensure you see relevant ads, by storing cookies on your device. If you're cool with that, hit “Accept all Cookies”. For more info and to customize your settings, hit “Customize Settings”.

Review and manage your consent

Here's an overview of our use of cookies, similar technologies and how to manage them. You can also change your choices at any time, by hitting the “Your Consent Options” link on the site's footer.

Manage Cookie Preferences
  • These cookies are strictly necessary so that you can navigate the site as normal and use all features. Without these cookies we cannot provide you with the service that you expect.

  • These cookies are used to make advertising messages more relevant to you. They perform functions like preventing the same ad from continuously reappearing, ensuring that ads are properly displayed for advertisers, and in some cases selecting advertisements that are based on your interests.

  • These cookies collect information in aggregate form to help us understand how our websites are being used. They allow us to count visits and traffic sources so that we can measure and improve the performance of our sites. If people say no to these cookies, we do not know how many people have visited and we cannot monitor performance.

See also our Cookie policy and Privacy policy.

This article is more than 1 year old

Favored Swift plans to settle down next year: ABI stability incoming

Version 5 due 2018, future proposed changes must come with working code attached

The Apple-supported open-source Swift programming language is set to stabilize in late 2018, with the release of version 5.

The fifth iteration of Swift, outlined on Tuesday in a roadmap published by Ted Kremenek, senior manager of languages and runtimes at Apple, aims to deliver application binary interface (ABI) stability for the Swift Standard Library.

Kremenek took over stewardship of Swift in January from Chris Lattner, who led the development of the language until he left for a job at Tesla (which lasted only six months).

Similar to an application programming interface (API), which defines how software programs can interact, an ABI defines how software programs can communicate with compiled binaries.

ABI stability means programs written in Swift will not have to be recompiled to accommodate language changes. It's a milestone that Kremenek considers to be a priority.

"ABI stability is an important inflection point for the maturity of the language, and it cannot be delayed any longer," he said in a post to the Swift Evolution mailing list.

ABI stability was initially planned for Swift 3, but has been pushed back. Once implemented, it will allow operating system vendors to embed a Swift Standard Library that will be forward-compatible with Swift 5 and beyond.

Swift's developers are also working toward stabilizing the module file format, which describes the public interfaces of a framework for the compiler. But they don't expect that to be completed for Swift 5.

Kremenek also said that full support for a new concurrency model will have to wait. "That is simply too large an effort to do alongside ABI stability," he said. "However, it is important that we start making progress on discussing the directions for concurrency and laying some of the groundwork."

Features that failed to make the deadline for inclusion in Swift 4 – due for public release this fall – are now planned for Swift 5, including standard library enhancements conditional conformances and recursive protocol requirements.

In addition, Swift's developers hope to deliver better string processing capabilities, better integration with Apple's Cocoa SDK, and an opt-in memory ownership model inspired by Cyclone and Rust.

Kremenek, however, has ruffled some feathers by raising the bar to contribute to Swift. Those who manage to create a language change proposal that elicits interest from the core Swift development team, are now required to implement the idea in code before the proposal gets formally reviewed.

On the Swift Evolution mailing list, Adrian Zubarev said he expected that requirement to make it difficult for people to contribute to Swift, because implementing new language features requires a high level of technical ability.

However, Erica Sadun, a well-known author of programming books, argues that the implementation requirement ensures that proposals have group support and technical merit, even if it might favor contributors affiliated with Apple.

"Finding those coders and convincing them this will be a great change means that proposals will naturally skew towards Apple-driven rather than wider community-driven," she said. "However, it does not exclude the latter, especially for passionate proposals that can find the coders to champion them." ®

 

Similar topics

TIP US OFF

Send us news


Other stories you might like