maybe this is the best meme i ever made

the sudo thing dates it though lol

@132ikl It's outrageous I'm thinking about inventing a better programming language now

@132ikl whats the dark blue thing in the bottom middle

@agmlego @leo it is suckless terminal but i will grant that powershell also qualifies for this


cannot tell if meaningful much less true,
my brain isn't very computersingitizededu
a word I made up
just to set a rhyme at you

*clucks like a chicken three times*

@f69ked very real and serious image among us computer folk

@132ikl I'm going back to inputting code via front panel switches.

@132ikl Yeah, sure let's break everything that works well right now just for memory-safety, disregarding that maintained code is safer than newer code.

Also don't use Rust if you care about not using C, it's not a self-hosting language.

@lanodan i think i will write my next code in cobol :) (it is maintained)

@lanodan The point is not to "not use C" the point is to reduce the amount of unsafe code that we depend upon to be safe. The input to LLVM is generally considered trusted, the input to a rust web service isn't.

It's already been shown that even well established code still has safety issues. (sudo, for one).

Yes, *all* changes to a codebase have the chance of introducing bugs. You can incrementally introduce rust into a project to minimise issues, like what curl is doing.

I don't really care what language people write new code in, as long as it's safe (no UB) by default and has a clear marker of what is safe and unsafe. C/C++ fail this.

Rust isn't the only language with this property, though.

@5225225 sudo is well-known for being an horrible codebase, people that value security already had it replaced with doas or just nothing and using something like su.

And Rust is depending on OpenSSL and so far I haven't heard that rusttls is good so if you would really want a web server to be secure you'd better use Go instead, which is fully self-hosting, as in no C dependencies in the standard library, not just the compiler.


Rustls (and its dependencies) have been audited:

that's actually what's going to replace the TLS in Apache. mod_ssl is C (presumably), but mod_tls uses rustls instead of openssl.

Yes, ring does have C code in it (looks like it's from the BoringSSL project). Unfortunate, but pure rust crypto does exist. The point is to keep unsafe to a minimum, so instead of needing to audit 100% of a codebase for memory safety bugs, you need to audit 5%.

@lanodan @5225225 >as in no C dependencies in the standard library, not just the compiler

ehm... *if and only if* you disable C go during the build (non standard build option). Else user lookup / dns etc pulls in C code
@reto @5225225 IIRC that's platform defined but yeah you can end up with Go pulling a bit of C on some platforms but it's frowned upon in the Go community because C is a mess to parse.
Like OpenBSD starting to require using the libc for syscalls is seen as horrible.

@132ikl I find this hilarious! 😂

I mean I think it's pretty obvious it's meant to be in jest, but it's funny because it's true.

@132ikl I don't disagree with the sentiments, but I'm not sure you can extrapolate what we know today to what was known about in the early 1970s when C came about - it feels a bit like hindsight.

I mean, it was meant as an improvement to BCPL (or, a variant of it) - and to be fair, it was an improvement on BCPL and its variant, it's just that we know a lot more nowadays.

@132ikl "Wanted to access memory directly anyway? We had a tool for that: It was called "ASSEMBLY"" is literally us with libseven

Sign in to participate in the conversation

A Mastodon instance for programming language theorists and mathematicians. Or just anyone who wants to hang out.