WelcomeUser Guide
ToSPrivacyCanary
DonateBugsLicense

©2024 Poal.co

1.0K

Just like exactly every other thing google has ever produced (such as dart, flutter) golang sucks.

Reasons:

  • datetime formatting - most retarded method I've ever seen
  • pointers - mixes two completely separate concepts together namely making a variable nullable and pass-by-ref as optimization these two having nothing to do with each other
  • no constructors - no safety. all fields are in practise optional. custom make functions can by bypassed. you'll end up with objects risking having not be fully initialized.
  • no optional arguments, no default arguments
  • no labeling of function parameters when calling the function - you can use structs but then you've turned every single argument into an optional argument
  • no true enums
  • go test output sucks (github.com) - just show me what tests failed ffs
  • a hello world program in golang compiled into webassembly takes at least 2 megabytes - no I am not joking!
  • no throw catch exceptions - returning errors from functions is not a problem or bad, the problem is that it's the only option in golang. error handling takes up a lot of space and makes it less readable
  • no ternary operator - nested ternaries suck, true, but what looks best this s := b ? 'true' : 'false' or this var s string; if b { s = 'true' } else { s = 'false' }?

There is a longer list of dumb shit here (it's loong) https://github.com/ksimka/go-is-not-good .

Seems they all missed the datetime formatting madness so I describe it briefly:

Unlike other languages where you can format datetime like this

t := time.Now()
fmt.Println(t.Format("yyyyMMddHHmmss"))

you can't. Instead you need to do EXACTLY this

t := time.Now()
fmt.Println(t.Format("20060102150405"))

If you write 20070102150405, 20060102150406 or 20060112150405 it won't work. All magic numbers. Why? Because google are retards that's why.

https://stackoverflow.com/questions/20234104/how-to-format-current-time-using-a-yyyymmddhhmmss-format

For anyone liking golang for it's simplicity of I'll just state that nothing's stopping you from picking a more full-featured nicely designed language and limit yourself by only using a subset of it's features. If you like driving a car very slowly you don't have to drive a Trabant you can drive a faster better car by limiting yourself to just using the 1st gear.

Just like exactly every other thing google has ever produced (such as dart, flutter) golang sucks. Reasons: * datetime formatting - most retarded method I've ever seen * pointers - mixes two completely separate concepts together namely *making a variable nullable* and *pass-by-ref as optimization* these two having nothing to do with each other * no constructors - no safety. all fields are in practise optional. custom make functions can by bypassed. you'll end up with objects risking having not be fully initialized. * no optional arguments, no default arguments * no labeling of function parameters when calling the function - you can use structs but then you've turned every single argument into an optional argument * no true enums * [go test output sucks](https://github.com/golang/go/issues/13106#issuecomment-456896310) - just show me what tests failed ffs * a hello world program in golang compiled into webassembly takes at least 2 megabytes - no I am not joking! * no throw catch exceptions - returning errors from functions is not a problem or bad, the problem is that it's the only option in golang. error handling takes up a lot of space and makes it less readable * no ternary operator - nested ternaries suck, true, but what looks best this `s := b ? 'true' : 'false'` or this `var s string; if b { s = 'true' } else { s = 'false' }`? There is a longer list of dumb shit here (it's loong) https://github.com/ksimka/go-is-not-good . Seems they all missed the datetime formatting madness so I describe it briefly: Unlike other languages where you can format datetime like this ``` t := time.Now() fmt.Println(t.Format("yyyyMMddHHmmss")) ``` you can't. Instead you need to do EXACTLY this ``` t := time.Now() fmt.Println(t.Format("20060102150405")) ``` If you write 20070102150405, 20060102150406 or 20060112150405 it won't work. All magic numbers. Why? Because google are retards that's why. https://stackoverflow.com/questions/20234104/how-to-format-current-time-using-a-yyyymmddhhmmss-format For anyone liking golang for it's simplicity of I'll just state that nothing's stopping you from picking a more full-featured nicely designed language and limit yourself by only using a subset of it's features. If you like driving a car very slowly you don't have to drive a Trabant you can drive a faster better car by limiting yourself to just using the 1st gear.
[–] 2 pts

Truly idiotic.

[–] 4 pts (edited )

yes. I'm starting to think the only reason these google products becomes popular is because google search biases the search results. No way they can stand on their own without being artificially propped up.