Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

MacRumors

macrumors bot
Original poster
Apr 12, 2001
63,549
30,868



Apple is currently working on Swift 5.0, the next major version of its the coding language the company first introduced in 2014. As Apple prepares to release Swift 5.0, Ted Kremenek, who is leading the project, recently sat down for an interview with John Sundell on his Swift by Sundell podcast.

The new episode, titled "Pragmatic Priorities," is available to listen to starting today on iTunes and through the Podcasts app on iOS devices.

swift-banner-800x460.jpg

Kremenek is Apple's senior manager of languages and runtimes, and he is overseeing the release of Swift 5 and is Apple's voice on the project.

In the podcast, Kremenek covers topics that include how Apple plans new features for Swift, the process by which pitched ideas turn into release features, and of course, Swift 5.

Swift 5's major focus is long-awaited ABI stability (Application Binary Interfaces), and Kremenek goes into detail on how ABI stability was ultimately implemented and what changes needed to be made for Swift to become ABI stable.

With Swift 5, apps created with one version of the Swift compiler will be able to interface with a library built with another version, something that is not the case now.

The Swift by Sundell podcast with Ted Kremenek will be of interest to developers and those who use the Swift language and want to learn more about the changes and features coming in Swift 5.

Article Link: Apple Swift Lead Discusses Swift 5 in New Podcast
 

mattyj2001

macrumors regular
Oct 29, 2015
108
406
FYI, the Highest-Perf apps in the iOS App Store are (still) written in an mix of Objective-C & "C".

Well, both of those have many, many years head start on Swift. Not surprising. I'd like to see stats another five years from now. And perhaps a breakdown of apps that are older than 2014 vs new ones since.
 

mdriftmeyer

macrumors 68040
Feb 2, 2004
3,810
1,985
Pacific Northwest
Well, both of those have many, many years head start on Swift. Not surprising. I'd like to see stats another five years from now. And perhaps a breakdown of apps that are older than 2014 vs new ones since.

That's not it. Swift has 40 years of OOA/OOD, Structural and Functional programming research behind it. They should have enhanced ObjC to go to 3.0, then 4.0 and dropped this idea from the start.
 

Freida

Suspended
Oct 22, 2010
4,077
5,868
What does this mean for average Joe? Does that meant that more apps will get iOS release also (like Zbrush?) or something else? Sorry, coding is not my area of knowledge :)
 
  • Like
Reactions: Internet Enzyme

cmaier

Suspended
Jul 25, 2007
25,405
33,471
California
All large deployed enterprise applications, graphics applications, Logic Pro X, Final Cut Pro X, etc., are in ObjC-ObjC++/C++/C

I’m not sure those are the most performant apps. And aren’t things like pixelmator and the affinity apps at least partially swift?
 

mdriftmeyer

macrumors 68040
Feb 2, 2004
3,810
1,985
Pacific Northwest
What does this mean for average Joe? Does that meant that more apps will get iOS release also (like Zbrush?) or something else? Sorry, coding is not my area of knowledge :)

This has nothing to do with iOS getting ZBrush. ZBrush won't be written in Swift. They'll stick to C++ with interfaces to the native platform it's on and that is ObjC via ObjC/ObjC++ bridge and C#/C++ on Windows.

However, ZBrush on Mac will sooner or later have to port itself to Metal 2 API.
 

Doctor Q

Administrator
Staff member
Sep 19, 2002
39,794
7,534
Los Angeles
Swift 5's major focus is long-awaited ABI stability (Application Binary Interfaces), and Kremenek goes into detail on how ABI stability was ultimately implemented and what changes needed to be made for Swift to become ABI stable.
A detail worth noting:

ABI stability in Swift 5 applies only to the Apple platforms (iOS, macOS, watchOS, tvOS).

ABI stability for non-Apple platforms is a future goal.​
 
Jul 4, 2015
4,487
2,551
Paris
All large deployed enterprise applications, graphics applications, Logic Pro X, Final Cut Pro X, etc., are in ObjC-ObjC++/C++/C

They are upgrades of upgrades of upgrades. It takes years to rewrite apps from scratch and only if completely necessary. If there's nothing wrong with legacy code then developers focus on priorities before doing rewrites in a new language.
 
Jul 4, 2015
4,487
2,551
Paris
Well swift makes it easy to rewrite Obj-C code piecemeal... I would not sit on decade old code... I would always learn form it and invest in modern code.

Yes, anyone in love with their trade should always keep their knowledge up to date. There are some developers so talented and so in love with code they can write Swift one day on a Mac and then write Basic the next day on a Commodore 64. Their vocabulary keeps expanding.
 
  • Like
Reactions: ingik

Freida

