That is sorta how I feel. Regardless how people feel about Swift. Having dabbled in Swift over the past couple of weeks, getting paid to sling C# and doing Rust in my open source work, Swift feels like a perfect mix between C# and Rust. You want C#, but some of the niceties of Rust. Or you want Rust with some of the niceties of objects on C#.
yeah agreed.
It just feels like it’s going to be hard for it to escape people’s hesitation due to the level of Apple influence/control.
I wonder why golang didn’t seem to experience the same issue
Speaking only for myself, I’ve tried to learn Swift but you really need to be developing an app on an Apple OS to be able to get practice on the breadth of the language.
Go, by comparison, can be learned in a couple of days, and it’s trivial to build a useful CLI with it.
So from my perspective, the barriers to entry for Swift are much higher, but it’s mostly due to the domain rather than the sponsor.
There are some things in Swift that definitely are not as easy going as on Golang. Swift I think, at least offers a good starting point (the bits are there), but it is so hard to find good Swift documentation or blog posts that are not centered around the idea of making an iOS app. Even trying to find decent blog posts where someone shows off or talks about writing command line macos apps is virtually non-existent. Swift for sure, has the building blocks to do it, but you really gotta dig to find that stuff.
As an example. I have been dabbling with controlling my Roku from a watchOS app. Roku devices respond to a call on 239.255.255.250:1900 with a SSDP packet over UDP. Try finding good and recent tutorial on doing UDP programming and it is non-existent.
Yeah, I guess that’s my point. Most people use Swift for building apps, but anything else like servers or CLIs and all the tutorials go nowhere, because… most people use Swift for apps.
So yeah I had a similar experience. And Go is much more aligned with my use cases so hints are everywhere.
To be clear I still want to learn Swift. But the time investment is much, much greater.
that's fair, I was thinking of it more as an "easier alternative to Rust" than "is it any harder to learn than Go", which puts things in a very different frame :)
Not for all cases, sure. It would be challenging to write an OS kernel or low level device firmware in Swift, but for a lot of other use cases it is absolutely a viable alternative to C and C++.
Apple is doing exactly that. They’ve already shipped stuff written that way. I think the Secure Enclave code is now Swift.
I’m pretty sure they have extra stuff on top at the moment to help them write ultra-strong/safe code that the released language doesn’t support directly yet.
But they are moving in that direction. Just because most people use Swift as a language where they don’t have to worry about memory allocation and with the large standard library doesn’t mean that’s all it can do.