Live data from Hacker News

Why Go gets criticized so much

npf.io

241–250 of 251 posts

Re: Why Go gets criticized so much

#241

I don't hate Go. I think the language is half what it could have been if designed more carefully. I don't doubt Go designers skills, I just think they just stopped half way for various reasons. Which makes Go a bit frustrating. However, I hate the Go community, which doesn't hesitate to humiliate people trying to use language in unconventional ways (Martini...) and mock people that come with a valid criticism of the…

> humiliate people trying to use language in unconventional ways (Martini...) The author of Martini, Jeremy Saenz, didn't feel humiliated: https://codegangsta.io/blog/2014/05/19/my-thoughts-on-martin... > lack of dynamic linking You can build and link shared libraries since Go 1.5: https://golang.org/doc/go1.5#link > package management The Go team is listening to the community about package management and is even wil…

> You can build and link shared libraries since Go 1.5:

That was not my point and you know it. you can't load shared library at runtime with Go. Like you can do in most languages out there.

> The author of Martini, Jeremy Saenz, didn't feel humiliated:

Yeah, he didn't feel humiliated so much he stopped writing about and programming in Go and interacting with the Go community all together because it's full of bullies.

> The Go team is listening to the community about package management and is even willing to make changes:

The Go team is listening to nothing.

> I would add that I'm tired of people repeating that the Go core team is stubborn and doesn't listen to critics about the lack of generics, even though they have provided substantiated answer on this topic:

That doesn't make them more open to changes, anybody can do an AMA for PR.

Go community is blind to its own shortcomings and the language issues, you just proved my point yet again.

Re: Why Go gets criticized so much

#244
post #91

Earlier quoted context omitted.

"All" languages used for the web have those downsides? This is part of why Go culture scares me a bit. You seem to be overlooking the huge amounts of software written in .NET and on the JVM, none of which suffers from the problems you just outlined: there are great IDEs, decent type systems, good interactive debuggers, strong standard libraries, reasonable package management etc. This mental blind spot towards the to…

Java and C# have a first class ideology (object oriented) that does not align well with functional web servers which is how almost everyone writes theirs nowadays. These languages are getting better about it, but they are tacking on functional programming to a language that traditionally was strictly OO, and in the same way C++ has a lot of edge case behavior in being "OO tacked onto imperative" these languages suffe…

That's not a true statement about modern C# and Java.

Re: Why Go gets criticized so much

#245

Earlier quoted context omitted.

I agree that a language doesn't define you but what I wonder if a person's favorite language has some correlation to certain personality traits. I would be lieing if I didn't say I get more enjoyment from some languages where other people don't. Perl vs Python for example, pythons core values are to try and make it only one way to achieve something, whereas Perl tries to give you multiple ways to achieve something. I…

Ok, I write every day in Rust and JavaScript (and not just jumping monkey in JS, but a lot of code). They are almost orthogonal languages. Will it fit your theory? :)

Are they both your favorite languages? Also there will always be exceptions.

Re: Why Go gets criticized so much

#246
post #230

Earlier quoted context omitted.

What are the rationales underlying your choice to stop using Go and move to Elixir for web app or API development?

In no particular order: No sane story for request contexts. I got tired of waiting for net/http support for x/net/context. Coercing Go structs into JSON and vice versus was just annoying enough. I felt like I was paying the price (being more explicit) for static typing without a lot of the benefits of other static typed languages. and this: //go:generate stringer -type=Pill [ https://blog.golang.org/generate ]

> No sane story for request contexts. I got tired of waiting for net/http support for x/net/context.

This is moving forward. A package context would probably be added to the standard library and integrated with net/http.Request:

https://github.com/golang/go/issues/14660

How is this issue solved in Erlang/Elixir?

> Coercing Go structs into JSON and vice versus was just annoying enough.

I had the same feeling when I started using Go (coming from Python/JS, and Java/C++ a long time ago). But then I realised that I have to validate my inputs anyway, even in Python, JS or Erlang. Defining a struct and unmarshal to the struct gives me that for free in Go.

How do you solve that in Erlang/Elixir?

Re: Why Go gets criticized so much

#247

Earlier quoted context omitted.

> humiliate people trying to use language in unconventional ways (Martini...) The author of Martini, Jeremy Saenz, didn't feel humiliated: https://codegangsta.io/blog/2014/05/19/my-thoughts-on-martin... > lack of dynamic linking You can build and link shared libraries since Go 1.5: https://golang.org/doc/go1.5#link > package management The Go team is listening to the community about package management and is even wil…

