My impression is that almost all of the examples of the (future) power of Swift seem to rely not on the abstraction to higher levels, but on the diving into lower level details.
As a data scientist I try to avoid doing this. I only go low if I know there’s a big performance gain to be had.
Does Swift maybe help motivate me to dig into the weeds?
Does it help me recognize opportunities to improve my code that demand that I go low?
And, actually, all the discussion of search and genetic algorithms and differentiable programming suggests that the ideal is that I shouldn’t have to become expert in the details of multiple languages.
So…will adopting Swift make it necessary for me to learn more about the decades of C code that is available (on top of 100+ deep learning papers published every day).
Will it help me to make substantial improvements despite my (vast) ignorance?
Probably just showing my ignorance here, but I’m struggling to see how this makes my life easier or more effective…
This is a fantastic question! The power of Swift is that because as little as possible is built into the language (or the Swift for TensorFlow framework), this means that you can build or mix-and-match your use of libraries yourself, instead of relying on a pre-built “framework”.
The key advantage of this approach is that you can then use the best tool for the job, instead of being forced to use what’s currently available. While I expect we’ll have common sets of libraries that are designed to work well together, if you’re blazing the trail on a new domain, you aren’t stuck!