DEV Community

Benjamin Calderon
Benjamin Calderon

Posted on

2 1

On learning GO and code that grows nicely

A few days ago I decided to learn GO because I'm falling in love with typed and compiled languages (i.e. Rust too) but with GO you can make a http server with the std library in a few lines!? and deployment is just running a binary on the server, no need to install dependencies or production environment? I was sold.

But for whatever reason (I'd dare to say experience) when I started learning GO instead of learning the traditional string methods and loops and syntax I was interested in code organization, microservices, deployment and test and such... came across DDD and other ideas for software architecture. This wasn't really related to GO but GO seems to push to to write code than can grow without becoming a unworkable blob of stuff

And then I picked up a project last Sunday and oh boy do I love GO! Writing GO, testing GO and adding code that it's easy to plug in new features... and then I had to write Python for a helper script... ugh! programming is scary, don't go out there without a compiler buddy to help you along and without structures that tell you what certain data does and how is that data shaped.

Anyways, just a quick post to share some of my excitement learning a new language and thinking a little more like a software architect for the first time!

So if you wanna learn Go just Go and do it! (sorry, it's physically impossible to write about Go without including a pun!)

AWS Q Developer image

Your AI Code Assistant

Automate your code reviews. Catch bugs before your coworkers. Fix security issues in your code. Built to handle large projects, Amazon Q Developer works alongside you from idea to production code.

Get started free in your IDE

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more