New Years resolution the past 5 years: I will get better with Rust.
...and I do get better but somehow it always feels like it's not enough. Like, I'm still an imposter.
I can program an entire embedded USB keyboard/mouse firmware from scratch that can do all sorts of things no keyboard has ever done before yet I still feel like a newbie somehow. Like there's all these people that talk about traits and mutli-threaring with async and GPU and AI stuff and I'm like, "I wrote an embedded_hal crate that lets you use both 8 and 16-channel multiplexers simultaneously!" or, "I wrote an interface that let's you use the extra space in your RP2040 flash memory as a filesystem!"
Yet everything I ever write in Rust always just uses the most basic and simple features because I still have trouble with complex lifetimes (passing them around quickly gets too confusing for me) and traits that work with non-basic types (because in the world of embedded 'static is king).
Good news: if you’re writing #Rust and only using basic features of the language, you’re doing it right.
People who use the advanced stuff either have unique, interesting challenges, or they’re over-engineering. Since the former are overrepresented in the blogosphere, you’re probably comparing yourself to them. But just because their problems are interesting doesn’t mean yours are not! Nor does it mean you have to use the same solutions.
If you can solve interesting problems (it sounds like you can!) and keep the code simple, more power to you!
Real programmers don't mess time messing around with butterflies or physically interacting with the world. They just intimidate the program into acting as they want through sheer fucking will
I skipped 2023, but in 2022 I got decently far using newer Excel functions like LET and LAMBDA. And then if I could I would golf the solution into a single cell formula. Years before 2022 I used Python. I think I had more fun with Excel. Will I be up for it this year?
Going with c# again. I know the language super well but don't often have a chance to get really deep into it with the stuff at work. These often present very non typical problems that require lesser used features.
I'd advise to pick up at least a second language for your non-critical projects. At first it feels so uncomfortable, but as you gain proficiency, you'll see it's a real ego boost. You realise that there really isn't anything you can't learn.
Might finally do something with Elixir. Plenty of ideas for using it with Phoenix and while I've seen a couple of tutorials for simple stuff like a live chat, I've done fuck-all thus far.
Might try V one way or another as well. Super small compiler and very small executables make me happy.
Probably start with Rust again this year, although it definitely makes some of the days a lot harder. I might switch to something better for quick code if I fall too far behind.
I might even try PHP - I coded it professionally at the start of my career but haven't touched it for a decade and I'm curious to know if its improvements make it pleasant to use.
Go, out of the languages I use at work, it is the one I learned most recently and have the least experience with. I am not planning to get on the leader board (or even comple more than the first week of challenges), but it is an excuse to get more comfortable with the standard library.
Really curious about how'd unsupervised AutoGPT handle it. Will probably require making some kind of agent that handles input and feedback loop, and it will definitely be a disaster, but could be interesting exercise.
I don't code enough to justify investing time and energy into becoming fluent in a new language, andd habits die hard, so... perl. It does what I need it to do, and it is so thoroughly embedded in the back of my head that it's extremely rare that I have to look something up when writing.
Python. I don't have much fun in that language and I figure maybe doing AoC will help delete the mental barrier of "Python make sad" and also get me to learn more about it, so if it still makes me unhappy at least it won't be an "I have very little understanding of what I am doing" unhappy.
I don't entirely know why, but it's difficult to enjoy programming in python, even if you enjoy the end product. Something about it's design, which usually forces you to do things imperatively or reach for a library, it's position as mainly a glue language, it's philosophy of "there should only be one way to do it". They're practical philosophies, but not very fun
You might have put into a words a suspicion I've had for a long time. I don't know if this is completely the case for me. But yes, Python most of the times doesn't spark joy
Seriously? This idea of always wanting to use the latest and best technology is a nightmare for those that come after you. I used to run an IT department where I literally had more languages/technologies that I had people to support them. You need two people to support each, for vacations etc so you do the math. It is a nightmare. Spare a thought for the poor support people and stick to Python or Node or whatever - even Perl...