This Month in Rust, `May 2025`
ToDo
- [x] Settle for a date and location: Wednesday
2025-05-07, 19:15 CET at C4 (default: first Wednesday each month) - [ ] Send "Save the Date" info (with link to this ticket)
- [x] Basic Agenda (default: "This Month in Rust")
- [ ] Final invitation (deadline T - 10 days)
Invitation draft
Title: Rust in May: FFI
(The meetup will likely be held in German but we'll switch to English if needed.)
Dear Rustacean,
our next Meetup will be on Wednesday 2025-05-07, 19:15 CEST.
You're new to Rust, tried it out with some private projects or are already working professionally with it for years? You're in good company! Whether you want to speed up your python code, write a web service, need interop with your C++-codebase, cross-compile for a microcontroller, write an emulator, … we've got you covered!
We commonly open up with a brief summary of noteworthy changes in the Rust ecosystem. Be it updates to the language itself, public events, its impact on other projects and languages, …
After that we will take a look at calling into Rust from other languages and vice versa. First Oleg Parashchenko will show us how to call into Rust in simple cases, without using any additional libraries. After that Florob will present bindgen and cbindgen for generating bindings between Rust and C code.
Always wanted to know why Rust is harder to learn than other popular languages or why it lacks a certain feature? When is it appropriate to rewrite a project in Rust? Is the compiler really that slow and are the binaries really that big? Do all those safety guarantees have an impact on the performance? Fetch a drink and let's find it out.
See you soon!
Yours, Kai and Florian
If you have a topic you'd like to talk about, please let us know in advance. This way we can make sure there's a time-slot for you and maybe announce it officially. Thank you.
Rust News
From communication on meetup:
me: If there is any interest, I could share my experience:
FFI without libraries: There is a number of libraries to use Rust from other languages. But it seems that in simple cases we don't need them.
Florian: Would presenting in Mai be an option for you? Maybe we could do a Meetup focused on language interop then. Do I understand you correctly that your focus is on calling Rust from other languages, not vice versa? Is that mostly C/C++, or also scripting languages e.g. Python or Lua?
My current setup is mostly using Python from Rust through WebAssembly, but the approach is generic and doesn't depend on the direction or other languages.
Interesting tool: https://github.com/kobzol/cargo-wizard
Sorry I've been slacking a bit on this. Quite busy at work.
We should finalize an invitation and have it out by Wednesday. The regular date for next month's meetup would be May 7th. @olpa does your offer to do a presentation on that date still stand? If so, my idea would be to center the whole meetup around FFI. I have some experience with using bindgen (calling C from Rust) and cbindgen (calling Rust from C or C++). I know @kawogi has some experience with tooling for more advanced C++ interop.
So a logical schedule might be:
- FFI without libraries
- FFI with tools
- Integrating with C++
This is assuming none of the presentations would be excessively long. And since I'm springing this on @kawogi, for the C++ bit just a basic overview or showing some code would be absolutely fine.
@Florob Yes, I'm available
This is assuming none of the presentations would be excessively long. And since I'm springing this on @kawogi, for the C++ bit just a basic overview or showing some code would be absolutely fine.
That's fine. Thanks for handling this announcement!
I'm getting late 15 minutes, please start without me. @Florob , @kawogi