DEV Community

Discussion on: Golang, it was love at first sight.

Collapse
 
bgadrian profile image
Adrian B.G.

Ah yes, sorry about that. I think I used the wrong words, is not that I changed my mind, but I can add more details or debunk some of the ideas. At a first glance:

It has identity & a cool mascot

Gophers are cooler than I expected, I even made one

We like to work with JavaScript (building an API is easy or they can be complementary)

I didn't found any support for this, it supports the same features/frameworks like most popular web languages: a template system (builtin), Go-JS compiler, Go-WebAssemly compiler (builtin), but nothing special.

We like to multi taskand work with big data.

I didn't realized the scales of the projects where Go is used, and at what stack level is used. I have found important, latency and HA sensitive projects, I don't have time to put the links now but the resources are out there, a few examples are: Dropbox new storage system, Kubernets and Docker, Consul, DGraph, CockroachDB, terraform, Cloudflare analytics and othe systems ...

Community β€” after more than 60 hours of conferences panels and reading forums I can say it is a nice community.

Is an understatement, I found the community to be great, especially the Slack server.

I have found some limits, or downsizes:

  • intensive realtime, time sensitive apps is kinda cumberstone because of the lack of memory management, but I saw some talks, so they can be done but is harder
  • the builtin web server tools are too simple and don't have the proper default settings to be used in production, if you don't use a framework or some modules you will end up writing your own (like GorillaMux for routing)
  • Package management, Generics and error handling are the top 3 problems in Go and they are taking care of, in the next Go versions
  • Concurrency paradigms are not so easy to understand (is not related to Go, is just a new way of thinking), but are very easy to implement in Go.

Overall I still love it, I even have a personal goal to be an expert in Go in a few years, is a language that doesn't lie, WYSIWYG, simple, pragmatic and efficient.

Collapse
 
biros profile image
Boris Jamot ✊ /

Go 1.11 brought the concept of modules that allows to resolve the package management issue, like npm or composer.

I think that Go is production ready for many purposes as it's getting more and more used in software industry (elk beats, docker, openshift...).

Thread Thread
 
bgadrian profile image
Adrian B.G.

Go modules are not ready yet, after the need of /vendor dissapear then it will be ready.

I know about them, I even read the original longgg VGo articles and I love the idea. Coming from a NPM nightmare projects where errors and random builds occurs is going to be a bless to work with go modules.

Thread Thread
 
biros profile image
Boris Jamot ✊ /

I don't know much about Go and modules but I know we use it in my company for a big project. And yes, I noticed that /vendor was committed and my eyes started to bleed ☺️