> You can build and link shared libraries since Go 1.5: That was not my point and you know it. you can't load shared library at runtime with Go. Like you can do in most languages out there. > The author of Martini, Jeremy Saenz, didn't feel humiliated: Yeah, he didn't feel humiliated so much he stopped writing about and programming in Go and interacting with the Go community all together because it's full of bullies.…

> you can't load shared library at runtime with Go.

I've read again the documentation, and you're right: it's not possible as of Go 1.6.

> Yeah, [Jeremy Saenz] didn't feel humiliated so much he stopped writing about and programming in Go and interacting with the Go community all together

It's true that I don't see Jeremy posting stuff on its blog, Twitter, GitHub or elsewhere since a few months, about Go, or about anything else. But how can you assert it's related to the Go community being harsh?

> That doesn't make them more open to changes

I'm a bit of a programming language geek because I like beautiful theoretical things. This is why I keep an eye on OCaml, Haskell, Erlang, Elm, Clojure, etc. I sometime share the frustration with Go being verbose and naive. But I also needs to get things done, and want my code to be readable, understandable and maintainable in 10 years. Go is an interesting tradeoff, betting less on the advances of PL theory, and betting more on good engineering (the excellent work on the garbage collector being a good illustration).

Yes, I'd like some kind of shortcut for error handling (like the try! macro in rust), I'd like to be able to define custom generic functions and containers like the built-in ones, I'd like being able to declare non-nullable pointers, and I'd like to be able to create "share-nothing" goroutines with a "let it crash" philosophy. But I'm not willing to have these things if they break the language main benefits, especially its simplicity.

Maybe the Go team is not open to the changes we're discussing because they just don't align with their goals?

Re: Why Go gets criticized so much

#248

I've been working in Go now for over a year and its honestly made my day-to-day life as a software engineer enjoyable. What gets me down about working in this industry is toiling away on products only to never see them released or being frustrated by absurd compile times, poorly tested components and abstract cathedral architectures. I worked on large C++ projects for around 7 years and i don't care for another flame…

> "If someone creates a ML variant with a day-to-day experience as clarified as Go then I will gladly jump on board." What about F#? http://fsharp.org As a side benefit, it's appears to be the top paying tech worldwide ... http://stackoverflow.com/research/developer-survey-2016#tech... ... as well as one of the most highly regarded languages by those who use it ... http://stackoverflow.com/research/developer-survey-2…

I hadn't really given F# serious consideration, i know it's based off of OCaml but looking at it now i'm not particularly enamoured by the idea of managing threads, or doing async programming. Yes it does have an actor model but it looks limited to just a message box.

I think Microsoft Orleans is the most interesting functional language based on .Net http://christophermeiklejohn.com/papers/2015/05/03/orleans.h...

Re: Why Go gets criticized so much

#249

I've been working in Go now for over a year and its honestly made my day-to-day life as a software engineer enjoyable. What gets me down about working in this industry is toiling away on products only to never see them released or being frustrated by absurd compile times, poorly tested components and abstract cathedral architectures. I worked on large C++ projects for around 7 years and i don't care for another flame…

> If someone creates a ML variant with a day-to-day experience as clarified as Go then I will gladly jump on board. I think Kotlin and (eventually) Swift comes very close, but both have compatibility as a high priority, which complicates the languages a bit. But I'm hoping these languages will be able to serve as gateway drugs into the world of ML-style programming, and that we'll soon see a no-compromise ML-style fo…

I tried swift a while ago, but the bugs turned me away from it. that and having to use xcode. I'll have a look into Kotlin, thanks!

Re: Why Go gets criticized so much

#250

Earlier quoted context omitted.

Ok, I write every day in Rust and JavaScript (and not just jumping monkey in JS, but a lot of code). They are almost orthogonal languages. Will it fit your theory? :)

Are they both your favorite languages? Also there will always be exceptions.

Sorry for long reply. No, I prefer Rust, but right now it's impossible to use Rust on frontend. I also know there are people who love Python, Scala, Nim, D, Ocaml and I don't think they are wrong - it's just languages with different flavours and there are people with other preferences, so it's awesome to have alternatives. They are not better or worse than me if they use other languages, I'm more than sure about it. But when we talk about PHP, Go, Perl - yes, I think people could make better choice.
Post reply on HN