Remix.run Logo
hn-acct 19 hours ago

Do people actually believe that there are too many keywords? I’ve never met a dev irl that says this but I see it regurgitated on every post about Swift. Most of the new keywords are for library writers and not iOS devs.

Preventing deadlock wasn’t a goal of concurrency. Like all options - there are trade offs. You can still used gcd.

isodev 19 hours ago | parent [-]

> Do people actually believe that there are too many keywords?

Yes they do. Just imagine seeing the following in a single file/function: Sendable, @unchecked Sendable, @Sendable, sending, and nonsending, @conccurent, async, @escaping, weak, Task, MainActor.

For comparison, Rust has 59 keywords in total. Swift has 203 (?!), Elixir has 15, Go has 25, Python has 38.

> You can still used gcd.

Not if you want to use anything of concurrency, because they're not made to work together.

dagmx 18 hours ago | parent | next [-]

Most of your listed examples aren’t keywords though. They’re built in types or macro decorators.

saagarjha 18 hours ago | parent | prev [-]

Task and MainActor are types.

isodev 18 hours ago | parent [-]

So?

dagmx 17 hours ago | parent | next [-]

If you’re including types, you’d hit the many hundreds if not thousands in most languages.

It dilutes any point you were trying to make if you don’t actually delineate between what’s a keyword and a type.

jen20 18 hours ago | parent | prev [-]

So... they aren't keywords.

Swift does indeed have a lot of keywords [1], but neither Task or MainActor are among them.

[1]: https://github.com/swiftlang/swift-syntax/blob/main/CodeGene...

isodev 17 hours ago | parent [-]

I never said they’re keywords. Y’all way too focused on defending Apple at all cost.

saagarjha 9 hours ago | parent [-]

Replying to someone talking about keywords with a list of something that's not keywords, then retreating to "you are an Apple bootlicker" when someone points that out, is not a good look.