Swift language targets machine learning
- 12 February, 2020 11:02
Moving toward Swift 6, the core development team behind Apple’s Swift programming language has set priorities including refining the language for use in machine learning.
Ambitions in the machine learning space are part of plans to invest in “user-empowering directions” for the language. Apple is not the only company with machine learning ambitions for Swift; Google has integrated Swift with the TensorFlow machine learning library in a project called Swift for TensorFlow. And the Swift community has created Swift Numerics, a library that can be used for machine learning.
In addition to machine learning, directions eyed for Swift include building APIs such as variadic generics and DSL capabilities such as function builders. Solutions for major language features such as memory ownership and concurrency also are part of the plan. Other specific goals for Swift, cited in a January 2020 bulletin, include:
- Creating a “fantastic development experience,” with developers able to be highly productive and joyful when programming in the language. These investments include faster builds, better diagnostics, responsive code completion, and reliable debugging. Most current engineering work in the project covers these areas.
- Growing the Swift software ecosystem, including expanding the number of supported platforms and improving how software written in Swift is deployed. Also planned is support for cross-platform tools such as Language Server Protocol, the Swift Package Manager, code formatting, and refactoring. Cultivation of a rich open source library ecosystem also is eyed.
Introduced in June 2014, Swift has been rising steadily in the Tiobe index of programming language popularity, jumping from 20th place a year ago to 10th place in the February 2020 index. Its predecessor, Objective-C, has done the reverse, dropping from 10th a year ago to 20th this month. The release currently in development is Swift 5.2. A succession of Swift 5.x releases are expected before Swift 6.