sorry if my structure’s a bit messy, it’s 4am here and i’m stupid lmao
tl;dr: overall, i like rust, but i find its abstractions overwhelming at times, and i understand the hype
as a game programmer (and to some extent, system programmer) with a moderate amount of experience, i feel like rust is getting in my way most of the time, most importantly when i wanted to create custom data structures or optimize memory layout. i know it’s still possible to write linked lists and shit in a somewhat complicated way, but i’m not at that level yet and i don’t know when (and if) i’ll get to it. i know it’s by design, but it still frustrate me
the error handling system is alright, but far from my favorite. i like Zig’s approach way more, and even C’s (it’s dangerous yeah but ignoring shit can be a design choice sometimes). it is leagues better than any kind of exception system
the overly encapsulated types exposed by the std feel overwhelming too imo, i felt like i was writing pythonesque code 90% of the time and it worked without me fully understanding what’s happening under the hood. in short: too much forced abstraction. the reason why i like C/C++ is than i can build any form of abstraction on top of these language ; yeah they are huge footguns but i got the experience to handle them now and it’s hard to give up on these powers
oh, build times and resource usage are insanely high. compiling rust programs on my old computers always take ages, and on my most recent ones it’s still crazy long (comparatively to C and well written C++). not having stable specs or good alternative implementations is a bit scary but i know it’s getting better
some positive notes i couldn’t fit in: the syntax is a delight (very modern), the borrow checker is amazing and i like unwrap()
ing all my errors and not giving a damn
i might need more time with the language, after all i have, what, 50/100 hours with the language (over three years time, including reading the book twice)
i’m very open to working more with it to discover more intricacies, it’s an interesting language. i’ll gladly try your engine any time
yeah, but nothing as complicated! this is the real deal
i love programming languages and compilers. i wrote multiple forth’s (very fun exercise, i love forth), and at least (if i remember correctly) one lisp. i also designed at least a couple virtual computers with custom instruction sets and assemblers. and this june, i wrote golem, a semi-joke C-like language with some legit cool features that is my first “real” compiler, with AST and shit. among many other small programs, i wrote a bad terminal chess game in it
i also absorb a lot of information about programming languages, i often find myself reading nerd_emoji blog posts or watching talks about low level programming and language syntax
if you want to get started, i recommend looking into making a FORTH, then a LISP, then a C-like, it’s a great progression curve: forth pretty much only has a lexing phase and code generation ; lisp requires light parsing and AST generation on top of that ; C-likes are getting more complicated but using the same principles
none of these books helped me more than actually doing it and reading other people code! there’s a lot of small languages around the web
if you can do structs, you can probably do unions. due to the fact o7 is planned to compile to C, unions are not gonna be a big issue, but even if that wasn’t the case they aren’t too complicated if you plan your type system well. type system is the hardest part of the project so far, that’s why golem doesn’t have types
i plan on making the unambiguous optional (such as the ones right before }
s), but otherwise it doesn’t really fit the design of the language sadly. it would have been a good idea if i didn’t go for the “everything is an expression approach”
ty eheh