Assume mainstream adoption as used by around 7% of all github projects
Personally, I’d like to see Nim get that growth.
I’m learning Rust at the moment and I too think I have some reservations with its syntax. Most of these reservations come from my strong preference for functional programming over OOP.
I am unsure if I like method-syntax period, even if it isn’t inherently OO. Chaining just makes me feel uncomfortable in a way piping doesn’t.
Also it seems idiomatic for values of enumerated types to be written
Type::Enum
, which seems ugly and unnecessary.What’d you make of this article?: https://matklad.github.io/2023/01/26/rusts-ugly-syntax.html
About the article you linked:
Author is removing every part of the initial function, admitting there are reasons those things are there in the first place, only to be left with a slightly more verbose version of an equivalent python implementation. Well then just use python?
Author also doesn’t seem to understand what static polymorphism is/why this specific function is generic. It’s not strictly about “bytes”, it’s about avoiding virtual calls/have nicer API. Author conveniently omits mentioning the clone() calls their version requires from the client call. Or they would make everything automatically cloned, and I already addressed that in the first paragraph I
Finally, standard libraries are notoriously bad examples of “normal” code. They mention it, but still declare that that their example is relevant. If the functions I wrote were compiled and used thousands of times per day I would probably worry more about splitting generic and concrete implementations. I’ll take this over anything in the C++ standard library (which is a much more relevant language to compare rust with than e.g. python)