Now, with swift 3 around the corner, I will ask some most experience fellow developers the following question. There is golang, swift, rust, dlang. If you will put some energy, what language will be, and why? :)
Winding down the Swift 3 release
21–30 of 65 posts
Re: Winding down the Swift 3 release
#22Earlier quoted context omitted.
Swift uses LLVM as backend, so as far as I understand it can generate standalone binaries. No ?
All languages add a bit of code to a binary to make the code you write runnable. Rust [1] and C add almost none, language like Swift and Go have to add their GC support code even if it's in the same binary, and jit+scripting languages generally come with an external runtime. [1] https://www.rust-lang.org/faq.html#does-rust-have-a-runtime (also mentions what's in the C runtime)
IIRC, Swift's runtime is like C++'s with v-table lookup for dispatch on functions that do not involve Objective-C objects.
Re: Winding down the Swift 3 release
#23Now, with swift 3 around the corner, I will ask some most experience fellow developers the following question. There is golang, swift, rust, dlang. If you will put some energy, what language will be, and why? :)
I've been putting time into Rust. There will always be a need for a C-level language and I think Rust has a strong long-term future. The language as it exists today isn't going to be my all-purpose default but it might be. There are a couple major ergonomic wins coming (trait-based exception handling, impl trait) and a set of first-party language services for IDE support. I think IDE-supported Rust has the potential…
> trait-based exception handling
I'm obligated to mention that Rust isn't growing an exceptions system, that RFC was just poorly named. :PRe: Winding down the Swift 3 release
#24Earlier quoted context omitted.
> Swift will also let you do everything Rust can, very low level stuff. Not quite. Swift requires a runtime, so you probably won't see people writing OS kernels in Swift.
Swift uses LLVM as backend, so as far as I understand it can generate standalone binaries. No ?
Re: Winding down the Swift 3 release
#25Earlier quoted context omitted.
All languages add a bit of code to a binary to make the code you write runnable. Rust [1] and C add almost none, language like Swift and Go have to add their GC support code even if it's in the same binary, and jit+scripting languages generally come with an external runtime. [1] https://www.rust-lang.org/faq.html#does-rust-have-a-runtime (also mentions what's in the C runtime)
Swift doesn't have a GC and you can use it to program like C with malloc and free via UnsafeMutablePointer . IIRC, Swift's runtime is like C++'s with v-table lookup for dispatch on functions that do not involve Objective-C objects.
(For the record, I believe Chris Lattner is on the record as saying "yes, Swift has a runtime, let's not bother arguing that point" though I can't find the link, but I agree that Swift's runtime is less invasive than most other languages (e.g. Go).)
Re: Winding down the Swift 3 release
#26Earlier quoted context omitted.
All languages add a bit of code to a binary to make the code you write runnable. Rust [1] and C add almost none, language like Swift and Go have to add their GC support code even if it's in the same binary, and jit+scripting languages generally come with an external runtime. [1] https://www.rust-lang.org/faq.html#does-rust-have-a-runtime (also mentions what's in the C runtime)
Swift doesn't have a GC and you can use it to program like C with malloc and free via UnsafeMutablePointer . IIRC, Swift's runtime is like C++'s with v-table lookup for dispatch on functions that do not involve Objective-C objects.
https://github.com/apple/swift/tree/master/stdlib/public/run...
Re: Winding down the Swift 3 release
#27Now, with swift 3 around the corner, I will ask some most experience fellow developers the following question. There is golang, swift, rust, dlang. If you will put some energy, what language will be, and why? :)
D isn't going to happen. Go is a wonderfully boring language. That's its technical strength and social downfall. Rust is the anti-Go. It's an adoption cult with a good language attached. Swift is pleasantly surprising me with its evolution and cross-platform direction. I'd recommend Rust, Swift or Go in that order. Personally I'm most interested in Go but I don't think it's the most useful intellectual exercise or ca…
Re: Winding down the Swift 3 release
#28Now, with swift 3 around the corner, I will ask some most experience fellow developers the following question. There is golang, swift, rust, dlang. If you will put some energy, what language will be, and why? :)
D isn't going to happen. Go is a wonderfully boring language. That's its technical strength and social downfall. Rust is the anti-Go. It's an adoption cult with a good language attached. Swift is pleasantly surprising me with its evolution and cross-platform direction. I'd recommend Rust, Swift or Go in that order. Personally I'm most interested in Go but I don't think it's the most useful intellectual exercise or ca…
I work mostly with networked services though, and Rust seems to have a bit of a comparatively (vs Go, Elixir) poor concurrency/async-io story so far -- though I am sure the libraries will come eventually.
Re: Winding down the Swift 3 release
#29Earlier quoted context omitted.
D isn't going to happen. Go is a wonderfully boring language. That's its technical strength and social downfall. Rust is the anti-Go. It's an adoption cult with a good language attached. Swift is pleasantly surprising me with its evolution and cross-platform direction. I'd recommend Rust, Swift or Go in that order. Personally I'm most interested in Go but I don't think it's the most useful intellectual exercise or ca…
can you give more details why dlang is not a good bet. I actually like the language and feature set :) I have the feeling that is to much noise on dlang, and they do not have a clear path, but still :)
Re: Winding down the Swift 3 release
#30Now, with swift 3 around the corner, I will ask some most experience fellow developers the following question. There is golang, swift, rust, dlang. If you will put some energy, what language will be, and why? :)
Swift for GUIs on OSX / iOS. Go for everything else. Haven't had much reason to play with Rust or D, but also haven't seen nearly as much of them in the wild...