CommentComment

The recent survey I did reminded me that, when you work with Swift every day, it can be easy to see only its complexities.

A friend took delivery of one of the new M4 Mac mini machines this week, and I was curious how its performance would stack up against my 2021 M1 Max MacBook. I thought that building the Swift Package Index source code would be a reasonable real-world test. At least that's my real world! He's not a developer, though, so he wouldn't have Xcode or other developer tools immediately available.

It made me think about the bare minimum amount of software that is necessary to get a Swift project up and running. The instructions I needed were so simple: install Xcode from the App Store, paste a git checkout command into a terminal, open the package manifest, and build. That's quite remarkable, especially when you compare it to other software development environments¹.

It gets better if you want to do more than a speed test, too. Have someone download and install Swift Playgrounds and they'll be writing Swift within minutes. You won't need to know about Swift concurrency, generics, macros, or any other advanced language features. Upgrade that environment to Xcode and look at some SwiftUI code. It's clear and readable.

Anyway, I thought I'd remind you all, as I reminded myself, that it could all be so much worse. It reminded me to take a more optimistic view of things, and I thought that was worth sharing.

Oh, and if you're interested, the result of the speed testing was that the base spec of the M4 machine was about 30-35% faster than my M1 Max. Did I manage to keep my optimistic mood when I discovered that? Only just! 😂


¹ The only other environment I could think of that's this simple to set up would be C# development on Windows. The advantage in both cases is, of course, being the operating system vendor, but it's still impressive.

Dave Verwer  

News


Code



Design

Jobs

Staff Software Engineer - iOS @ NewStore – Join NewStore and be part of a forward-thinking team dedicated to crafting exceptional mobile experiences. We embrace TDD, pairing, and best engineering principles, fostering an environment where you can lead, inspire, and help shape the future of our iOS engineering culture. – Remote (within European timezones) with some on-site work (Germany, Netherlands, or United Kingdom)

Senior iOS Developer @ komoot – You’ll team up with six world-class iOS engineers, take over full responsibility for our iOS app, and develop diverse features for navigation, routing, social interaction, and content visualization that will make your work challenging and fun. – Remote (within European timezones)

 

Is your company hiring? You can advertise open Swift and Apple platform positions for free over on iOS Dev Jobs. No catch. Really, for free.

 

And finally...

What does %CPU mean, anyway?