Thoughts on GEOS in WebAssembly
Kyle Barron muses different approaches for bringing high-performance geometry libraries written in C/C++ and Rust to the to the Web, using WebAssembly.
It’s my belief that for any project beyond a certain complexity, there should only be three core implementations:
- One in C/C++ because C/C++ is today’s de-facto performance-critical language, and it can bind to almost any other language.
- One in Rust because removing memory errors brings so much potential and Rust’s ergonomics bring impressive development velocity to low-level code. I believe it’s tomorrow’s performance-critical language.
- One in Java because the Java Virtual Machine makes it hard to interface with external C libraries (and it’s yesterday’s performance-critical language?).