|
|
|
|
|
by taharvey
2399 days ago
|
|
Swift is: 1) A fast general purpose systems language (like C++)
2) With high level semantics and usability (like Python)
3) With type system from functional programming (like Haskel)
4) With concurrent memory model (like Rust)
5) That uses compile-time analysis for static guarantees
6) That runs everywhere from CLI scripting to ML to App devlopment
7) With a huge user base (millions of devs)
8) And two large corporate backers (Apple & Google)
9) The developers include the originators of Rust and the developers of LLVM & Clang.
Thats a killer list. And Julia only addresses 1 & 2.It is further believed by the core group at Google and Fast.ai (and history) that the future must be a static type checked language to scale beyond the script-level experimentation of python to large application development where the lines between ML, application, and system development will blur. Its will also be critical to next-gen performance breakthroughs and heterogeneous computing. And the type system provides a fully hackable language for fast experimentation. Also Richard Wei, not Lattner, I believe initiated the project with his DLVM thesis... specifically because Swift was such a good fit and is so hackable. |
|
It's also not dynamic, which is almost a must-have for exploratory data analysis.
I will avoid a point-by-point rebuttal, mostly to avoid seeming too antagonistic, but Julia supports many of the other features on the list you provided, and (more importantly, for the case at hand) already has proven it's capability in the differentiable programming paradigm with Zygote.