Live data from Hacker News

Winding down the Swift 3 release

thread.gmane.org

31–40 of 65 posts

Re: Winding down the Swift 3 release

#31
post #17
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.

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.

Isn't that what libdispatch is though?

Re: Winding down the Swift 3 release

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

Might be worth considering C# here too. The open-source cross platform tooling is new and still immature, but it's getting serious resources lately, with new language features (including more null safety) coming, cross platform IDE from Jetbrains in development, Mac / Windows / Linux / Android / iOS support, good concurrency features for server side development, JIT and AOT compilers + runtime, development mostly on github etc. They seem to be serious about making a first class cross platform language, I wouldn't be surprised if it displaces Java some in a few years.

Re: Winding down the Swift 3 release

#33
post #25

Earlier quoted context omitted.

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.

Swift's GC is in the form of pervasive reference counting for reference types with no automatic cycle detection. Though as we're demonstrating, calling this GC is contentious, it would be better if people weren't too lazy to type out "pervasive reference counting for reference types with no automatic cycle detection". :P (For the record, I believe Chris Lattner is on the record as saying "yes, Swift has a runtime, le…

Does saying 'ARC' not work for you? :)

And the Swift runtime is pretty minimal, mostly used for storing dynamic type information, dispatching protocol methods, generating (unspecialised) generic types, checking conformances etc. It's mostly used by the compiler to add the dynamic features of the language; for example, the compiler observes the lifetimes of variables and inserts retain/release instructions, which are lowered down to a swift_retain or swift_release calls on the runtime instance. These functions are implemented in the runtime and do the manipulation of reference counts and deallocation.

Re: Winding down the Swift 3 release

#34
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...

Portability is still a strong goal for Swift 3. I'll revise the page, thanks!

Re: Winding down the Swift 3 release

#35
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 )

I hope they suprise us during WWDC.

Most of the time im writing simple and small programms (on a windows machine) that manipulate data, interact with the web, or work with files.

I really liked Swift from the start. It has all the language features that I like. Sadly, with no Windows support, and Linux being only a second class citizen, I'm not motivated enough to spend a huge amount of time with Swift.

I also hope that they provide a documentation like Go. The Swift book is fine but the examples of the Go documentation in addition to the text, the easy navigation between packages/structs, and the aility to jump to the implementation helps a lot while learning the language.

Re: Winding down the Swift 3 release

#36
post #32
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? :)

Might be worth considering C# here too. The open-source cross platform tooling is new and still immature, but it's getting serious resources lately, with new language features (including more null safety) coming, cross platform IDE from Jetbrains in development, Mac / Windows / Linux / Android / iOS support, good concurrency features for server side development, JIT and AOT compilers + runtime, development mostly on…

And F#/other .NET languages.

As for displacing Java - this is never going to happen - I prefer .NET but soo many companies have invested man-milenias probably in to Java deveopment - it might losr popularity, especially with Oracle at the helm.

Re: Winding down the Swift 3 release

#37
post #30
post #5

Earlier quoted context omitted.

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...

Go for everything else? Swift is moving for everything too, with the cross platform support, IBM adoption, etc...

Cross platform is not yet there Swift 3. I don't know what to make of IBM adoption of Swift, maybe Websphere Business Component are still a thing and a Swift version might enthrall enterprise users. IBM is already bringing Go on s and z series and writing software in Go like full blockchain implementation.

Re: Winding down the Swift 3 release

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

Looking at it, and who is backing it and what support they have, I think Swift has a pretty good shot at being an "it" language for a while. Let's face it, Swift is the iOS programming language and it looks like IBM is putting some effort into porting it. Now, historically IBM and Apple are a bit hit and miss (with a lot more misses), but I think they will succeed with this one. I do wonder if IBM is getting a bit nervous about Java these days. If Swift had its own Rails or meant for a container deployment framework then things would be a lot clearer.

This does not come from a Swift fanatic as I view Swift as my next Transact-SQL. A language I will do work in and become very proficient, but I'm not loving it.

Re: Winding down the Swift 3 release

#39
post #17

Earlier quoted context omitted.

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.

Isn't that what libdispatch is though?

Is libdispatch part of the cross-platform Swift effort? AFAIK that's a Mac technology that isn't really used anywhere else.

Re: Winding down the Swift 3 release

#40
post #25

Earlier quoted context omitted.

Swift's GC is in the form of pervasive reference counting for reference types with no automatic cycle detection. Though as we're demonstrating, calling this GC is contentious, it would be better if people weren't too lazy to type out "pervasive reference counting for reference types with no automatic cycle detection". :P (For the record, I believe Chris Lattner is on the record as saying "yes, Swift has a runtime, le…

Does saying 'ARC' not work for you? :) And the Swift runtime is pretty minimal, mostly used for storing dynamic type information, dispatching protocol methods, generating (unspecialised) generic types, checking conformances etc. It's mostly used by the compiler to add the dynamic features of the language; for example, the compiler observes the lifetimes of variables and inserts retain/release instructions, which are…

I can see how you'd say that's minimal compared to languages with really huge runtimes — but do you really think it's minimal compared to C or Rust?
Post reply on HN