7 votes

What programming languages or technical projects did you focus on in 2021? What will you focus on in 2022?

In 2020 I posted two topics:

The discussions were interesting, and I figured I would re-ask both questions here at the end of 2021.

So, what programming languages, frameworks, and technologies did you focus on in 2021? It could be something you dedicated time to as a hobby, something you use professionally, etc.

What languages, frameworks, and technologies would you like to focus on and spend more time with in 2022? Why?

11 comments

  1. [2]
    vegai
    Link
    In my professional life it was mostly python, fastapi and machine learning stuffs with a sprinkle of typescript and react. AWS. In my personal life I tried to learn Zig, Nim and Rust by reading...

    In my professional life it was mostly python, fastapi and machine learning stuffs with a sprinkle of typescript and react. AWS.

    In my personal life I tried to learn Zig, Nim and Rust by reading random articles and books and doing absolutely nothing. I can with a lot of confidence say that this strategy is not effective. I kinda know all of those three already enough that I could actually do something with them, but just reading about them instead of doing something is some sort of a harmful addiction. It's like programming porn.

    So, going forward to 2022, Zig and Rust are in focus. Nim might be down there too, but this year I've grown to dislike things with indent-based blocks (mostly from a lot of Python and YAML), so that might be enough to discourage from using it more. The Common Lisp hype is also ever present for some reason, with the awesome runtime environment being the biggest draw to it. We'll see if that leads to anything, probably not.

    As for web technologies, https://htmx.org/ and https://hyperscript.org/ seem very interesting. Perhaps I'll check those out in 2022.

    4 votes
    1. Wulfsta
      Link Parent
      I like to do problems 2-20 of Project Euler to learn a new language, if you’re looking for a way to learn them quickly.

      I like to do problems 2-20 of Project Euler to learn a new language, if you’re looking for a way to learn them quickly.

      1 vote
  2. hamstergeddon
    Link
    I started 2021 off really intent on getting back into WordPress (PHP) development. 5 years ago that was my full-time job. Developing themes/plugins for local companies and I loved it. The pay was...

    I started 2021 off really intent on getting back into WordPress (PHP) development. 5 years ago that was my full-time job. Developing themes/plugins for local companies and I loved it. The pay was terrible though, so I jumped ship and found myself in Moodle development. I did that for a few years and I started to really miss WordPress. So I put myself in a position to inherit all of our WP work at that job but it just didn't work out. They handed it off to someone more junior and kept me focused on bigger projects. Which, combined with lower-than-ideal pay, led me to jump ship again. I had expected my current job to be more WP-centric, but my first (and so far only) has been done in Laravel. I've dabbled in some WP stuff here and there, but the bulk of my attention has been on Laravel since August. I really enjoy Laravel, although I find the documentation a little overwhelming and lacking in good examples at times. 3rd party tutorials/docs are super hit and miss as well. A lot of it is outdated or just plain wrong.

    I don't know what I'll focus on in 2022. I know for January I'll be continuing my project in Laravel, but after that who knows? Hopefully some WordPress, but I'm pretty much open to anything. I'd like to make some time for myself to get better with JS. I'm decent with it, but my code is always so messy and I'm terrible at structuring things in JS.

    3 votes
  3. lonk
    Link
    For my hobby project LinkLonk, I really enjoyed using Golang for the server part. In particular: The language is simple - even though I don't use it all the time, I find that I can remember the...

    For my hobby project LinkLonk, I really enjoyed using Golang for the server part. In particular:

    • The language is simple - even though I don't use it all the time, I find that I can remember the syntax more often than for other languages (where I have to google how to do a basic for-loop or what not).
    • Excellent backward compatibility - no issues with upgrading the language version (https://go.dev/doc/go1compat). For a project that I do in my spare time the last thing I want to worry about is upgrades. The plan is to introduce generics in a backwards compatible way. This gives me confidence that my code will continue to work as is and I would still be able to use the new features.
    • Great library support for server-side stuff - anything I needed was very easy to find and use: Markdown parser, sending Push Notifications, sending emails.
    • Static typing - I develop the project with large gaps of time in between. I can't keep the state of the code in my head. The static typing checks are a great assistive tool. I don't need to worry about breaking something when refactoring code. At the same time I don't feel like static typing introduces too much boilerplate (unlike C++ or Java).
    3 votes
  4. knocklessmonster
    Link
    A good chunk is non-technical, at least relative to what's going to come up here. I'm trying to actually contribute to FOSS projects as much as I can. As an American, native English speaker with...

    A good chunk is non-technical, at least relative to what's going to come up here.

    I'm trying to actually contribute to FOSS projects as much as I can. As an American, native English speaker with no deep programming, artistic, design or language skills I'm somewhat limited, so I'm actually trying to find small things I can do for QoL: Package fixes and the like. I submitted a PR to Void Linux I think last year, and have learned a bit about Fedora's packaging infrastructure to submit a PR on a package. Unless somebody knows how I could somehow do some sort of manager-type system design on a FOSS Project?

    Over my winter break I hope to finally plan and develop a Doom launcher I've wanted to make. I just took a System Design class that ran me through all the steps, and a fair amount of it is applicable (needs analysis, GUI prototyping, data stuctures if I wind up using sqlite), and I'll probably whip something together in PyQT, and I'm not sure if I want to try sqlite or .ini configuration. "Feature complete" would be to make it a 1:1 clone of RocketLauncher2, and I plan to structure it similarly.

    2 votes
  5. admicos
    Link
    I didn't really do much this year, I don't have a single "thing" I can point to and say "i focused on that". On somewhat of a chronological order, I made: a speech to text plugin for Tasker:...

    I didn't really do much this year, I don't have a single "thing" I can point to and say "i focused on that".

    On somewhat of a chronological order, I made:

    The only thing these 4 things have in common is that I don't have a need for any of them. I don't need speech-to-text in my Tasker setup, I don't use Discord as much (as I did when I made the bots, and the bots weren't that useful anyway) anymore, and my setup runs Minecraft on Xwayland without any issues.

    Around the time I last committed to the first Discord bot, I also briefly tried out using TiddlyWiki. I guess I liked it enough that just a couple days ago I started trying it out again. I am not entirely sure how much I'll use it (and it still needs more organization and adding my previous content back over), but my tradition of making stuff I don't have a need for apparently hasn't stopped yet.

    2 votes
  6. DMBuce
    Link
    Most of the spare time I dedicate to personal projects went into my Minecraft resource packs and datapacks, and I don't see that changing. I just checked and at the beginning of 2021 I had 25...

    Most of the spare time I dedicate to personal projects went into my Minecraft resource packs and datapacks, and I don't see that changing. I just checked and at the beginning of 2021 I had 25 packs. Now I'm up to 63, and have plenty of ideas for more. Here's what I'm currently working on: https://i.imgur.com/8f4XvUK.png

    Also, in October I took a bunch of ad-hoc scripts in my ~/bin, mostly written in shell, and rewrote them / cleaned them up enough to toss on GitHub, which resulted in a crazy amount of activity for me: https://i.imgur.com/YkiSXVH.png

    2 votes
  7. DeFaced
    Link
    I really want to focus on programmatic configuration of cloud environments, so I’m trying to learn python. I know nothing about coding and I purchased a Udemy course on sale. It’s gone about how...

    I really want to focus on programmatic configuration of cloud environments, so I’m trying to learn python. I know nothing about coding and I purchased a Udemy course on sale. It’s gone about how you would expect, slow going but I’m making progress.

    2 votes
  8. drannex
    (edited )
    Link
    For the past 18 months I've developed five complete hard prototypes (nine overall iterations) on my latest robot, Chariot. I am now nearly finished with what I believe will be the last prototype...

    For the past 18 months I've developed five complete hard prototypes (nine overall iterations) on my latest robot, Chariot. I am now nearly finished with what I believe will be the last prototype before getting a manufacturable version completed. This will be the first 'true' industrial modular robotics platform developed.

    I am also currently in the process of rewriting all of the drivers I've written and control schemes from Rust to Elixir to make better use of my time (after previously writing them in C). I've started work on some basic autonomous driving mechanisms, but I won't be able to test them for a few more weeks other than what has worked in the simulator.

    I won't mince words here, I am excited to show this all off to someone soon.

    2 votes
  9. [2]
    Micycle_the_Bichael
    Link
    I think I'm going to try learning Haskell in 2022. I've started and stopped on it a couple times this year. I'm hoping maybe now that I'm medicated for my ADHD I'll stick with it a bit better. I...

    I think I'm going to try learning Haskell in 2022. I've started and stopped on it a couple times this year. I'm hoping maybe now that I'm medicated for my ADHD I'll stick with it a bit better. I don't really have any plans for what I'm going to use it for or do with it, I'm just curious about functional programming. I always wanted to get a PhD in mathematics (topology) and I keep hearing that functional programming is closer to abstract mathematics than imperative programming so maybe it'll scratch that itch. We'll see. The fact that I don't have a purpose or goal in learning it doesn't give me much hope. I tend to forget about hobbies if I don't have a reason to do them regularly, which means its going to be hard for me to keep practiced in the language. Guess all there is to do is try and hope for the best.

    2 votes
    1. mono
      Link Parent
      I learned functional programming this past year. Well, I suppose I've been dabbling for awhile too, but now, I can say I'm reasonably confident in my understanding of what a monad is. I didn't...

      I learned functional programming this past year. Well, I suppose I've been dabbling for awhile too, but now, I can say I'm reasonably confident in my understanding of what a monad is. I didn't have the appetite for a new language when I started so I actually learned in Typescript and a library/ecosystem fp-ts. It's great but sparsely documented and definitely a difficult introduction to FP (I had my reasons and don't regret it).

      Anyway, it kind of forced me to study Category theory, which is the field of mathematics FP is based on and I think could be the subject you're itching for. If abstract mathematics is what you're after, Category theory is as abstract as it gets. It's essentially an abstraction of abstractions. Really hard, if not impossible, to talk or think about in a way that both reflects the simplicity of the underlying concepts and actually conveys what the fuck they are and why. Lots of subtlety mind-blowing stuff not many people will ever be able to appreciate. As a programmer, it's extremely useful, even outside of the functional paradigm, because it equips you with a way to think and talk about code at a high level in a structured, systematic way requiring as little context as possible.

      If you want to know more, I always recommended this "Category theory for programmers" lecture series by Bartosz Milewski. I'm in the middle of watching it a third time because I find some things don't really "sink in" until you know more, and I doubt it will be my last. He is a great teacher, and if you already know a little bit about Haskell, you're the perfect audience for it.

      2 votes