3 ms·
Thanks for your thoughts and for the additional info. > At the same time, I do wonder if there's an irrational component to the reticence around Swift for Tens
by wenc 8y ago
Thanks for your thoughts and for the additional info.
> 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'm sure there's some of that, but my feeling is -- and I speak only for myself and maybe some in my tribe -- that it isn't so much the perception of Swift as a proprietary language but more that it isn't a language designed for DS/ML/applied math and maybe the Swift community doesn't really get our needs, whereas Julia is and does. Python feels like the latter too -- it was swiftly adopted in DS/ML because it was already used heavily in scientific computing, which is part of the same family.
The community vibe alignment isn't quite there with Swift -- it has no history in numerical computation and it came into the scene because a team at Google said so, whereas Julia and Python grew organically from the communities that do the same work we do, and were trying to solve the same problems we were. There's skin in the game and a kind of depth as it were.
But it's just a feeling. I will leave it at that.
- skohan 8y ago> The community vibe alignment isn't quite there with Swift -- it had no history in numerical computation and it came into the scene because a team at Google said so, whereas Julia and Python grew organically from the communities that do the same work we do, and were trying to solve the same problems we were. There's skin in the game and depth as it were. It's an interesting perspective, and I think my own tribal bias as a software engineer plays in to my gut feeling on the topic. To me it's natural to see it in these terms: who's going to make a better saw: a metal worker or a wood worker? The woodworker might know exactly what he wants out of a saw, but the metal worker is a heck of a lot better making things out of metal. But that's just my biased opinion.
- wenc 8y agoTo use your analogy: A good saw is spec'ed by a woodworker and made by a metalworker. A great saw is made by a metalworker who is also a woodworker. This latter bit is true for the Python community, at least for the people and companies who write DS/ML tooling in Python. Excepting hobbyist/academic tooling, Python has some really high-quality DS/ML tooling built by people who know software and the problem domain. Julia seems to following the same path though it's not as far along as Python, but from what I've seen, Julia folks are numerical computation folks who also really understand software. At present, Swift is like a metalworker who's seen saws used by woodworkers but isn't really into woodworking (yet) and doesn't have a whole lot of experience with the woodworking craft.
- skohan 8y ago> A good saw is spec'ed by a woodworker and made by a metalworker. So this is what I see in the TensorFlow for Swift project. If you look at the core contributors, you have a team of ML experts, as well as the original creator of the language. It still remains to be seen how it will go, but it seems like the right group of people to go about this effort. > Python has some really high-quality DS/ML tooling built by people who know software and the problem domain. See that's where you lose me a bit. There is a lot of really exceptional work done in Python, but in my view that's in spite of the language. Python strikes me as as a language which has been adopted in the scientific community because it's low barrier to entry makes it approachable to non-expert programmers, but comes up lacking when compared to modern programming languages. Between the version fragmentation, environment management, type system and the nature of runtime errors there are a lot of pain points which are already solved problems in other languages. When I have to work in Python, I am not particularly happy to do so. Maybe Julia solves these problems. But I also wonder whether the scientific/ML community really knows what they're missing.