|
Rik Arends
@
rikarends
Amsterdam
|
|
Building Makepad, Livecoding for Rust for native and web
|
|
|
14.544
Tweetovi
|
1.149
Pratim
|
2.281
Osobe koje vas prate
|
| Tweetovi |
|
Rik Arends
@rikarends
|
4 h |
|
The nicest one i found that maps beautifully to Rusts datastructures is RON. Nice to hand edit as well.
|
||
|
|
||
|
Rik Arends
@rikarends
|
4 h |
|
I've seen this wall now many times, and thats why this time i'm going all the way.
|
||
|
|
||
|
Rik Arends
@rikarends
|
4 h |
|
Abs true you can add 'some' value quicker, but there will be the inevitable wall you hit in terms of customizing existing systems/editors like say vscode, or relying on a slow HTML stack to draw highly data dense systems.
|
||
|
|
||
|
Rik Arends
@rikarends
|
7 h |
|
I'd say yr giving the C++ containers too much slack here. After 15 years of fighting it and reinventing containers (and almost everyone doing the same) Rust is a breath of fresh air when it comes to that. Not everything is 'just a tradeoff' and can be defended by it.
|
||
|
|
||
|
Rik Arends
@rikarends
|
7 h |
|
That is abs true. C++ is the vehicle of windows' binary interop (COM), but on mac that is Objective-C. Rust speaks both natively.
|
||
|
|
||
|
Rik Arends
@rikarends
|
7 h |
|
Templates actually aren't powerful though, heavily abused into doing all sorts of things yes (ie boost). But they aren't powerful compared to having a working macro/generics system. They are complicated, and thus people think they are powerful.
|
||
|
|
||
|
Rik Arends
@rikarends
|
7 h |
|
No its not that extreme, almost any large C++ codebase reinvents their own containers because std doesn't cut it.
|
||
|
|
||
|
Rik Arends
@rikarends
|
10 h |
|
Yeah, makes you wonder why the standards committee even bothers with a stdlib.
|
||
|
|
||
|
Rik Arends
@rikarends
|
10 h |
|
Yea im going to try to make everything i 'can' live editable, and for the rest live with that 3 seconds. But i agree its not the best. But still worth it over C++ for all the other reasons.
|
||
|
|
||
|
Rik Arends
@rikarends
|
11 h |
|
That maybe even the primary reason why Rust will reach much further than C++. Simply having a working stdlib with datastructures that don't suck. Beyond that working dependency system. And finally safety. But that comes at a lot of whining and moaning as well so.
|
||
|
|
||
|
Rik Arends
@rikarends
|
11 h |
|
If you just build your own deps, like i do build times are really not a problem. Makepad is not a tiny project and it compiles in 35 sec with all deps and iteration cycle is 3 seconds.
|
||
|
|
||
|
Rik Arends
@rikarends
|
11 h |
|
I know this 'invent the universe' in C++ has taken me what maybe a decade of my life? And i'm sure untold billions of $ in developertime all over the world. And did i improve things? nah not really.
|
||
|
|
||
|
Rik Arends
@rikarends
|
11 h |
|
I don't have that much experience, just know lots of gamedev people that berate std:'s erratic performance and weird bugs, thus they made their own. Including myself in a life past. But now with Rust i've only replaced Serde, which is quite amazing considering my NIH drive.
|
||
|
|
||
|
Rik Arends
@rikarends
|
11 h |
|
But if you see how python 3 did that that was rather painful. If you'd regard it as another language it would be less bad.
|
||
|
|
||
|
Rik Arends
@rikarends
|
11 h |
|
Yea i agree, or atleast 'major versioned without full backwards compat guarantees' so we can really do proper evolution.
|
||
|
|
||
|
Rik Arends
@rikarends
|
11 h |
|
I can see how the alloc patterns of vecs/strings could make you want something more specialised, occasionally. I did that too in my JSON parser, i also use things like mem::swap to minimise allocs sometimes.
|
||
|
|
||
|
Rik Arends
@rikarends
|
11 h |
|
Yea i believe that. And when code-gen is actually compiletime like with Rust its also far less of a liability as when you do it with JS style new-Function/eval.
|
||
|
|
||
|
Rik Arends
@rikarends
|
11 h |
|
And if you look where things are going, its getting worse. More and more things are added to the standard libs, which anyone using it will probably need to replace with something better.
|
||
|
|
||
|
Rik Arends
@rikarends
|
11 h |
|
I have to say C++ is really not selling this idea that 'standards based languages' are good for developers. If your standardlib is required to be 'replaced' by literally anyone who spends enough time with it. Why did you need to standardise it in the first place.
|
||
|
|
||
|
Rik Arends
@rikarends
|
12 h |
|
How much power you gain from those procmacros you understand when you write a generic serialiser/deserialiser with a derive macro. In C++ templates, i can't even imagine such concepts, or infinite compiletime warping templates through the 5th dimension.
|
||
|
|
||