Live data from Hacker News

The State of Go

talks.golang.org

81–90 of 172 posts

Re: The State of Go

#81
post #50
post #32

Earlier quoted context omitted.

Go gets compared to Rust because go was originally labeled a "systems" language. But the designers had a different older view of what "systems" meant than what is commonly used to day. People heard systems and thought they meant low level/operating system/embedded systems. That is not what Go is good for because it's garbage collected. They also planned to attract C++ programmers, but they've basically been attractin…

Yeah, additionally it would be unwise to use Go in embedded systems because it is so reliant on heap memory for dynamic allocation. In certain situations where things could fail if an operation takes too long - rocketry and robots - it would be difficult to tell how long something would take in Go with any degree of certainty because allocating and freeing memory on the heap is highly non-deterministic.

This particular link has some info about that situation. GC pauses are deterministic starting Go1.5. Application code will run for at least 40ms out of every 50ms. The upper limit for the GC pause is 10ms and its typically lower.

Re: The State of Go

#82
post #41

"Go 1.5 provides support for Android and experimental support for iOS." I thought this day would never come.

I've been using Go 1.4 for iOS development and it works fine. This is just mainstream'ing the support for iOS, which is needed now because things seem to be quite settled.

In fact, I really like using Go on iOS - the ease with which it can be done was astonishing!

Re: The State of Go

#83

Earlier quoted context omitted.

I wonder how Go can be better than Swift for iOS development.

It may not always be better since you'll likely never be able to call from Go into Cocoa libs, but if you can write a shared library and use it on the server, iOS and Android, then it's a big win. Linking a Swift app against the shared Go library and calling directly from Swift into Go sounds pretty great to me.

>call from Go into Cocoa libs

It can be done, thus:

    #cgo LDFLAGS: -Wl,-U,_iosmain,-U,_PopUpDialogBox


Any developer who wants to do this needs only to create these #cgo statements for whatever Cocoa API they want to use, and they become available from the Go context ..

Re: The State of Go

#85
post #2

Nice little change in syntax. m := map[Point]string{ Point{29.935523, 52.891566}: "Persepolis", Point{-25.352594, 131.034361}: "Uluru", Point{37.422455, -122.084306}: "Googleplex", } may now be written as: m := map[Point]string{ {29.935523, 52.891566}: "Persepolis", {-25.352594, 131.034361}: "Uluru", {37.422455, -122.084306}: "Googleplex", }

I'm puzzled about the asymmetry of the syntax. What's the reason behind map[Point]string as opposed to something more symmetrical?

makes little sense but since go doesn't have user defined parametric types, it makes no difference.

Now I wish I had 1 million dollars and a better brain to work full time on a proper language that would fix go's issues. What a missed opportunity to create something everybody would be comfortable with. It could have been the biggest language of the next 20 years in webdev, CSP is a great concurrency model. At least it will inspire some people in the future I hope. Rust is cool but doesn't have CSP builtin.

Re: The State of Go

#86

Earlier quoted context omitted.

I wonder how Go can be better than Swift for iOS development.

It may not always be better since you'll likely never be able to call from Go into Cocoa libs, but if you can write a shared library and use it on the server, iOS and Android, then it's a big win. Linking a Swift app against the shared Go library and calling directly from Swift into Go sounds pretty great to me.

> It may not always be better since you'll likely never be able to call from Go into Cocoa libs

IIRC, Go can call any Objective-C code through cgo.

Re: The State of Go

#87
post #75
post #32

Earlier quoted context omitted.

Go gets compared to Rust because go was originally labeled a "systems" language. But the designers had a different older view of what "systems" meant than what is commonly used to day. People heard systems and thought they meant low level/operating system/embedded systems. That is not what Go is good for because it's garbage collected. They also planned to attract C++ programmers, but they've basically been attractin…

Can you elaborate on the different meanings of 'systems programming'? I just thought it meant OS development.

The "systems" in "systems programming" can also be interpreted to refer to Google's systems. After all, Go was designed to solve Google problems in a Google environment. That's how I always understood it.

Re: The State of Go

#88
post #14

Earlier quoted context omitted.

You created a burn account just to complain about this? As you know, generics won't appear before 2.0, if ever. It's fine if that's a nonstarter for you. Perhaps you'll like Rust instead. It needs a big community too.

Why Rust? It doesn't really compete with Go anywhere. Haskell is a much stronger player in the space of high-level, garbage-collected languages. The only thing Rust and Haskell really have in common is not willfully ignoring the last 50 years of programming language design research.

> Why Rust?

Whenever Go is mentioned, Rust has to be mentioned somewhere in that same thread. And vice versa. It's practically law.

Perhaps a good indication that the debates tend to be more fashion-driven then about technical points (when the discussion is about new languages itself, that is of course reasonable though).

Re: The State of Go

#89
post #66

Earlier quoted context omitted.

The same was true during the Microsoft Build event, the difference was that a lot of Microsoft employees registered a new (green) HN account. Not that I'm complaining but it looked more like a coordinated effort than Go language which has minimal PR from Google but is used by many devs around the world and is very big in Asia.

There are a lot of MS employees on HN normally, no need for green accounts. Also, where is Go popular in Asia? I haven't heard much about it in China (it isn't a resume point yet).

Go seems to be getting really popular in India (More than other new languages like scala/clojure/elixir that is) . We had a GopherCon earlier this year and some large e-commerce companies now use Go in their stack.

Re: The State of Go

#90
post #69
post #43

Earlier quoted context omitted.

I seriously was wondering if Go would ever replace Java on Android because of legal troubles. I'm still wondering.

That will happen as soon as Android team decides to scrap all development of Android and rewrite it in Go.

It could also happen that ChromeOS and Android merge with Go as native language and HTML5 apps as another first class citizen.

I read in then news that iOS9 will use Swift in some internal apps/libraries too (major internal rewrites?).

Post reply on HN