I also enjoy that it's on a laptop, which they could've carried to M'am's office.
- Posts
- 49
- Comments
- 3137
- Joined
- 6 yr. ago
- Posts
- 49
- Comments
- 3137
- Joined
- 6 yr. ago
Firefox @lemmy.ml Copy RSS Button (Extension)
Programmer Humor @lemmy.ml Me, when doing error handling
Linux @lemmy.ml Underappreciated
topMemes @lemmy.ml When the webpage doesn't want you opening new tabs
Open Source @lemmy.ml What's up with FUTO?
Programmer Humor @lemmy.ml Escaping a string when passing through multiple tools
Dad Jokes @lemmy.world When your Dad gives birth to you
General Programming Discussion @lemmy.ml Fighting human trafficking with self-contained applications
General Programming Discussion @lemmy.ml Thunderbird Accessibility Study
Programmer Humor @lemmy.ml Wish granted
ich_iel @feddit.org ich🦭🔄🐒iel
ich_iel @feddit.org ich🕜🫑🫙iel
Firefox @lemmy.ml Blasphemy! 😤
ich_iel @feddit.org ich💪iel
KDE & Plasma users @lemmy.ml Hmm, maybe something's bad with my theme...
Programmer Humor @lemmy.ml I don't know why this exists...
iiiiiiitttttttttttt @programming.dev 🙃🙃🙃🙃🙃
ich_iel @feddit.org ich🍃iel
ich_iel @feddit.org ich🐦iel
Linux @lemmy.ml TIL last-modified timestamp of a dir updates when a file/subdir is added/renamed/deleted

Lots of "modern" languages don't interop terribly well with other languages, because they need a runtime environment to be executed.So, if you want to call a Python function from Java, you need to start a Python runtime and somehow pass the arguments and the result back and forth (e.g. via CLI or network communication).
C, C++, Rust and a few other languages don't need a runtime environment, because they get compiled down to machine code directly.As such, you can call functions written in them directly, from virtually any programming language. You just need to agree how the data is laid out in memory. Well, and the general agreement for that memory layout is the C ABI. Basically, C has stayed the same for long enough that everyone just uses its native memory layout for interoperability.
And yeah, the Rust designers weren't dumb, so they made sure that Rust can also use this C ABI pretty seamlessly. As such, you can call Rust-functions from C and C-functions from Rust, with just a bit of boilerplate in between.This has also been battle-tested quite well already, as Mozilla used this to rewrite larger chunks of Firefox, where you have C++ using its C capabilities to talk to Rust and vice versa.