3 ms·
Every function call is 4 lines in Go. No basic error propagation support means Go code bloats up very fast in line count. result, err := callFoo() if err !
by lenkite 2y ago
Every function call is 4 lines in Go. No basic error propagation support means Go code bloats up very fast in line count.
result, err := callFoo()
if err != nil {
return nil, err
}
No collection streams means LOTS of mind-numbing/eye-glazing for loops. Things have improved slightly with the slices and maps package but these are just hacks. Maybe with the new iterator support, Go will slowly and steadily get a bit more expressive.
Go is good for middleware coding thanks to Go-routines and and excellent networking support in the standard library but is cumbersome slow and inexpressive for scripts.
Also go.mod does NOT separate dev/test/prod dependencies - unlike Java Maven or Rust Cargo. You don't want your script dependencies coming into production code.