News for hackers. Stuff that matters.
Re:Swift 4.1 Released by giancarlostoro on Thursday March 29, 2018 @08:26PM (#16712545)
Tooling outside of Mac I imagine is lacking as well. I also asume libraries outside of Mac too? Strong standard libraries make languages easier to adopt. Go had a web server out of the box removing the whole "which web library do I use?" element out of the equation.
Re:Swift 4.1 Released by OberstKrueger on Thursday March 29, 2018 @08:55PM (#16712718)
Swift outside of Xcode hasn't been the best of experiences even on macOS. Swift Package Manager works well from the CLI(although the Rust compiler's error messages have spoiled me), but using other editors usually requires some sort of sacrifice. A lot of them have inconsistent code completion if any at all, or no debugging or inline error messages. It's not bad for working with small Swift scripts, but working on a bigger project without those tools isn't great.
Re:Swift 4.1 Released by Mayzie on Thursday March 29, 2018 @11:05PM (#16713390)
> Swift outside of Xcode hasn't been the best of experiences even on macOS.

Even _in_ Xcode it's quite horrible. Only supporting the one major version of Swift bundled with Xcode and forcing old projects to upgrade? Horrible.

Re:Swift 4.1 Released by plorkyeran on Thursday March 29, 2018 @11:29PM (#16713471)
Xcode 9 supports two major versions and it seems likely that that will continue.
Re:Swift 4.1 Released by saagarjha on Thursday March 29, 2018 @08:47PM (#16712665)
Swift on Linux has access to a substantial portion of Foundation as well as any other C libraries, such as libc.
Re:Swift 4.1 Released by ttflee on Thursday March 29, 2018 @10:14PM (#16713133)
There are a lot mismatches.

For example, I reported a bug about CFRunLoopMode, where the original C-based CF used a comparison of pointer address to determine the equality of two run mode names. The original C version actually compared using the identity rather than equality as the commonModes was defined as a static CFStringRef (CONST_STRING_DECL(kCFRunLoopCommonModes, "kCFRunLoopCommonModes")). Of course this is an optimization for speed on Mac but this is, unfortunately, not supported in Swift and its replication of CF, because in Swift it has to be a public static String. As for today you cannot use commonModes in Linux.

Re:Swift 4.1 Released by saagarjha on Thursday March 29, 2018 @10:29PM (#16713208)
Unfortunately Apple still considers (Core)Foundation to be outside the auspices of Swift Evolution, which makes getting issues like these fixed much harder.
Re:Swift 4.1 Released by Redoubts on Thursday March 29, 2018 @11:18PM (#16713436)
Yeah, but a good chunk of it throws Not Implemented exceptions at runtime too.
Re:Swift 4.1 Released by saagarjha on Thursday March 29, 2018 @11:21PM (#16713440)
That’s why I qualified my statement with “substantial portion”.
Re:Swift 4.1 Released by tyingq on Thursday March 29, 2018 @08:34PM (#16712594)
Ahh, yes. That makes sense. No batteries included.