Swift vs Go

In many respects Swift and Go both feel like they are motivated by the same desires of having a modern, succinct, simple, safe, and fast programming language for everyday use. So here is a superficial comparison (the differences are bolded):

Go
1 Inferred static structural typing
2 Structs and interfaces
3 Fast compilation
4 Native binary & scripting mode
5 Concurrency: channels
6 Garbage collection
7 Large standard library
8 Large corporate backer (Google)
9 Open source
10 OS level access
11 C interoperability

Swift
1 Inferred static nominal typing
2 Structs and protocols
3 Compilation speed TBD
4 Native binary & scripting mode
5 Concurrency TBD: native/green threads/async-await/channels/actors
6 Automatic refrence counting
7 Large standard library
8 Large corporate backer (Apple)
9 Open source
10 OS level access
11 C interoperability
12 Generics
13 Enums
14 OOP fallback
15 Optionals (and other FP concepts)

Go has really taken off among people who traditionally used languages like Ruby, Python, Node.js but are looking for more safety and speed. I hope they take a look at Swift as it matures in the next few years.

 
307
Kudos
 
307
Kudos

Now read this

Allo, goodbye

Google introduced a new messaging app today called Allo. The app is fine by itself. It even has some thoughtful features around privacy and AI that were neat to see, but the issue is that none of these features are compelling enough to... Continue →