[conspire] Discord abandoning Golang for Rust (Feb 2020 piece)

Deirdre Saoirse Moen deirdre at deirdre.net
Mon Apr 5 10:17:55 PDT 2021


I found this a really interesting piece about the differences between Go and Rust in high-capacity use, and found it really interesting that Google stuck with that architecture given its limitations. Instead, the Discord team found Rust (a language developed by Mozilla) as higher performance.

Rust is the only language I haven't worked in where I'm interested in doing something, though I have no Rust use cases at the moment. I'm also fascinated that Rust's compilation is self-hosted, but Go's is not.

Swift, Apple's language, is frankly not intended to solve the performance problems in the way Go or Rust had. Rather, it's designed to be a more general-purpose language that is more appealing than Objective-C (which has been a barrier to adoption of the platforms). It also is designed to host the next generation UI tool for Apple platforms, SwiftUI.

When Apple was developing iOS, they made an Appkit-but-simpler that was more tailored for the platform, UIKit. Catch is, UIKit and AppKit are "a twisty maze of passages, all different," making code mostly not sharable between platforms. This has hurt Mac programming in particular, and a lot of the newer energy's been put into the UIKit platform, leaving differences between the two main platforms (with the third and fourth being watchOS and tvOS, respectively). Also, iOS is dividing into iOS (for phones) and iPadOS, which is more macOS-like in some ways. So Swift was essentially a unifying language for a fracturing landscape with a variety of screen sizes, orientations, and features.

I got hooked on Swift because of the adorable Swift Playgrounds app on the iPad (now also on the Mac): https://www.youtube.com/watch?v=A8QRKYrI8Ew (3 min video).

  Deirdre Saoirse Moen
  deirdre at deirdre.net

More information about the conspire mailing list