Hacker News new | ask | show | jobs
by skohan 2502 days ago
It's a fair criticism of Swift that it is not well supported across platforms. The story is getting better, but it is still miles behind Rust in this regard. I am a huge fan of Swift as a language, but I am very critical of the tooling.

> Modern Rust isn't difficult to use. This is becoming a really tired meme from detractors.

I beg to differ. I've been programming professionally for over a decade, and I have shipped projects in a variety of languages, and I can safely say that Rust has a steeper learning curve and requires more cognitive overhead to use than many other languages. I find it relatively nice to work with rust in spite of this because the tooling is so great, but it's undeniable that Rust has made tradeoffs which sacrifice ease of use in favor of safety and performance.

1 comments

The tooling for Swift 4 TF is not anywhere near satisfactory. I can't even seem to get it on my computer without installing XCode (and that's on an apple computer)

I should be able to pull a docker image and have s4tf immediately at my fingertips

Seems the Fast.ai forums have got you covered here. https://forums.fast.ai/t/swift-for-tensorflow-using-gpu-with... describes how to do it, while not completely 'at my fingertips' it's pretty close. and Googles repo at https://github.com/google/swift-jupyter has a clean setup, too.
I've come across that first link before, but remember I had some issues.

The two problems are a. I don't have a GPU locally b. I would rather have a compiler than just a REPL/jupyter

Not local, but you can start using S4TF immediately via Google Colab.

https://colab.research.google.com/github/tensorflow/swift/bl...

if I’m going to be developing, I need a compiler, not a REPL or a notebook. Haven’t managed to find that
The Dockerfile in the swift-jupyter repo is a superset of what you need. You could remove the lines dealing with jupyter and you'd be left with a Docker container with the s4tf compiler.

https://github.com/google/swift-jupyter/blob/master/docker/D...

Thank you - I will give that a try!