logoalt Hacker News

frizlabtoday at 11:17 AM2 repliesview on HN

That was true for Swift 2, maybe a little for Swift 3, but it has not been true since a long time now…


Replies

ethintoday at 12:29 PM

In a way it still is true. Swift works on Windows and Linux until it doesn't. It's taken until a couple years ago for other build systems to get swift support (which I suppose is the fault of said build system, but Swift taking so long to be cross-platform contributed to that), and even now it (still) doesn't quite work right. C interop is a mess requiring hacks to generate clang modules to actually get Swift to see them (and CMake for example provides no easy way of doing this, or last time I checked it didn't). Oh and Swift tends to take over the linker and compilation pipelines when you enable it, at least with CMake, because... Reasons? I honestly don't know why. It causes very weird errors when I integrated Swift code into my C++ project that were a pain to actually diagnose. I eventually got it working, but still, it wasn't simple or seamless.

hu3today at 12:02 PM

If cross platform support took so long, it's a major red flag.

Plus Swift is arguably too unnecessarily complex now.

And there's Rust/Zig so why use Swift for low level?

show 1 reply