Ironically Go is such a shite verbose language that basically everyone I know who has to work with it will use an llm code-assistant tool to avoid having to write all the boilerplate themselves.
I know of no other language that comes close to prompting the level of LLM-dependency that Go inspires.
Edit: well, seems like this goes against the popular consensus but I stand by my guns if the down votes are from average Go enjoyers. If, on the other hand, the down votes stem from the sentiment that even Go should not be vibe coded, I can at least agree with that, but who knows what jimmies I’ve rustled
I placed it not because I’m angry or disagree with your original statement, but because you have already acquired several downvotes and I just feel peer pressure to downvote you to hell
Dude, weird ass comment. You can share your opinions but you don’t have to be negative about it. Remember your opinions is truth (if is) not fact. Like more languages, GO is a tool and it has its purposes. There is no one tool fits all…… except duct tape.
Dude, weird ass-comment. I can share my opinions and they don’t have to be positive ones. Go is a tool and its purpose is to be an aesthetic stain on the realm of software.
Yeah, Go is nice sometimes. It shines in codebases that are not quite large and not very small. Also it’s great to write a cli tool in it, though I prefer Rust because I hate myself. What I personally missed in Go (maybe skill issue, idk):
Metaprogramming. For big projects it’s inevitable. You need to have SPOT which generates documentation and headers (e.g. xml document, openapi spec). Otherwise you die. The fact that the source should be a git repo is cancer, as in this case artifacts are added in git, which results in merge conflicts.
DI. In JVM world it is a must. If you don’t have it, you fucking should have a reason for that! If your logic spans across multiple layers of factories, onboarding of a new developer creates friction.
For small web services that are not constrained by memory I would choose spring + openapi, as it really requires only model description and the endpoint, yielding you a client in any language you want.
If err != nill. Don’t let me started on importance of result and either monads.
Aspects and (usable) reflection. I want a codebase that has actual decoupling. I want a security code to be in a completely different place, away from the business logic, just as I want traces with serialization to be pluggable I don’t want to have a single place in code that has a sequence auth -> validate inputs -> trace -> business logic -> validate output. I strongly believe that it’s faulty, untestable and prone to errors.
Directly mapping structs to JSON is a solved problem in userland for every major language
yes it does, and worse it’s part of the return signature and null is super-prevalent of necessity as a result
even java doesn’t do that any more, but fine I guess
cool, but access modifiers actually make a lot of sense. Go’s solution to this is to use capitalisation as a marker, which has no ‘inferential readability’ – public/private is obvious. Foo/foo? Considerably less so
Further, meta programming in go sucks donkey balls. Sure, it finally got generics but also they suck. Last I checked it still didn’t even support covariance.
Ironic how your comment is downvoted as well. It’s funny to me to observe through platforms like this that most humans are thoughtless pack animals and will just do whatever all the other humans are doing and how discourse goes against our nature. There was a study on Reddit some years ago that found that generally speaking, the first vote determines whether a comment will get up- or downvoted.
Ironically Go is such a shite verbose language that basically everyone I know who has to work with it will use an llm code-assistant tool to avoid having to write all the boilerplate themselves.
I know of no other language that comes close to prompting the level of LLM-dependency that Go inspires.
Edit: well, seems like this goes against the popular consensus but I stand by my guns if the down votes are from average Go enjoyers. If, on the other hand, the down votes stem from the sentiment that even Go should not be vibe coded, I can at least agree with that, but who knows what jimmies I’ve rustled
Hey, here’s my downvote.
I placed it not because I’m angry or disagree with your original statement, but because you have already acquired several downvotes and I just feel peer pressure to downvote you to hell
That’s completely fair, thank you for your service
Dude, weird ass comment. You can share your opinions but you don’t have to be negative about it. Remember your opinions is truth (if is) not fact. Like more languages, GO is a tool and it has its purposes. There is no one tool fits all…… except duct tape.
Dude, weird ass-comment. I can share my opinions and they don’t have to be positive ones. Go is a tool and its purpose is to be an aesthetic stain on the realm of software.
Thank you for your attention
Go is verbose? Have you ever written Java?
I have. Go is verbose
Can you elaborate? To me, Go seems to have less boilerplate.
Yeah, Go is nice sometimes. It shines in codebases that are not quite large and not very small. Also it’s great to write a cli tool in it, though I prefer Rust because I hate myself. What I personally missed in Go (maybe skill issue, idk):
Metaprogramming. For big projects it’s inevitable. You need to have SPOT which generates documentation and headers (e.g. xml document, openapi spec). Otherwise you die. The fact that the source should be a git repo is cancer, as in this case artifacts are added in git, which results in merge conflicts.
DI. In JVM world it is a must. If you don’t have it, you fucking should have a reason for that! If your logic spans across multiple layers of factories, onboarding of a new developer creates friction.
For small web services that are not constrained by memory I would choose spring + openapi, as it really requires only model description and the endpoint, yielding you a client in any language you want.
If err != nill. Don’t let me started on importance of result and either monads.
Aspects and (usable) reflection. I want a codebase that has actual decoupling. I want a security code to be in a completely different place, away from the business logic, just as I want traces with serialization to be pluggable I don’t want to have a single place in code that has a sequence
auth -> validate inputs -> trace -> business logic -> validate output. I strongly believe that it’s faulty, untestable and prone to errors.In reverse order:
Further, meta programming in go sucks donkey balls. Sure, it finally got generics but also they suck. Last I checked it still didn’t even support covariance.
deleted by creator
Ironic how your comment is downvoted as well. It’s funny to me to observe through platforms like this that most humans are thoughtless pack animals and will just do whatever all the other humans are doing and how discourse goes against our nature. There was a study on Reddit some years ago that found that generally speaking, the first vote determines whether a comment will get up- or downvoted.
deleted by creator