|
|
|
|
|
by sillysaurus3
3779 days ago
|
|
I tried to download someone's Go repo that operated on gifs, but on my machine it died with an error inside of the standard library's compression code, which failed with a cryptic message. I spent the next 30 minutes trying to figure out how to add printline debugging to the standard library. I saw the precise line of code it was failing on, so I added some logging code above it to print out more info. Nothing happened. I tried to rebuild the file. There was no obvious way to do this. I googled for "golang recompile standard library." There was no clear, simple answer. I seemed to be expected to read all of the documentation in order to do this seemingly-simple thing. I went on Freenode and asked how to do it. Crickets. I was being intellectually lazy, a cardinal sin. Obviously, the solution was to read the documentation, learn about GOPATH, learn how and why the source code was laid out the way it was, understand how to make my own package, then try to figure out how to make changes to existing packages. But it's a step backwards. I'm staring at the code. I made changes to it. Why does it require a magical incantation to make those changes have an effect? Why can't it detect that the code changed, and do whatever's necessary to apply those changes? Or at least let me type "go make zlib.go" and be done with it? Yeah, "make" isn't a valid command. I'm supposed to "build" a package. But I'm not trying to build a package. I'm trying to run someone's freshly-cloned Go project. The whole thing made me feel dumb and outdated. |
|
I like everything else about Go and hope they remove that cruft from such a great language in version 2 or so. Go should learn from C/C++ in this regard.