diff options
author | uvok cheetah | 2023-11-23 21:13:12 +0100 |
---|---|---|
committer | uvok cheetah | 2023-11-23 21:13:12 +0100 |
commit | 4db81b60868c11ab919939948c5e06c9e53ab1d1 (patch) | |
tree | ca03a3496bb69e80cdc9bbf0b38750cdfb8507dd /_posts | |
parent | acff6e70d065955a8412cfe95d019e4642642b7c (diff) |
New blog post, Go
Diffstat (limited to '_posts')
-rw-r--r-- | _posts/2023-11-23-I-ll-take-a-look-at-go.md | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/_posts/2023-11-23-I-ll-take-a-look-at-go.md b/_posts/2023-11-23-I-ll-take-a-look-at-go.md new file mode 100644 index 0000000..0cd2c74 --- /dev/null +++ b/_posts/2023-11-23-I-ll-take-a-look-at-go.md @@ -0,0 +1,96 @@ +--- +layout: post +title: I'll take a look at Go +date: 2023-11-23 20:45 +0100 +lang: en +categories: tech +--- + +The company I work for reduced working hours due to the economic situation. +That means I have more time on my hands than usual. + +For some reason a voice inside my head suggested to take a look at the +programming language Go. I mean, I don't know why exactly. I spend most +of my work day coding either in C (embedded / firmware) or in C# (desktop +application), with the occasional Python, Bash or PowerShell for scripting stuff. + +I have to say, the idea of being able to compile a standalone binary - even +cross-platform because the cross-compiler is "already included" in the toolchain - +is kind of charming. +No separate runtime required because it's already being compiled into the binary. +No more discussions about which coding style to use ;). +Compile-time type checks are nice, too. But yeah, I only wrote a few lines +and didn't dive into the programming language too deep yet, so I can't +say much about it. + +So, thanks to the excellent library of the local university[1] I got myself +a book from Rheinwerk Computing Verlag, "Microservices in Go". Even if I don't +intend to code microservices myself, it was one of the few Go books available there. +And it gives me something new to think about. +Yeah, I mean, there are probably lots of online tutorials as well. But I get easily +distracted somehow, so having an offline medium is nice. (Don't get me started +on video tutorials). Also, it's free. + +My current development environment is VSCode, with the Dev Containers extension +and the `golang:alpine` Docker image (so I don't "clutter" my Linux Desktop system +even more. Oh, the pains of the various breaking virtual Python environments I have +whenever I dist-upgrade my OS…). + +Hm. I mean, in the past, I've "taken a look" at lots of programming languages. +Uhh… let's see… JavaScript, Haskell, Lisp/Racket, Rust… and probably +some others I already forgot. Nothing that lasted. On most occasions, +my interest / curiosity dwindled pretty quickly, because I had no real use +cases for them. + +That is because I don't code much in my free time. I already code ~~a lot~~ during +my work hours, so I don't see why I would spend too much of my free time on +that as well. Also, "I don't really have needs" for software I would need to write +myself. Most if the software already exists. +I occasionally write a few lines of bash or Python to automate things, +but that's it. I don't really see myself implementing a messenger, BitTorrent +client, mail client, web browser, database… you get the idea. I certainly +can't do things better than others. It might be nice to learn how certain +technologies/things work, but currently I don't have an itch to scratch, so +to speak. I also tried Advent Of Code once, but… ended of getting a bit +frustrated quickly. + +Luckily, I haven't encountered a company yet that required having +programming projects in your free time yet. Programming is not really a… +"passion" for me, I would say. I get some joy when I can solve a problem. +At the same time, software development isn't really my "dream job". +It's something I can do and that earns a good amount of money.[2] +Gotta admit, I don't even know what my dream job would really be. I kinda +don't want to spend too much time thinking about it. + +So why am I looking at Go now? Honestly, I have no idea. Boredom and the urge +to learn something new. Apparently, learning guitar[4] and Swedish is not enough for my brain. +Maybe the urge will pass after a few weeks, like the joy of a new technical gadget +that ends up lying in the cupboard. + +[1] Libraries are amazing! If they didn't exist one would have to invent them! + +[2] And holy moly, when I see what some big companies pay… +Makes me think "That's more money than I'll ever need".[3]<br/> +<rant> +I also kinda find it unfair that software engineers are paid so much +better than, say, medical care personnel. The latter doing much more for society, +or as I tend to think of it, "something more useful" (or rather meaningful? I have +trouble finding the correct words for it). +While most software engineers… well, write software for a company, +so the company can sell it for money, growing year by year, making more money, +which is just numbers on paper (or on the screen) after all… Urgh. I have trouble +expressing how much I hate this +"The economy needs to grow every year for ever and always or we're all doomed!!!!!" mindset. +And yet I kinda "have to" take part in this "hamster wheel", since I want to earn +enough money to be able to save for when I'm old. +</rant> + +[3] Unless I were to move to a high-rent city like Munich or Berlin, hah ;) + +[4] Current "playlist": A Christmas programme. This is for an upcoming concert. +I play in a group with flutists and we'll be playing quite a big programme. +Oh how I came to ~~hate~~ be frustrated by Mike Oldfields "In Dulci Jubilo" +due to its rapid chord changes. Aaaaaarrrgghh! Gotta admit, "It's my fault". +Most of my frustration stems from having learned to play the G chord +with fingers (1,2,3) instead of (2,3,4), which makes the chord changes really hard. +My pinky is not ready for the challenge yet. \*sighs\*. |