It took a long time for the machine learning eco-system around Python to develop. I believe that’s the case with Swift as well.
It took a long time for the machine learning eco-system around Python to develop. I believe that’s the case with Swift as well.
- FluxML[1] for machine learning
- Zygote[2] for differentiable programming
- Turing[3] for probabilistic programming
- Rich support for GPU[4]
https://github.com/tensorflow/swift/blob/master/docs/WhySwif...
Some previous discussions that mention the swift-vs-Julia decision: [1] https://news.ycombinator.com/item?id=19714622 [2] https://news.ycombinator.com/item?id=19884273
Either way, Swift's functional design around a type system has some compiler implications towards solving larger problems that Julia probably will struggle with as it moves forward beyond the goal of just being a faster Python.
If you take a language like C++, the "atoms" of the code like a Float32, are just hard coded intrinsics in the compiler. As such, they have no ontological meaning in relationship to a Float16, an Int32, or an Array of Strings. In Swift, a float is built from a set of proofs as equatable, hashable, Numeric, FloatingPointNumber, and etc. As related to Julia or Python, a static language built around these proofs, enable compiler's to provide "co-pilot" development assistance, guarantees at runtime, code validation.
Why is this important? With deeper knowledge, a compiler can optimize things in ways that weren't previously possible, extract graphs, and automate code execution in heterogeneous computing evironments.
A quote from your own link. So they admit Julia might be a good fit. The only argument they gave is the "small community size", which is wrong, because Julia data science and any other computational science community is way bigger to almost non-existent Swift one.
> picked Swift over Julia because Swift has a much larger community, is syntactically closer to Python, and because we were more familiar with its internal implementation details
So Julia could match well, but the team at Google determined that Swift was a better fit for their new TensorFlow platform.
> and because we were more familiar with its internal implementation details - which allowed us to implement a prototype much faster.
In any case, both Julia and Swift seem to be making good progress here and I wish them both the best.
How is Swift's syntax in any way similar to Python? Other than not having semicolons, they clearly belong to different language families and don't seem particularly similar. Is there some very specific feature they were referring to here?
Guessing the opposite rarely happens.