15
votes
What programming languages or technical projects did you focus on in 2020 and why?
Back in January I asked what programming languages users planned to focus on and the responses were pretty great.
Of course, back in January we were also on a completely different planet, so I'm curious how well users stuck to their predictions, considering everything that has happened since then.
So, what programming languages or projects did you focus on in 2020? Did you stay pretty close to the predictions you made earlier this year? Did you end up doing something completely different? Why?
Meta
I'm thinking about making this a yearly thing, where in January we talk about our overall predictions for the year, and then in November we come back and reflect on how accurate our predictions were, and why.
I'd forgotten I answered in that originally, but I basically did exactly what I talked about doing in there. I'll compare:
Professionally
Personal
No particular surprised for me, but then again, I do tend to plan out an arc for my year, and I mostly stick to it.
You seem to be in a similar position to me professionally. At least as far as languages used goes. How’s learning Rust gone for you?
I ask cause it’s been slow for me. Reminds me of learning C/C++ in college. Almost like my brain can’t quite wrap itself around the topic. Honestly it’s probably because I’ve tried to learn new topics alongside, but wanted to see your thoughts.
I like it so far, but I'm old and I learn things more slowly. I'm really not doing things "the Rust way" - I'm doing things in a pythonic way using Rust syntax, which isn't great. I've gotten really used to python, javascript, typescript and I'm not transitioning all that well. That said, I don't think it's Rust's fault.
I don't have that many valuable insights into Rust other than to keep building stuff and it'll get better, and it's crazy fast.
C + GLib. It's surprisingly fun to work with, even though it requires way more work to achieve basic stuff that one gets for free in C++, it's really satisfying to use - at least for me.
I need to try out Vala sometime in the future. It's a C#-like language that compiles to C+GLib, so the programmer gets the native performance and a convenience of a modern language. It's not as active as other languages are, but some circles still use it, especially for Linux/Gtk desktop application development.
I'll have to check Vala out. I've been checking Beef https://github.com/beefytech/Beef. It's also based on C# but with different design goals such as no garbage collector.
Whoah, Beef looks great! I'm especially surprised by the custom IDE, which looks really awesome. I guess I'm adding this to my ever-growing list of languages I need to check out :)
I didn't reply to the previous topic, but this year I ended up learning quite a lot of Nix to help with the ongoing effort to get the ROCm stack working in NixOS. I want to put my Radeon VII to use.
I hadn't posted back in January, but most of my time this year has been working on making a generalized monte-carlo tree search algorithm written in golang. Recently, however, I've been learning more popular web technologies, such as reactjs, node and typescript. With those, I'm making a chess.com clone (except with connect 4) to learn how to work with them.
For my hobby project, I used Laravel Livewire for some SPA-like action on a non SPA - with some javascript sprinkles using AlpineJS
I took time this year to learn the static site generator (SSG) Hugo. At first I was a bit frustrated with it. It's a pretty complex/powerful tool, and most tutorials are "install this theme and modify some pages". The docs are decent, but like many projects, I don't think there's a good sequence starting from the basics. I actually ended up trying another, simpler SSG (called Zola), but I ended up coming back to Hugo.
I found the following tutorials, combined with the documentation, to be the most helpful:
They both start from scratch, without a theme, and this made it a lot easier for me to understand how Hugo works.
I think it's a really great tool. Not the easiest to get started with, but it's very powerful, and it generates very fast. I also appreciate that it uses Go's template syntax, which I'm already familiar with.
Well, rereading my post, I said I'd continue my foray into Swift and probably look into Python 3 to update some old Python 2.7 stuff I had. The first half was correct. I've done a lot of work in Swift (though almost none of it at work like I thought). I've learned a lot and feel like I've improved my knowledge of the language. Same with C++, which I do use daily at work. However, I did not touch Python 3 at all, and now it looks like the legacy project where I was using it may become pointless to maintain, so we may just scrap it. We'll see! I should probably still learn Python 3, but I'm less likely to use it regularly like I do Swift and C++, so I'm not sure it would stick.
Professionally: Erlang, and I picked up Go to work on a different project. Overall, I vastly prefer writing Erlang to Go, but I can't deny that Go gets the job done.
Hobby: More Erlang. I've written some Pony, but I've been having difficulty finding appropriate Pony projects to take on, because it's a pretty specialized language and runtime. In the past week, I started working on Tcl, and I have been having lots of fun with it!