
3 weeks writing code in Go - Azatik1000
https://danlark.org/2020/01/31/i-wrote-go-code-for-3-weeks-and-you-wont-believe-what-happened-next/
======
PhilippGille
He lists many things he likes and very few he dislikes, but the last sentence
is:

> For big and longstanding projects, I do believe Go is bad because if you
> want to do something complex, Go won’t let you do this anyhow.

Without a proper explanation how he got to this strong conclusion.

And especially with so many cloud infrastructure projects being written in Go
(Docker, Kubernetes, Terraform, Consul, etcd, CockroachDB, Nebula, ...), it
seems to be in contrast to the common perception, thus requiring a proper
explanation even more.

~~~
bsaul
I agree and in fact i think this sentence is a self-contradiction in some way
:

If you want a "big longstanding" project, then doing "complex" thing is
probably the thing you want to avoid at all cost. And as a proof that it's
possible, one can have a look at the standard library, which is big,
longstanding and is the most readable std lib i've ever seen.

~~~
weff_
So when is it appropriate to do complex things?

~~~
sfifs
HPC where you try to wring the last ounce of performance from machines
insufficiently powerful for the task. Weather forecasting, weapons simulation,
protein folding...

~~~
weff_
That's interesting. I don't think as optimized memory manipulation via
convoluted casting and such as "complex stuff". I think of that as
optimization.

I thought what the author meant by complex was a gigantic system that needs to
use many design patterns for good reasons; the code models a very complex,
convoluted domain.

------
chewz
Last few weeks I have been working on a project in Go that required using
multiple libraries I had no previous experience with. Usually when in doubts I
would Google or go to Stackoverflow or Github issues.

But Google results today are mostly spam or copycat sites that echo forever
some old answers. And Stackoverflow answers are too often outdated for fast
evolving language leading onto false paths.

Surprisingly I started just go to source libraries and read the code. It
provided answers faster and with less noise.

~~~
b5n
[https://www.gnu.org/software/gawk/manual/gawk.html#Undocumen...](https://www.gnu.org/software/gawk/manual/gawk.html#Undocumented)

------
fmakunbound
> if err != nil { return nil, err }

I still think this is bullshit.

------
UncleMeat
How can one possibly form a strong opinion about a language in _three weeks_?

