by nnd on 2/10/19, 7:58 PM with 143 comments
by 3jckd on 2/10/19, 9:52 PM
Nowadays, it's difficult enough to convince people to drop e.g. MATLAB for R or Python for Julia (let's assume that there's some merit to it), despite them having excellent counterparts for almost everything. Swift's success in this domain depends solely on the adoption by developers/researchers/engineers. Unless they're just going to mostly use it internally (as Google is known to).
Which brings me to the last point - why on Earth would they pick Swift (apart from Christ Lattner being involved) when Julia was on the table? It ticks all their boxes and has more mature ecosystem for all things "data". Provided rationale is hardly convincing.
by elpakal on 2/10/19, 8:50 PM
by tanilama on 2/11/19, 1:10 AM
Swift for Tensorflow might work if the scope is to create a client side model definition loader natively for various TF models.
Nobody use Swift seriously for server side training, there is no point in doing so except to add swift to the list of language that claim to do deep learning but in reality nobody will consider them.
by kodablah on 2/10/19, 10:14 PM
by igotsideas on 2/10/19, 9:13 PM
by byt143 on 2/10/19, 11:22 PM
It's a superior platform to on which develop this sort of thing, and further along at that. Also easier to use.
by m0zg on 2/10/19, 9:13 PM
by gthippo on 2/10/19, 9:15 PM
by sjwright on 2/10/19, 8:54 PM
by tylerwhipple on 2/11/19, 2:58 AM
by mamcx on 2/11/19, 12:24 AM
Is TensorFlow "huge" in linux, windows, android? Because I also evaluate swift for my use case (https://www.reddit.com/r/swift/comments/8zb9y1/state_of_swif...) and decide instead on use rust mainly because the lack of solid support on non-apple platforms. However, after use rust for months now I still consider swift a better contender between performance/ergonomics than rust (rust is damm hard sometimes, and suddenly you could hit a trouble with above-average complications. I don't see how put this burden in a library to be used for more "regular" folks could work)
by solidsnack9000 on 2/11/19, 2:42 AM
On the one hand, we do want full access to the programming model exposed by the component -- its control structures, abstractions, everything else. One the other hand, these are mostly duplicated by our host programming language: it's going to have variable bindings, operators, iteration, conditionals and everything else. Doing an embedding like this is a way to expose most of the component's facilities without introducing a ton of "new syntax" in the form of combinators or having programs where a lot of the critical code is escaped in strings.
This same problem shows up in programming interfaces to RDBMSes. LINQ is a good example of the same embedding technique.
by victor106 on 2/10/19, 9:57 PM
by skwb on 2/10/19, 9:49 PM
I ask this because the number 1 reason my deep learning research group chose python was because of the extensive and interactive scientific plotting ability that's built into python jupyter notebooks. While our volume of analysis isn't on the scale of say a google/fb (primarily biomedical image analysis), the ability to easily visually debug the results is much more important for developing robust models.
by moocowtruck on 2/11/19, 2:01 AM
by lovasoa on 2/11/19, 4:23 PM
The lack of windows support is addressed in just two lines. Julia being an already established language in the domain of data science does not seem to be especially important to them.
I think the most honest part of the document is:
> because we were more familiar with its [Swift's] internal implementation details
by sometimesijust on 2/11/19, 11:48 AM
by mikkelam on 2/11/19, 3:44 PM
Side note, does anyone know the effort required to get various python based libraries running on swift? i.e. numpy, scipy, pandas and so on?
by adamnemecek on 2/10/19, 8:46 PM
by midgetjones on 2/11/19, 12:22 PM
by masha_sb on 2/11/19, 7:27 AM
by ramoz on 2/11/19, 12:19 PM
by xiaodai on 2/11/19, 8:12 AM
by hooloovoo_zoo on 2/10/19, 9:37 PM
by aaaaaaaaaaab on 2/10/19, 9:33 PM
Edit: I wonder if Swift could be replaced with Rust for iOS development?
by 5stospace on 2/11/19, 12:39 AM
They complain about C#/Java having "highly dynamic constructs" but correct me if I'm wrong but isn't swift also a GC/OOP like Java and C#?
I don't think Swift has any inherent objective advantages over c#.
I think it would have been a better decision to go with C# over Swift as Microsoft has a clear roadmap with the language and it is already supported on linux/mac/windows.