👉@meena@glitch.social utilise witches.town. Vous pouvez læ suivre et interagir si vous possédez un compte quelque part dans le "fediverse".

do fans of the D language say "I want the D"???? 🤔

@a_breakin_glass @grainloom
Honestly, everybody who uses go should just switch to D.

(I'm not 100% sure the same applies to rust. Maybe like 60-75%?)

@a_breakin_glass @grainloom
It might. I haven't been able to glean specifics from rust fans about what makes rust worthwhile, other than "it's pointer safe" which is super common even in compiled languages these days.

@enkiv2 @a_breakin_glass linear/affine/whatever typing is not at all common, I know about maybe 3 practical languages that have it and only one is used widely: Rust

plus, it has no runtime, has traits instead of classic OOP, has a powerful type system, has iterators, so you can write functional style code.... and that's just what it already had at 1.0

it also has generators now (not sure if it's in stable)

oh, and a nice package manager

@grainloom @enkiv2 @a_breakin_glass I'd summarize some of those points by saying Rust takes the best lessons from the last several decades of programming language research on how to help programmers write modular reusable software. Many of those lessons are not complicated (sum types and generics are so incredibly useful and mostly very simple ideas) but the careful design to incorporate them all into a single language is important.

@jamey @grainloom @enkiv2 @a_breakin_glass me, I've always thought the best way to make reusable software was to write up your algorithms in pseudocode so anyone can use them

@kara @jamey @grainloom @a_breakin_glass
Pseudocode is just a poorly-defined language that nobody really knows how to unambiguously interpret. I prefer to avoid it whenever possible.

@a_breakin_glass @enkiv2 @jamey @grainloom well, worked for "Numerical Methods"!

my point, put across in a semi-joking manner, is that "reusability" as currently defined is a suspect ideal, at best

reusability should be achieved by coming up with universal abstractions that can exist _apart_ from code

reusing the code itself is merely an expression of that universal sin of computer geeks, valuing mere convenience

@grainloom @jamey @enkiv2 @a_breakin_glass the end result of chasing that dubious prize is what we see today

shit like node.js and Electron

write once, run anywhere! *bitter laugh*

@kara @jamey @enkiv2 @a_breakin_glass Or do it like Plan 9 did and just write small native C programs that play together nicely, instead of coming up with new platforms to port things to. 🤷
It's portable across CPU architectures and you don't even need things like WASM.

@grainloom @kara @jamey @enkiv2 @a_breakin_glass c really works best when all you have to consider is one compiler & os & hw combination

i really wanna meet the person who set the rumour into the world that c is a portable asembler language

@meena @grainloom @kara @enkiv2 @a_breakin_glass I mean I've written significant C that works on at least three compilers, most POSIX-conforming OSes, both obvious endiannesses (though not middle-endian), and at least 32-bit and 64-bit pointer/long sizes, and all of that wasn't too hard; just small patches here and there for Solaris and Hurd and BSD. But then we encountered Windows and everything broke 😫

👉@meena@glitch.social @meena

@jamey @grainloom @kara @enkiv2 @a_breakin_glass i've earned a lot of money (wasted a lot of life) compiling software for solaris (and it's cc, by which i mean: porting it over… it was no fun…)

· 0 · 0

@enkiv2 @a_breakin_glass @meena @kara @grainloom In the case of libXCB at least, I recall the biggest Solaris patches being to the autotools build system: entirely different compiler flags between GCC and the Solaris cc, unsurprisingly. But there were also some minor quibbles about the type of the pointer in a struct iovec, and maybe about the return type of malloc? I don't remember any more. We didn't use any GCC extensions IIRC.

@meena @grainloom @kara @enkiv2 @a_breakin_glass haha, yeah, fortunately I only had to accept patches from somebody working for Sun, so I didn't have to figure out the details myself 😅