Replies: 3 comments 15 replies
-
Rust has been fantastic for Deno. Zero regrets.
Absolutely. I'll never start a new C++ project. Rust services the same problem domain, but solves it better, in many ways. More than anything, having a single build system (cargo) and a system for linking in 3rd party code (crates.io) helps immensely. The biggest problem in C++ is linking to 3rd party code. Every project uses different systems: gn, gyp, cmake, autoconf, make. Rust is better in a myriad other ways too. But we really appreciate being able to pull in complex 3rd party native code without much trouble. |
Beta Was this translation helpful? Give feedback.
-
Regarding GUI libraries: Rust has some fantastic up and coming libraries for GPU access (some written in pure Rust), most notably @crowlKats and @eliassjogreen are working on bindings to get WebGPU to render to a window. This should allow high performance, low level graphics with a modern API. If you care more about higher level GUI bindings (something like electron), also consider http://deno.land/x/webview. This binds your system provided HTML engine into Deno as a UI framework. |
Beta Was this translation helpful? Give feedback.
-
I realize that the Deno maintainers have no regrets, but what about the wider ecosystem of developers? You need to know Rust to contribute to Deno. C/C++ remains very, very active. And popular. For all the love Rust gets on Stack Overflow surveys, its hype is somewhat bigger than its size (not my words). It just doesn't seem fair to me that after more than a decade of developing Node.js core and extensions in C++, there's now no way for developers to contribute or extend Deno without learning a new language.
@ry This is more for curiosity's sake than any meaningful design decisions, but if C++ had a single tool for both pulling in dependencies and build system, would you be more inclined to (re)use it, or is it just the Rust syntax in general that makes it too good to give up? |
Beta Was this translation helpful? Give feedback.
-
Looking at the issues with lack of mobile ports due to Rust compilation issues (see other issues about that), and the lack of bindings for various GUI libraries since those libraries would require Rust ports/wrappers, makes me wonder something in general for @ry:
I know that Rust enforces safer code and memory management, but it seems to hinder this project from getting ports of popular C++ GUI libraries. Kind of the same issue that Rust in general has.
Beta Was this translation helpful? Give feedback.
All reactions