Earlier quoted context omitted.
That's largely because it's the easiest way to deal with Custom Resource Definitions within Kubernetes, and because many of the tools that make writing a Controller or Operator easy are only exposed as internal APIs.
It's also because a k8s daemonset or sidecar takes 5 to 10x less memory to run using Go. No one wants to run small pods with JVM and xms / xmx settings to 512MB.
Go 2018 Survey Results
51–60 of 91 posts
Re: Go 2018 Survey Results
#52Earlier quoted context omitted.
>Go also favors libraries over frameworks and is super thoughtful about using too many untested dependancies which means we don’t get stuck in frameworks that become legacy (rails) The Go standard library doesn't come close to replicating the functionality of Rails, let alone the gem ecosystem of Ruby/Rails. If you don't need it, great! Otherwise, you're spending time re-implementing what already exists and probably…
> The Go standard library doesn't come close to replicating the functionality of Rails Why would it? It's the standard library. Go has a massive ecosystem of third parties libraries, and unlike Ruby, which was a one trick pony, Go has libraries for pretty much anything you could want to do. It's exceedingly versatile and it has better integration into modern infra. Why? Because it's all written in Go. Prometheus, Kub…
Except for CRMs, GUI, DB drivers with the same feature level as JDBC or ADO.NET, Office/PDF docs (full spec not hello world stuff), GPGU, 3D game engines (Unreal/Unity/CryEngine,...), ...
Modern infra is the NoSQL of 2019.
Re: Go 2018 Survey Results
#53Earlier quoted context omitted.
> This is nonsense. There's no definition or checklist that defines what a complete type system is The Go programming language and the compiler have too many soundness holes, therefore I call the type system incomplete. When you can pass in a null literal in place of an object and the compiler doesn't stop you, it goes against any common sense. Not to mention the pervasive use of reflection (interface{}) due to lack…
I think I'm misunderstanding, but doesn't Java and C# allow you to pass null in the place of an object?
C# 8 will fix this by switching defaults (opt-in due to backwards compatibility), and Java has type annotations since ages.
Hence why it feels wrong to a new kid on the block to ignore what the language community at large already agreed were design errors.
Re: Go 2018 Survey Results
#54Earlier quoted context omitted.
You can define methods on structs which is not unlike classes. You can define an interface with methods that allow objects to be processed in a more generic fashion. I think that more than anything it would require a change of mindset that people understandably don't want to deal with.
There's also always a package to handle that issue. [0][1][2] As well as other options. [3] I like to imagine that the "no generics, no way" crowd would never use the stairway in their building if the elevator broke down. [0] https://github.com/clipperhouse/gen [1] https://github.com/cheekybits/genny [2] https://github.com/cosmos72/gomacro [3] https://appliedgo.net/generics/
Go's building architects decided an elevator was superfluous, as everyone should walk 20 stores high every single day, it is good for their health.
Re: Go 2018 Survey Results
#55Earlier quoted context omitted.
You can define methods on structs which is not unlike classes. You can define an interface with methods that allow objects to be processed in a more generic fashion. I think that more than anything it would require a change of mindset that people understandably don't want to deal with.
There's also always a package to handle that issue. [0][1][2] As well as other options. [3] I like to imagine that the "no generics, no way" crowd would never use the stairway in their building if the elevator broke down. [0] https://github.com/clipperhouse/gen [1] https://github.com/cheekybits/genny [2] https://github.com/cosmos72/gomacro [3] https://appliedgo.net/generics/
Re: Go 2018 Survey Results
#56Go and Rust are actually a great combo with only a little overlap. What’s great is that they are both C family and have some shared principles and flow. When you need a decent concurrency story, moderate speed, and have a problem that is concrete, choose Go. It’s a good candidate for replacing Python, Ruby, JavaScript, and smaller Java projects. Rust is better if you need maximum performance, are building a large pro…
Why do people pushing those claims think a go program compiled down to native executable is slower then rust Is it the rust compiler is better ? Is the go stdlib slower ? Is it the gc
The GC is going to add some overhead is it that bad for most uses except for real time critical large s/w
Re: Go 2018 Survey Results
#57Off topic but it's quite interesting to see that on HN, a great amount of the comments of a GO post talk about Rust, and vice versa. As a system guy, I am also happy to follow two OS projects in these two: [1] https://github.com/mit-pdos/biscuit [2] https://github.com/redox-os/redox
Re: Go 2018 Survey Results
#58Earlier quoted context omitted.
Go has not displaced anything around here. Still plain old Java, .NET and C++ as always.
Where I'm located, .NET has died years ago. Just Java, Go and C++ now. I guess these things are regional. Unity is increasing C# popularity, though. So maybe .NET is not going away, at least yet.
It maybe won't go away, but I think it lost a lot of relevance.
Re: Go 2018 Survey Results
#59Earlier quoted context omitted.
I think I'm misunderstanding, but doesn't Java and C# allow you to pass null in the place of an object?
Yes, but they are 20 years older than Go. C# 8 will fix this by switching defaults (opt-in due to backwards compatibility), and Java has type annotations since ages. Hence why it feels wrong to a new kid on the block to ignore what the language community at large already agreed were design errors.
"By 1960, we had a long list of amazing languages: Lisp, APL, Fortran, COBOL, Algol 60. These are higher-level than C. We have seriously regressed, since C developed" - Fran Allen
Re: Go 2018 Survey Results
#60Go and Rust are actually a great combo with only a little overlap. What’s great is that they are both C family and have some shared principles and flow. When you need a decent concurrency story, moderate speed, and have a problem that is concrete, choose Go. It’s a good candidate for replacing Python, Ruby, JavaScript, and smaller Java projects. Rust is better if you need maximum performance, are building a large pro…
Yes, there's can be benefit to starting from scratch with a different language w.r.t. training new teams with good habits and skills from the start.
But going into Rust just because it's fashionable at the moment is a recipe for pain several years down the line.
If you want a working pain-free solution learn C++17 instead.