summaryrefslogtreecommitdiff
path: root/_posts
diff options
context:
space:
mode:
authoruvok cheetah2023-11-23 21:13:12 +0100
committeruvok cheetah2023-11-23 21:13:12 +0100
commit4db81b60868c11ab919939948c5e06c9e53ab1d1 (patch)
treeca03a3496bb69e80cdc9bbf0b38750cdfb8507dd /_posts
parentacff6e70d065955a8412cfe95d019e4642642b7c (diff)
New blog post, Go
Diffstat (limited to '_posts')
-rw-r--r--_posts/2023-11-23-I-ll-take-a-look-at-go.md96
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/>
+&lt;rant&gt;
+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.
+&lt;/rant&gt;
+
+[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\*.