Suspended
Oct 22, 2010
4,077
5,868
This has nothing to do with iOS getting ZBrush. ZBrush won't be written in Swift. They'll stick to C++ with interfaces to the native platform it's on and that is ObjC via ObjC/ObjC++ bridge and C#/C++ on Windows.

However, ZBrush on Mac will sooner or later have to port itself to Metal 2 API.
And once its on metal 2 it means its cross platform compatible? (Apple wants all app to be like that, right?)
 

ipedro

macrumors 603
Nov 30, 2004
6,232
8,493
Toronto, ON
Can devs write Swift apps on iOS yet? I think that we should all expect Apple to release Xcode for iPad Pro (if not iOS in general) at WWDC. If Apple wants iPad to fully replace a computer, they’re going to have to enable developers to program on it. It’s about time.
 
  • Like
Reactions: AdonisSMU

Timemaster

Suspended
Feb 7, 2019
156
113
What does this mean for average Joe? Does that meant that more apps will get iOS release also (like Zbrush?) or something else? Sorry, coding is not my area of knowledge :)

In theory it should make the apps a little smaller as the swift libraries will not have to be bundled with the application. They will be housed on the device. It would be a lot like in Microsoft you are required to have installed .net version x.x min. As long as you have the minium version you can run anything complied in it as your machine has those required libraries installed to read the machine code.
 

Doctor Q

Administrator
Staff member
Sep 19, 2002
39,794
7,534
Los Angeles
In theory it should make the apps a little smaller as the swift libraries will not have to be bundled with the application.
I expect the savings to be significant, especially for small apps. And the savings will increase over time as the built-in library grows.
 

az431

Suspended
Sep 13, 2008
2,131
6,122
Portland, OR
FYI, the Highest-Perf apps in the iOS App Store are (still) written in an mix of Objective-C & "C".

What does that even mean? If you mean they are popular apps, that's a poor metric to judge a programming language.

And how do you know what each app is written in?
 

KALLT

macrumors 603
Sep 23, 2008
5,361
3,378
I expect the savings to be significant, especially for small apps. And the savings will increase over time as the built-in library grows.

I don’t think it will be that significant. A Swift-based Mac app typically has between 10–15 MB worth of libraries. Depending on the number of Swift-based iOS apps a user has, they will maybe save a few hundred MB at most. Considering that the size of iOS firmware itself has increased considerably in recent years, I doubt that there will be a trade-off at all.
 

az431

Suspended
Sep 13, 2008
2,131
6,122
Portland, OR
All large deployed enterprise applications, graphics applications, Logic Pro X, Final Cut Pro X, etc., are in ObjC-ObjC++/C++/C

Those apps were written before Swift existed. It makes zero sense to rewrite an app in Swift if the only reason is to switch programming languages.
[doublepost=1551212583][/doublepost]
Can devs write Swift apps on iOS yet? I think that we should all expect Apple to release Xcode for iPad Pro (if not iOS in general) at WWDC. If Apple wants iPad to fully replace a computer, they’re going to have to enable developers to program on it. It’s about time.

We've been developing iOS apps with Swift since 2014. Programming language has zero relevance to the concerns you noted.
 

az431

Suspended
Sep 13, 2008
2,131
6,122
Portland, OR
Well swift makes it easy to rewrite Obj-C code piecemeal... I would not sit on decade old code... I would always learn form it and invest in modern code.

Code is not like milk. It doesn't go bad after a certain amount of time.
[doublepost=1551212910][/doublepost]
IMHO, Swift is a colossal mistake. They should have continued improving Objective-C instead of indulging in what amounts to a compiler programmer's pet project.

That statement shows you know very little (nothing) about software development.

Swift reduces the time to create an app by nearly half, and reduces the complexity of the code. Swift code also runs faster than objective-c code, especially in math intensive functions. It also takes advantage of memory management functionality that is absent in Objective-C.

There is no way to "improve" Objective-C to make it equivalent to what Swift is today.
 

kelvin.lau

macrumors member
Jan 22, 2019
37
36
FYI, the Highest-Perf apps in the iOS App Store are (still) written in an mix of Objective-C & "C".

That's cuz the developers don't have time to rewrite the application. The highest performance apps have years of code written for it and rewriting it in another language would be a colossal time sink.
[doublepost=1551213377][/doublepost]
Code is not like milk. It doesn't go bad after a certain amount of time.
[doublepost=1551212910][/doublepost]

Depends on your perspective. The app would be usable in its current state for a very long period of time, but it will get increasingly harder to find qualified people who can maintain it as time goes on.

Imagine a codebase that was written back in 1980s. The paradigms and language features that were used back then is vastly different from what you would do now.
 
  • Like
Reactions: MEJHarrison
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.