I think we have a lot of software engineers on the network but not a ton of programming talk so I'm gonna kick this into gear a bit, here we go:
What technology or programming language do you think is the most underrated? #software
Palm OS literally had a function to let you redirect any system call to your own code for every app on the device. (which was fantastically useful for, say, adding crazy new features to the operating system, but nevertheless…)
C++ introduced the object-oriented syntax which has shown up in just about everything since then; otherwise plain C is a lovely clean little language that nobody should ship anything in.
And Rust is a messy "C/C++ with all the grumbling you need to do to use it safely" cognitive load C just ignores.
I'm no embedded engineer but I've written things in C for work. I also replaced the controller board for my air purifier with a Pico W with a TCP server in Rust. The skeleton is a bit weird but `embassy` made it very easy to write.
(I also made it an "o'scope" to verify the control lines.)
Depends on your goals. If you want to build something specific with non-hobbyist hardware on a timeline and collaborate with other embedded devs, C is still correct, generally. But if you're writing something more for yourself as a hobbyist and you stick to stuff that's supported, Rust is great.
From a professional perspective, you will need to know C to work in embedded software development for the foreseeable future. But if you're not going to work in industry in that capacity, it's much less critical.
tbh if your goal is to be a good C or C++ programmer I would argue you should learn Rust first because to write safe code you need to be running a borrow checker in your head that’s every bit as pedantic as the one rustc ships with.
This but unironically- the software part.
(If only because multiple C impls are/were viable enough, that turnkey compilers actually exist for the vintage targets I care about. They don't even need to be great C compilers.)
From the classic 'Real Programmers Don't Use Pascal',
"... C programming can be appreciated by the Real Programmer: after all, there's no type checking, variable names are seven (ten? eight?) characters long, and the added bonus of the Pointer data type is thrown in."
#software
CSS. It's very rarely used to its full capacity. If your CSS is more than a page, it can be refactored down to practically nothing. But it takes a lot of work in the code.
my #1 thing with CSS is, the lack of native scoping really gives it a worse reputation than it deserves
shadow dom made me like CSS a whole lot more, but it's got its own problems
It definitely has its problems, but I'm still not ready to forgive the last decade of frontend engineering for deciding that CSS would be better if it wasn't cascading. Or a sheet, for that matter.
Yes!! I was a web dev for ages before switching to being a UI engineer for games and not a day goes by where I don’t long for the power and elegance of styles that cascade 😭
I've always understood the DOM as 3 things:
HTML (what the content is, how it's structured, and the order it appears in)
CSS (how the content looks and appears (or doesn't appear))
JavaScript (for manipulating HTML and CSS at runtime after page load is complete, among other tasks)