9 ms·
> almost no community outside the iOS platform. I would not say that's exactly true. There are a number of projects shipping server-side swift, and there is s
by skohan 8y ago
> almost no community outside the iOS platform.
I would not say that's exactly true. There are a number of projects shipping server-side swift, and there is some nice tooling for using Swift where you might otherwise use a scripting language. Personally I reach for it more and more for projects outside of mobile, and find that the non-iOS ecosystem has grown to feel very functional in the past couple years.
iOS is undoubtedly still the main use-case for Swift, but plenty of people are using it for other things.
- pjmlp 8y agoThose Swift server side projects, while nice, aren't something that matches up against Spring, JEE, ASP.NET, Yesod, Play, DropWizard, Actix, Revel,.... IBM helps with Kitura, but I am yet to see some real project worthy of news headlines deployed with Kitura.
- skohan 8y agoTo be fair, it's still relatively early days. If your test for whether a new technology is useful in a domain is that there is already a large, headline-making example use-case that exists, you will never adopt a new technology because someone has to be the first mover. The point is it is possible to deploy serious server-side software written in Swift, and people are already doing it. It's inaccurate to say that Swift is only useful for iOS projects. It remains to be seen whether Swift will find wide adoption, and a lot of that hinges on tooling support which needs a lot of work outside Apple platforms, but I think there is also too much of a tendency in the Software community to under-estimate Swift's potential usefulness as a general-purpose language because of its origins in iOS. I see that frequently in the tepid reaction to Swift for TensorFlow.
- pjmlp 8y ago> The point is it is possible to deploy serious server-side software written in Swift, and people are already doing it. Examples that you would care to share with us? Really serious examples, not the typical blogs and ToDo's done with Kitura I have seen at some conferences. For me, Tensorflow would be better served with Julia, given the target demographics. However if it helps Swift ever to be usable on Windows, then more the better.
- skohan 8y agoWell there is one example in this thread. Also a few links I was able to find with a quick search: ING is using it: https://m.youtube.com/watch?v=zJUMr0OkX2M https://m.youtube.com/watch?v=zJUMr0OkX2M And also this startup https://medium.com/@FlorianPfi/lessons-learned-using-server-side-swift-in-production-aae6b1fc4c20 https://medium.com/@FlorianPfi/lessons-learned-using-server-... So again not huge examples by any measure, but it’a not nobody.
- pjmlp 8y agoThanks for sharing.
- deleted 8y ago[deleted]
- wenc 8y agoTo the original point, yes, you're right. I see there's a nascent community, still fairly small outside the iOS community but it exists. But to add to my point... unfortunately, none of those are in the realm of numerical computation or anything remotely connected to the Tensorflow domain. If a Tensorflow user needed to interact with the ecosystem, it would seem that there's not much in place because the folks currently in the Swift community don't work in those fields, whereas Julia folks do. It's not just C interop, but the presence of mature dataframe libraries, a linear algebra layer (that doesn't involve direct calls to BLAS or Lapack), etc. Now that is not to say that with Google's backing, the community won't shift, but that will take time and uptake is uncertain, whereas with Julia that community alignment already exists. And the Julia community didn't start out being platform-centric, so it has a broader base. I use Windows at work (because bigcorp) and there's currently no officially sanctioned Swift I can install, but there's an official Julia binary. Again, not to put Swift down. It's just a very curious choice for Tensorflow is all.
- skohan 8y ago> It's not just C interop, but the presence of mature dataframe libraries, a linear algebra layer (that doesn't involve direct calls to BLAS or Lapack), etc. Actually I think thst's something which is very strong about the TensorFlow for Swift effort: it allows you to call Python out of the box, so all the Python tooling which is currently available to data scientists is immediately available. It seems the goal of the project is to allow users to immediately take advantage of the convenience of swift (especially the type system) in an incremental way, leaving most of their workflow intact. They're also already bringing a lot of numerical computing utilities into the language itself. It already has native linear algebraic operators like dot product built in, and automatic differentiation is coming. > I use Windows at work (because bigcorp) and there's currently no officially sanctioned Swift I can install, but there's an official Julia binary. So I currently experiment with it using Docker, which you could do on Windows. I know that's not as good as official support, but it is possible. Anyway, I haven't worked with Julia beyond playing with the REPL a bit, and maybe it would have also been a great choice for TensorFlow. At the same time, I do wonder if there's an irrational component to the reticence around Swift for TensorFlow based on the fact that people still identify it as a somehow proprietary language. I find it very nice to work with and I would be happy to use it in more places where Python is currently the main option. Also the TensorFlow team seems to be doing some very interesting things with it.