Post

Avatar
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
Avatar
I think plain C is underrated and I'd like to see more vulnerabilities written with it. oops I meant software
Avatar
ⓘ users added information: David rates languages based on how much fun he has exploiting programs written in them
Avatar
Compiling with -fno-stack-protector will make your programs go faster or something
Avatar
Also gives it a natural extension point for other people to write programs that plug-in to it with no installation
Avatar
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…)
Avatar
since *most* syscalls go through libc, you can do similar things with LD_PRELOAD
Avatar
think of all the canaries that could be saved though
Avatar
Avatar
I still have nightmares around win2k, native code and the GS flag.
Avatar
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.
Avatar
I write plain C all the time. Gold standard for embedded. Rust will replace it slowly over time, I expect, on most platforms.
Avatar
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.)
Avatar
Yeah, embassy is great.
Avatar
Definitely don't use a Pico for anything analog you care about, though. The adc is hot garbage.
Avatar
would you preference toward rust or C for someone new to embedded? i decided to get into it recently, have written more rust if that changes things
Avatar
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.
Avatar
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.
Avatar
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.
Avatar
As an embedded software engineer who writes mostly bare metal code, C is my bread and butter. The very occasional bit of assembly ads a bit of spice!
Avatar
unironic like the simplicity of C, but uh, no doubt
Avatar
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.)
Avatar
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."
Avatar
Sorry, my workstation crashed due to a rather nasty memory leak and I had to restart it to get back here to respond.
Avatar
Avatar
Avatar
The obvious answer even if no one will admit it.
Avatar
Which SQL? 🤡
Avatar
Fair cop, but the answer is any of them. Multiple implementations are a strength. There is resplendence in divergence. It’s not a monoculture.
Avatar
Avatar
#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.
Avatar
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
Avatar
Avatar
Avatar
Most developers don't like CSS. It's more of a UI design language in the way it works.
Avatar
only another 3 years before it makes sense to use
Avatar
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.
Avatar
I agree, CSS is powerful. I don't understand the aversion some people have to it.
Avatar
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 😭
Avatar
Avatar
CSS can control what content is on the screen, not just the layout.
Avatar
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)
Avatar
today I’m here to talk about JavaScript - *is immediately pelted with snowballs and chased from the room*
Avatar
JavaScript is the best programming language ever written in 5 days.
Avatar
you're lucky it was only snowballs this time micah
Avatar
I like JavaScript, I like TypeScript. You will have to pry my node/deno from my cold dead keyboard. #software
Avatar
Someone called PHP the “Creed” of programming languages, which was funny, but 40% of all websites are Wordpress.