3 ms·
I've really enjoyed working in Go (coming from a PHP background). The language is simple, and most of the time, code that's written in Go is just as readable/un
by cweagans 8y ago
I've really enjoyed working in Go (coming from a PHP background). The language is simple, and most of the time, code that's written in Go is just as readable/understandable months or years later as it is on the day you wrote it. It's a really enjoyable experience. I don't think it's a particularly good choice for GUI applications on any platform though. I've been down that road and it's pretty painful. For that, I'm learning Rust.
- kim0 8y agoWish Go would get flutter bindings! How good is rust for gui bindings though
- cweagans 8y agoI'll preface this by saying that I'm super new to GUI programming in general, but my best guess at the problems that I've been having with Go are that GTK expects all the UI code to be single threaded, and the Go scheduler will just move stuff around to different threads as it sees fit. In practice, this ended up being just one giant function with all of the handlers inlined as anonymous functions. Really gross. My troubles could also stem from lack of understanding of Go internals too. In Rust, my understanding is that it's a bit more like C or C++ in that multithreading requires an explicit opt-in and you can be a bit more thoughtful about what workloads are running on what thread (i.e. lock gui to one thread, do background processing elsewhere). This also looks pretty neat: https://azul.rs/ https://azul.rs/ Not sure about the state of it, how useful it'll be, etc, but it already looks more complete than most GUI libraries for Go.