Re:What’s Coming in Go 1.13 [slides]
by LukeShu on Friday June 07, 2019 @08:11AM
(#20123728)
On a 6-month release-cycle, how much change do you want each release? (1.13 is scheduled to be released in August, following 1.12's release in February)
It's mostly not new number types, it's new number syntactic niceties.
As the guy who ends up maintaining the build tooling at work, I'm _very_ excited about a lot of the tooling changes:
- "Reproducible builds (independent of build path)" means 2 things to me: That customers building plugins for our product will no longer need to care about how our CI set GOPATH, and that I can drop hacks around the linker on macOS including timestamps (which would otherwise result in expensive Docker rebuilds)
- "Let 'go build' write many binaries" will let me adjust the build scripts to be faster, especially in mostly-no-op cases that my coworkers like to gripe about how slow it is.
Re:What’s Coming in Go 1.13 [slides]
by andy_ppp on Friday June 07, 2019 @08:22AM
(#20123811)
I just want Golang to become a language suitable for my needs; it could be if they added generics (meh) or much better first class macros support (please don't tell me go generate it's not even close).
Re:What’s Coming in Go 1.13 [slides]
by andy_ppp on Friday June 07, 2019 @08:14AM
(#20123759)
Sure, it’s just that Golang deliberately lacks features to create abstractions which means every time I look at it I’m disappointed.
It’s very frustrating how unstable and slow in terms of dev speed things are in the last THREE places I’ve worked (as a frontend with the backends all written in Golang). Go teams seem to rebuild everything from scratch and they never seem to understand micro services in the context of distributed systems. I mean we are doing microservices, Golang, grpc, cockroach dB and we have a few thousand users maximum. It drives me up the wall that this stack is so popular and the engineers championing it can’t deliver reliable software quickly in it... most of them can't even optimise queries in SQL and are concatenating strings together in SQL queries.
Take the Elixir ecosystem; I could outpace a team of three Golang engineers easily writing stuff in Elixir and my software would almost never crash or panic and be very flexible when changes were needed. Everything in Golang is calcified around current product requirements and a nightmare to change. So forgive me when I think Golang has a long way to go before it's something I'd want to use for anything but the smallest of command line tools.
Re:What’s Coming in Go 1.13 [slides]
by kc1116 on Friday June 07, 2019 @09:16AM
(#20124170)
Sounds like you worked with shitty backend engineers. I don’t understand how Go has anything to do with that. Nobody uses elixir bud, and saying basically “my software would be perfect” is a naive silly thing to say.
Re:What’s Coming in Go 1.13 [slides]
by andy_ppp on Friday June 07, 2019 @12:01PM
(#20125911)
I just think I've had this happen three times in a row, as if there is something likely to be wrong with the types of programmer who choose this technology.
I never said my code is perfect or bug free at all, you just made up a straw man to weaken my anecdotal evidence.
Re:What’s Coming in Go 1.13 [slides]
by apta on Friday June 07, 2019 @07:59PM
(#20129646)
> I just think I've had this happen three times in a row, as if there is something likely to be wrong with the types of programmer who choose this technology.
You can add a datapoint to that based on what I have experienced as well at an employer. Exactly what you mentioned, so much time wasted either due to reinventing the wheel, or because of language friction and it being way underpowered to model the problem at hand. I keep laughing that Java would have been a way superior fit in practically all fronts.
Re:What’s Coming in Go 1.13 [slides]
by signa11 on Friday June 07, 2019 @08:46AM
(#20123980)
imho, none of the mainstream languages are in such a state. from venerable C on one hand to Python to Rust to Erlang, even Fortran ! every single one of them is changing.
and, once again imho, this state of affairs is _exactly_ right as well. newer h/w, a deeper perspective on what works and what doesn’t all contribute significantly to this flux.
Is there a blog post targeting readers in the web?
The only language features they seem to have added are small improvements to error handling.
It's mostly not new number types, it's new number syntactic niceties.
As the guy who ends up maintaining the build tooling at work, I'm _very_ excited about a lot of the tooling changes:
- "Reproducible builds (independent of build path)" means 2 things to me: That customers building plugins for our product will no longer need to care about how our CI set GOPATH, and that I can drop hacks around the linker on macOS including timestamps (which would otherwise result in expensive Docker rebuilds)
- "Let 'go build' write many binaries" will let me adjust the build scripts to be faster, especially in mostly-no-op cases that my coworkers like to gripe about how slow it is.
I'm also excited about os.UserConfigDir.
priorities == latency control.
In fact, since the scheduler is now more complex, there will be more overhead (however small) and hence slower overall.
Time to move back to JavaScript.
It’s very frustrating how unstable and slow in terms of dev speed things are in the last THREE places I’ve worked (as a frontend with the backends all written in Golang). Go teams seem to rebuild everything from scratch and they never seem to understand micro services in the context of distributed systems. I mean we are doing microservices, Golang, grpc, cockroach dB and we have a few thousand users maximum. It drives me up the wall that this stack is so popular and the engineers championing it can’t deliver reliable software quickly in it... most of them can't even optimise queries in SQL and are concatenating strings together in SQL queries.
Take the Elixir ecosystem; I could outpace a team of three Golang engineers easily writing stuff in Elixir and my software would almost never crash or panic and be very flexible when changes were needed. Everything in Golang is calcified around current product requirements and a nightmare to change. So forgive me when I think Golang has a long way to go before it's something I'd want to use for anything but the smallest of command line tools.
I never said my code is perfect or bug free at all, you just made up a straw man to weaken my anecdotal evidence.
You can add a datapoint to that based on what I have experienced as well at an employer. Exactly what you mentioned, so much time wasted either due to reinventing the wheel, or because of language friction and it being way underpowered to model the problem at hand. I keep laughing that Java would have been a way superior fit in practically all fronts.
and, once again imho, this state of affairs is _exactly_ right as well. newer h/w, a deeper perspective on what works and what doesn’t all contribute significantly to this flux.
embrace the change :)