::
FIG 2.1 // ENTRY
Back to Index

Learning Go

Date:
Learning Go Hero Image

Preface

I’ve been a web developer for roughly 20 years, starting with Macromedia Flash and Dreamweaver. My journey began with PHP and jQuery, moving through Ruby, Python, Node, and Elixir. While JavaScript/TypeScript is my favorite for its syntax and ecosystem, I know it’s not always the best tool.

Recently, I’ve seen Go (Golang) heralded for its performance and Developer Experience (DX).

What is Go?

Go was designed at Google in 2007 to improve programming productivity in an era of multicore, networked machines and large codebases.

- Wikipedia

Designed partially out of frustration with C++, Go offers a robust standard library, static typing with excellent IDE support, and no VM requirement. It excels in networking and CLI applications.

What will I use it for?

After completing the website walkthrough, I found Go’s syntax readable and intuitive. To accelerate my learning, I used this GitHub repo which highlights syntax differences for Node.js developers.

I plan to rewrite my network-mapper app in Go. The original JavaScript application (Fastify + Solid.js) struggled with performance during nmap scans. I hope Go will resolve these issues.

Plan:

  • Frontend: Solid.js (switching to Kobalte for accessible components).
  • Database: Switching from PostgreSQL to SQLite for portability.
  • Backend: Echo framework.
  • Deployment: Embedded Vite SPA within a single Go binary (using this guide).

I will share the GitHub repo once I make more progress.