
Confession From a Go Programmer - bsg75
http://notbroken.org/go_confession.html
======
eknkc
Currently working with Node.JS and we want to introdcure Go in some new
modules. Have 3 major concerns;

\- Lack of Generics. I know this has been beaten to death but after using a
dynamic typed language all this time, it is even more painful.

\- Weird dependency management. No way to lock dependency versions, even if I
fork something and depend on it, nested dependencies can fuck up at some
point. We need something like NPM to manage our dependencies in a sane way.
Importing from live git paths seems like the worst possible solution to this.
And there seems to be no widely accepted 3rd party package manager.

\- Google... At some point, I'd expect the compiler to require a Google+
account to enable optimizations. /s

~~~
burntsushi
> Importing from live git paths seems like the worst possible solution to
> this.

Then don't do it. Check your dependencies into your repositories and update
import paths.

~~~
hdevalence
What happens when the dependencies have bugfixes or security flaws? Why is it
better to spread the responsibility for updates over all Go authors instead of
to the authors of the libraries in question?

~~~
mseepgood
> What happens when the dependencies have bugfixes or security flaws?

Copy the new version into the repository, run the import rewriting script and
check it in.

> Why is it better to spread the responsibility for updates over all Go
> authors instead of to the authors of the libraries in question?

Because you want to have full control over your dependencies. What if the
author introduces a breaking change or removes the repository from the
internet? Do you want to risk your business by being at the mercy of someone
else's repository?

~~~
gmjosack
What about when the library you want to use has a non-compatible license for
distributing it with your source code?

------
lettergram
I've written a basic web server which simply pulls up CSS/HTML and manages a
mongoDB about 16Gb as well as another for users. I found that overall Go is
extremely manageable and the whole server and db management requires less than
500 lines of easy to read code with comments. I agree with the author for the
most part, however I would like to say that I do not like the error handling..
Not really a big deal, the rest of the language makes up for it, just thought
I would share my opinion.

------
NDizzle
If you're having trouble viewing any content on the page, click the stop
button in your browser.

Ironic domain name.

------
eterm
This page was readable until my browser finished downloading the web font, at
which point it became impossible to read.

~~~
bsg75
I use the Evernote Clearly extension in Chrome for this sort of "design".
There may be better options.

~~~
kibwen
I'll second this, though I use the Firefox version:

[https://addons.mozilla.org/en-
US/firefox/addon/clearly/](https://addons.mozilla.org/en-
US/firefox/addon/clearly/)

Indispensable for coercing over-exuberant webpages into readability.

------
sdegutis
tl;dr: A quick recap of Go's basic features, also the author likes them.

------
banachtarski
This isn't loading at all for me for some reason. I get 13 bytes and it hangs.

edit: I found the fulltext archived elsewhere on fullhn. This honestly just a
listing of Go features and there's no "confession" to speak of anywhere. It
seems like the OP would like Erlang.

------
yawz
Hmmm... I was expecting a more controversial article. Basically the author
likes Go and gives a brief list of features. (Not that it isn't a good article
but for some reason the title set my expectations at the wrong level).

------
dkuntz2
I had to change the font because the file wasn’t loading...

I'm not sure if there were any confessions. It was basically a "hey, you
should try out Go. Maybe. If you want. I like it…" kind of post.

------
kendalk
I have been reading good things about Chicken Scheme, which compiles to C. I
am debating between Go and Chicken for a SaaS startup. Go seems to be the
future favorite language for server development, but I read pg's essay
"Beating the Averages" and am attracted to Lisp. (And I love Emacs!) Does
anyone with experience in these languages have any thoughts?

------
lnanek2
Site down. Hope he wasn't confessing he wrote his server with Go, because his
server sure can't handle load...

~~~
dkuntz2
No, he was "confessing" that he liked Go and thinks it's pretty nifty. Not
much of a confession...

------
tethis
This isn't really a "confession"... just someone gushing over a programming
language in a terrible looking font.

------
vfclists
notbroken.org website is broken

------
yapcguy
_> every object is a member of the empty interface_

There are no objects in Go, given that Go is not an object-oriented
language... oops! (pun intended)

~~~
flazzarino
The word "object" predates OOP. I think the original meaning roughly equates
to what we call a value today.

In OOP languages the objects contain the subroutines (methods) hence orienting
the programming towards the objects.

Do the more pedantically inclined have a better definition?

