Drop hestiaRS and opting hestiaNIM? #101
-
Question
Given the extreme authoritharian goverences from Rust upstream in terms of tools, conventions, standards, naming conventions, and worst: incomplete support of cross-platform while spending time messing with logo and brand trademark, I really do not wish to continue supporting Rust in Hestia. Given that Firefox (Gecko Engine) has been playing catch up, I'm very permisstic about supporting that language given the track records were too vocal, too little actions. Given this trend is the same as Accelerated Mobile Pages (AMP) where it has good intention but bad execution, Rust goverence is sharing the same fate. We been through supporting AMP the hard way; I do not want to re-write another library because of external forces and threats that I can't control. The few reasons I selected Rust initially were primarily because:
and their offered RAII. Since we're going to rebuild a standard library, RAII is not really a priority (we're going to deal with unsafe interfacing with hardware anyway). I'm planning to replace with Zig, and Zig also has:
Both still failed to have built-in code coverage tool like Go did but it does not really matter since the libraries are inter-operable so Go can cover it. @corygalyna , I need your input. Background
The 3rd language requirements:
Current Research Artifacts (COMPULSORY)
Attachment
|
Beta Was this translation helpful? Give feedback.
Replies: 20 comments
-
Community seems ok: https://github.com/ziglang/zig The downside I can see is Rust being WASM first-class citizen while Zig can have some uphill battle. I do agree that the noise and nuisance is very de-motivating. |
Beta Was this translation helpful? Give feedback.
-
Give me time to look through. After all, you're still working on Phase 1.2. |
Beta Was this translation helpful? Give feedback.
-
Go stays right? |
Beta Was this translation helpful? Give feedback.
-
Yes Go stays. It's a matter of choosing a statically-linked non-GC language to compliment Go where Go can't reach. |
Beta Was this translation helpful? Give feedback.
-
Wow. This can be a hard decision. I'm on the move side mainly because:
|
Beta Was this translation helpful? Give feedback.
-
@JeanShuralyov , thanks for the feedback. The thing is that the market are heading towards Rust, not Zig in a large volume manner. Secondly, Rust is like C++, an extension to Go which is being represented as C like Zig. Have 2 common C-based compilers together does not bring in much values either. Besides, we got TinyGo which is still under development on their side that uses LLVM. |
Beta Was this translation helpful? Give feedback.
-
Yeah but you're going to re-write the entire libraries right so what's the point of those extra libraries? You are not going to use them anyway and very likely are going to discourage your customers from using them. Looking at this thread, the project is not yet reaching at code development and the Rust authorities already created concerns here and there. This is already a good reason not to proceed further. Yes, RAII is attractive but it is just a disciplined algorithm. What matters is solving the business problem first that sells, not having a shiny golden shovel that doesn't dig but used for bragging all over the places. |
Beta Was this translation helpful? Give feedback.
-
Okay, remove the politics aside and keep it to technical requirements only.
The concern is if we successfully developed the library but no one is using, what's the point? It is also building a solution nobody buys. |
Beta Was this translation helpful? Give feedback.
-
That's the point. You guys don't involve in their politics but look at what they did to both of you.
The thing is LLVM can't serve many micro-controller products anyway. Most sellers are stuck with embedded C. At least Zig has a proven track records of natively interacting with C codes while working with a C transpiler. At least Zig facilitates cross-compilation as easy as TinyGo and Go compared to the restrictions made by |
Beta Was this translation helpful? Give feedback.
-
all right ladies, so far to support Embedded in Zig/Rust:
The technical goal is to deprecate from using C with the new advanced tools. Please clam down and continue the debates. Thanks for the inputs. |
Beta Was this translation helpful? Give feedback.
-
Need to find out Zig has such feature. |
Beta Was this translation helpful? Give feedback.
-
Answer is YES. C-style way with headers. |
Beta Was this translation helpful? Give feedback.
-
Note that if I get harassed by any Rust zealot because of this case, I will cast a veto decision to move to zig. |
Beta Was this translation helpful? Give feedback.
-
After reading through this article, https://kevinlynagh.com/rust-zig/, I can see your perceptive on why you're dropping Rust:
I concur. |
Beta Was this translation helpful? Give feedback.
-
What about nim - https://github.com/nim-lang/Nim/wiki/Nim-for-C-programmers? This one is much closer to the requirement and have transpiler capability. |
Beta Was this translation helpful? Give feedback.
-
My turn to find out. |
Beta Was this translation helpful? Give feedback.
-
---- Extra offering ----
Good taste @corygalyna . |
Beta Was this translation helpful? Give feedback.
-
Yeah. I vote to use hestiaNIM over hestiaRUST. The big change is mainly:
Opted Nim because:
@JeanShuralyov , although I don't know what's the story between you and rust, would you support the idea? |
Beta Was this translation helpful? Give feedback.
-
Interesting language. If it can natively support Zig, I'm fine. Sharp eyes you got there! |
Beta Was this translation helpful? Give feedback.
-
Okay, in that case, we will drop the Rust in favor of Nim as our 3rd language (statically typed). We can close this discussion now. |
Beta Was this translation helpful? Give feedback.
Yeah. I vote to use hestiaNIM over hestiaRUST. The big change is mainly:
Opted Nim because:
@JeanShuralyov , although I don't know what's …