4 ms·
They explain what other languages they looked at: https://github.com/tensorflow/swift/blob/master/docs/WhySwiftForTensorFlow.md https://github.com/tensorflow/s
by cwyers 7y ago
They explain what other languages they looked at:
https://github.com/tensorflow/swift/blob/master/docs/WhySwiftForTensorFlow.md https://github.com/tensorflow/swift/blob/master/docs/WhySwif...
Presumably Kotlin wouldn't work for the same reasons they excluded Scala and Java and C#.
(I think that either of C++ or Julia would have probably made better choices, given what they spell out here, but they put a lot more thought into what language to use than most HN commenters seem to give them credit for.)
- newen 7y agoSwift was chosen because Chris Lattner is leading this project (Chris Lattner designed Swift). This explanation is clearly just a token justification for having chosen Swift.
- cwyers 7y agoThe charitable way of looking at that is Chris Lattner is leading this project because the project requires certain things Lattner has experience with, and therefore the language he designed is one that meets all their criteria. Now, it's possible that they were less objective about the language choice than they believe themselves to be, but they certainly have thought about it an awful lot, and they deserve some benefit of the doubt, unless you can demonstrate what of this justification is untrue.
- newen 7y agoJulia is clearly a better choice. No one in the ML world even knew what Swift was before this.
- deleted 7y ago[deleted]
- FridgeSeal 7y agoThey full on brushed off Julia with hardly a justification. It’s the strongest contender and got hardy a mention. They just dismiss it on the grounds of “oh uuuh there are...aren’t many libraries or something”, nevermind the fact that Julia’s data science and ML ecosystem is far more developed than Swift’s is. Moving TF to Julia would have killed 2 birds with one stone: community size and outright number of packages would have both been fixed as a community grew up around TF in Julia.
- pjmlp 7y agoAnd at least I can enjoy Julia as pure Windows programming language.
- orbifold 7y agoJulia compares very unfavourably to both Python and Swift: Slow startup time (unpredictable JIT compiler lag), terrible error messages and stack traces, duck typing misrepresented as type checking. I've tried using it for what it is meant for (numerical code / ODE solving etc.) multiple times now. It performs admirably in that domain. But no ten horses would make me use it for anything else. Machine learning needs to be fully integrated into the larger language ecosystem. You can easily imagine developing a large scale software product in Swift, not so much in Julia (even less so than in Python). Julia is probably a Nightmare to develop in once you have more than 10 people working on the project. The internal structure of Julia's compiler is also a mess compared to the Swift compiler. You could easily imagine building a compile service / large scale build system / tooling for swift, not so much for Julia. Plus they were able to easily extend the Swift intermediate language in the way they wanted to, while there is no comparable abstraction in Julia. The Swift compiler also fits neatly into the C++ based ecosystem that Google has.
- cwyers 7y agoIt's possible that it's less effort for a top notch compiler developer to come in and fix Julia's compiler than it is to give Swift the data science ecosystem that Julia is building. I have little experience with it, but it's a question of tradeoffs.
- sandGorgon 7y agoKotlin isn't mentioned there (I'm on a phone, so please correct me if I'm wrong), unless it is being lumped in with "java". Also, Kotlin/native is fully compiled.
- blub 7y agoThe fact that it didn't even make the list should give you a clue that Kotlin is not a particularly relevant language outside Android apps, where it's poised to become important. Who knows, maybe in 5 years it will make the list.
- sandGorgon 7y agoAnd swift is very popular on server side ? On an overall basis, here's Github's official stats - check the growth of Kotlin vs Swift : https://github.blog/2018-11-15-state-of-the-octoverse-top-programming-languages/ https://github.blog/2018-11-15-state-of-the-octoverse-top-pr... Here's my claim - Kotlin simply BLOWS AWAY Swift when it comes to server side https://engineering.khanacademy.org/posts/kotlin-adoption.htm https://engineering.khanacademy.org/posts/kotlin-adoption.ht... https://medium.com/insiden26/5-reasons-why-n26-is-moving-to-kotlin-f920b184ab58 https://medium.com/insiden26/5-reasons-why-n26-is-moving-to-... https://devcenter.heroku.com/articles/getting-started-with-kotlin https://devcenter.heroku.com/articles/getting-started-with-k... https://twitter.com/yogurtearl/status/1012551386536394753 https://twitter.com/yogurtearl/status/1012551386536394753 https://medium.com/@napperley/kotlin-server-side-adoption-d160ede1877c https://medium.com/@napperley/kotlin-server-side-adoption-d1... https://blog.jetbrains.com/kotlin/2018/11/ktor-1-0/ https://blog.jetbrains.com/kotlin/2018/11/ktor-1-0/ https://pusher.com/state-of-kotlin https://pusher.com/state-of-kotlin
- pjmlp 7y agoIt might turn out, given IBM's support. Kotlin is pretty much a thing on Android, and only because Google doesn't bother to support anything beyond Java 8. Outside Android we get to enjoy Java's improvements.