Hacker News new | comments | ask | show | jobs | submit login

Super excited! I will totally be exploring Swift for quantitative work. Julia has been great so far, but a lack of good IDE tooling is making a large codebase difficult to navigate and keep clean. Python has even less type safety than Julia. Swift has a REPL! Go doesn't, and its lack of generics makes writing most algorithms very limited (there isn't even a matrix 32 library, just 64 bit). Java has horrible native interfacing. C# is pretty anemic on Linux. C++ has too many gotchas, slow compile, to feel productive. Bonus: Swift libs will probably be very easy to deploy on both Android and ios.



It is a huge step for Swift. Finally it is no longer the Apple walled garden and it will become a popular universal platform like Python or JavaScript, for sure. If you want to learn Swift, it is high time. Start with the huge collection of 300+ video tutorials at https://www.youtube.com/user/TheSwiftLanguage

Side note: Julia is great. Very easy to learn, blazing fast, powerful, general-purpose, works everywhere and even integrates well with C/Python/Fortran. As for the IDE, there is Juno based on LightTable, there is Sublime-Julia for Sublime Text, as well as Julia support for Atom.


You don't need an ecosystem? Swift does not have this, not for Linux at least.


I definitely need a tooling ecosystem, so I'll be waiting for good integration between IDEs and LLVM for Swift. Maybe Atom or VSCode will get there soon. For libraries, when I really need something, I'll wrap it myself using C FFI. It is very easy to pass C structs by value or reference between Julia and C. Go is not bad either and does a lot of static checking for me. Swift sounds like for value types it should be easy. Java is super painful with the marshalling back and forth.


some of us get by just fine in happy ecosystems that exist outside of linux.


yeah most of us.


> C++ has too many gotchas, slow compile, to feel productive.

Which raises the question: Why was the compiler for Swift written in C++? I know writing a compiler in C/C++ is probably an instinctual reaction at this point, but um ... what's the advantage of C++? especially if the language will become self-hosting?


LLVM is written in C++ and I'm assuming that the Swift compiler developers are also very familiar with C++. It's also fairly straight forward to write binding for any language to things written in C/C++. The latter makes it at least theoretically possible to build tools on top of the compiler. C++ is really the obvious and simple choice, that you can get away with without large discussion.

Also if it's actually planned to make Swift self-hosting, the language you write the initial compiler in matters even less. If you're throwing it away anyway at the first opportunity, who cares about a few imperfections?


Have you looked into F#?

It's been open source for a while and there is a very good ecosystem that exists already for it. Plus the language itself is a pleasure to use.


No, I haven't looked into it much. I've been hesitant to commit too much to the CLR family, but maybe with MS's new stance on open source, I'll give it a second look. I'm also more interested now in languages that can deploy on mobile, so as alternatives to Julia, I'm actively looking into Swift, Go, or just plain C++. Xamarin is pretty compelling but I'm considering options before being locked into a fairly expensive vendor.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: