Live data from Hacker News

Winding down the Swift 3 release

thread.gmane.org

11–20 of 65 posts

Re: Winding down the Swift 3 release

#11
post #2

I wonder what the implications for Linux of the removal of "Portability" from the Swift 3 evolution/Readme.md [1] are? [1] https://github.com/apple/swift-evolution/commit/06b69a6e51a7...

It looks like Portability is not a core focus of the core team. It looks like IBM is doing a ton of the Linux compatibility work and has offloaded the core team.

(BTW, shameless plug, I send a weekly Swift newsletter here: http://SwiftNews.co)

Re: Winding down the Swift 3 release

#12
post #6
post #3

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? :)

Swift, most likely. Go I don't like the design, but I will always suggest it to anyone wanting a simple safe C like language. D, the community is great, but they still need to decide which direction the language is supposed to grow. Rust community and language are great, but I think they need to get into an OS SDK to really accomplish the goal of replacing C++. Swift is replacing C and Objective-C as the official sys…

There are also rumors that Google may be looking at using Swift as an alternative interface to android, that sounds a bit nutty, given that they have golang. But....

1) go is not a suitable candidate for android, as most of the api's are object orientated and involve subclassing sdk classes, which would be awkward and painfull on golang, but not so hard on swift.

2) they would pick up a bunch of companies and devs that are currently building high quality apps for iOS, if swift does succeed in abstracting the foundation classes and provide a reasonable abstraction of the UI classes, it would open up the potential of a universal "app" language, for Mac, Linux, android and iOS.

This may be wishful thinking, but it's worth pushing a few Braincells in that direction.

Re: Winding down the Swift 3 release

#13
post #11
post #2

I wonder what the implications for Linux of the removal of "Portability" from the Swift 3 evolution/Readme.md [1] are? [1] https://github.com/apple/swift-evolution/commit/06b69a6e51a7...

It looks like Portability is not a core focus of the core team. It looks like IBM is doing a ton of the Linux compatibility work and has offloaded the core team. (BTW, shameless plug, I send a weekly Swift newsletter here: http://SwiftNews.co )

Also, defining portability as "porting to UNIX-like OSes that LLVM supports", I don't think portability is a big problem to solve given the current state of Swift (no multi-threading support in the language).

For example, Swift was just added to the FreeBSD ports collection (http://www.freshports.org/lang/swift)

Re: Winding down the Swift 3 release

#14
post #10
post #9

Earlier quoted context omitted.

In the long run, Swift, IMO. It has all the advantages of Go but with a more expressive language, much better C interop and a platform that will create a community around it very quickly, the other day I saw somewhere that there are already more Swift books and courses than Go. Swift will also let you do everything Rust can, very low level stuff.

> 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

#15
post #3

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? :)

I've only used Golang and Swift fairly extensively with a cursory use of Rust. I'm also extremely biased because I'm an iOS engineer, so I'm going to advocate Swift. I really love Golang's concurrency model and the way the dependency system is implemented. It just seems like the Swift team is making more progress at a faster pace right now. The tools surrounding swift like the REPL are also extremely useful for education, documentation and examples.

Re: Winding down the Swift 3 release

#16
post #9
post #3

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? :)

In the long run, Swift, IMO. It has all the advantages of Go but with a more expressive language, much better C interop and a platform that will create a community around it very quickly, the other day I saw somewhere that there are already more Swift books and courses than Go. Swift will also let you do everything Rust can, very low level stuff.

Some key differences with Rust:

- Swift code can't be called from C code yet

- Swift has a runtime, Rust does not

Swift can't do everything Rust can, but I also don't expect it to be able to.

Re: Winding down the Swift 3 release

#17
post #9
post #3

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? :)

In the long run, Swift, IMO. It has all the advantages of Go but with a more expressive language, much better C interop and a platform that will create a community around it very quickly, the other day I saw somewhere that there are already more Swift books and courses than Go. Swift will also let you do everything Rust can, very low level stuff.

i think that as long as swift doesn't have a proper official concurrency model, we can't really know how good it will be as a go competitor on the server side.

Re: Winding down the Swift 3 release

#18
post #3

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? :)

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 to be a very productive language, particularly since it's okay without IDE support.

Since this is a Swift thread, I will say that I like Swift except for the parts that are clearly there to interact with Objective C. I have no interest in doing apple os interface development but I'll be seeing how it goes as a server development language when the 3.0 preview happens in June. If Rust for all things doesn't work, core Rust + Swift scripting is the planned fallback.

Re: Winding down the Swift 3 release

#19
post #10

Earlier 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 ?

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)

Re: Winding down the Swift 3 release

#20
post #3

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? :)

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 career move to learn it at the moment.

Post reply on HN