Live data from Hacker News

Go: Ten years and climbing

commandcenter.blogspot.com

51–60 of 193 posts

Re: Go: Ten years and climbing

#52
I evaluated Go a few months ago for a web project, but it seemed as if there was a lot of manual work involved in mapping objects in and out of a MySQL database and in and out of JSON (basically, 50% of my day-to-day back end work). It just seemed too arduous.

The second thing that bothered me was that an edge-case bug in one of my HTTP handlers paniced the app. If that had happened in production while under load, many users would have gotten an error due to a bug in one user's request.

So, serious questions:

- What is the best way to map objects to/from JSON? - What is the best way to map objects to/from a database? - What is the best way to prevent a request from crashing the server and killing a bunch of unrelated requests?

Re: Go: Ten years and climbing

#53

Having dealt with enough spaghetti code over the years (just a few of industry experience, and some more years of academia), I understand what Go's strengths are. It's an opinionated language that stops users from being too clever or writing code that's too complex. That said, I've always hated the trends that have brought Golang into popularity. The engineers I've felt who could benefit from Golang the most could al…

> As a simple language to wire pieces together, Golang is fine, but it really doesn't give you the tools (imo) to be productive for anything more complex than simple apps. It's a great alternative to JS (again imo), but not something I'd like to write.

How do you address its popularity in the field of cloud computing then (which I presume you would agree is pretty complex)? This was mentioned in ample detail by Rob in the article. Is Kubernetes not a "productive" system by your definition?

Re: Go: Ten years and climbing

#55
post #43
post #36

Earlier quoted context omitted.

Infrastructure. Some example projects of the top of my head: Kubernetes, etcd, Docker, terraform, ...

They don't dominate anything though. And only half of those are for cloud infrastructure.

Kubernetes is built on top of docker, etcd is used as a secret store for kube, and terraform is for infra as code. Google cloud platform offers kubernetes as a service. CoreOS Tectonic has the AWS plugin, and Azure has "Container Service". You can run kube on your own hardware, but the idea is that the service itself can just magically ask for more nodes which implies either on-prem cloud our the actual cloud cloud.

Re: Go: Ten years and climbing

#56

Having dealt with enough spaghetti code over the years (just a few of industry experience, and some more years of academia), I understand what Go's strengths are. It's an opinionated language that stops users from being too clever or writing code that's too complex. That said, I've always hated the trends that have brought Golang into popularity. The engineers I've felt who could benefit from Golang the most could al…

an army of "toddler" developers can overthrow a single hero in terms of productivity, and using a "toddler" programming language makes sure that newly joined "toddlers" can understand (and also maintain or upgrade) existing code, so that the army can just keep growing.

Re: Go: Ten years and climbing

#57
post #25

Maybe I'm spoiled, but I've had a hard time dipping my toes into Go due to the lack of batteries included frameworks (like Rails or Laravel). Can anyone recommend some resources to give it another shot?

It's been a while since I used it, but Revel[0] is almost within the same family as Rails. The developers of Revel say they're inspired by the Play Framework. Another option that looks nice is the Buffalo[1]. It's a collection of libraries that are built to play nice with each other, but you don't have to use all of them as a bundle. You can use only the layers you want. [0] https://revel.github.io/ [1] https://gobuf…

Exactly what I was looking for. Thanks!

Re: Go: Ten years and climbing

#58
post #28

I've been writing Go professionally, full-time, for the past five years. I'm a polyglot, so before Go, I loved exploring every new language I could get my hands on[0]. I still do, for fun, but Go is the one language that has kept me hooked all this time. It's not for any single feature, or for the community (though that's a great part of it). It's because it's the only language which I feel gets out of the way for me…

Out of curiosity, what is your take on clojure then ?

On the same line, thoughts on Kotlin?

Re: Go: Ten years and climbing

#59
post #56

Having dealt with enough spaghetti code over the years (just a few of industry experience, and some more years of academia), I understand what Go's strengths are. It's an opinionated language that stops users from being too clever or writing code that's too complex. That said, I've always hated the trends that have brought Golang into popularity. The engineers I've felt who could benefit from Golang the most could al…

an army of "toddler" developers can overthrow a single hero in terms of productivity, and using a "toddler" programming language makes sure that newly joined "toddlers" can understand (and also maintain or upgrade) existing code, so that the army can just keep growing.

Oh I'm not disagreeing there. I prefer not being a soldier altogether though. There's a reason I didn't go into the military.

I'd also suggest that an army of experienced devs is more effective than an army of non-experienced "toddlers". Programming languages and CS fundamentals aren't elite, impenetrable cliques; they can be learned.

Re: Go: Ten years and climbing

#60

I evaluated Go a few months ago for a web project, but it seemed as if there was a lot of manual work involved in mapping objects in and out of a MySQL database and in and out of JSON (basically, 50% of my day-to-day back end work). It just seemed too arduous. The second thing that bothered me was that an edge-case bug in one of my HTTP handlers paniced the app. If that had happened in production while under load, ma…

Here's an example I wrote up for to/from json: https://gist.github.com/anonymous/8487446a2fd908910c66a2aafb...

Admittedly, mapping objects to/from database entries is a bit more complicated. There are several ORMs out there or you can role your own.

Post reply on HN