Files
personal-website/blog/content-019

17 lines
2.2 KiB
Plaintext
Raw Normal View History

2023-12-01 00:59:13 +08:00
<header>
<h1>Seeking New Paths</h1>
</header>
<h2>It's Golang</h2>
<p>Oh wow, this is going to be a short one. I decided to pick up Golang on a whim and I am pleasantly surprised. I have picked up Golang a few times before, but it never clicked until this time, and oh boy did it click this time. I love the strongly-typed nature of the language, and how ergonomic everything is. Sure, there are some things that I would miss from Python like list comprehensions, but when Golang is blazing fast compiled, do I still miss them? I surely do not miss the pre-optimization going on in my head whenever I write Python.</p>
<h2>It's The Little Things</h2>
<p>Coming from the shithole called the Python packaging ecosystem, Golang set me free. No longer do I have to suffer from pip refusing to install packages, Poetry trying to do weird shit, using virtualenv to create "safe" spaces; Golang allows me to do the most important part of coding itself: the code. Dockerfiles with Python almost always devolve into some unholy incantation of pip and some demonic workaround to "get it right".</p>
<p>No longer do I have to start thinking about how Python would shank me sideways for "poor" coding decisions; Golang coding styles are simple but straightforward. Golang tests all function calls to make sure that they match the type signatures. The development cycle is tight and fast.</p>
<p>I just spend an hour yesterday reading about how Flask only has one event loop and one worker, how multiple requests are shared by one worker, oh-my-what-a-terrible-decision-please-use-ASGIS, worrying about having to move to a "production" quality server set up, and all that noise. If I have to read one more "comprehensive" guide on asyncio, threading, subprocesses, and how I need to do some convoluted set up just to get concurrency, I'd rather just git init a new Golang project. On Golang, concurrency is already built into net/http.</p>
<h2>It's Coming I Swear</h2>
<p>After countless of dead projects that my hard drive only knows of, I feel like Golang has truly pushed my determination to places I've never been before. It's exhilarating and exciting. Experienced Golang devs, let me have thismoment, before I crawl back into the depths of Python.</p>