515
You can pry pattern matching from my cold dead hands
(sopuli.xyz)
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Hard disagree. Super beautiful.
Average Rust code:
Hell I don't want to know what you define as ugly then.
Sorry, I love Rust but I can't really agree with you here. They only showed a
macro_rules!definition, which is definitely rust syntax. Lifetime annotations are relatively common.I will concede that loop labels are incredibly rare though.
Loop labels are rare, but they lead to much simpler/clearer code when you need them. Consider how you would implement this kind of loop in a language without loop variables:
In C/C++ you'd need to do something like
Personally, I wouldn't call it ugly, either, but that's mostly a matter of taste
Well, you'd typically put the loops into a function and then do an explicit
returnto jump out of there. I believe, there's some use-cases where this isn't possible, which is why I'm cool with loop labels existing, but I've been coding Rust for seven years and have not needed them once...https://fprijate.github.io/tlborm/mbe-macro-rules.html#%3A%7E%3Atext=macro_rules%21+With%2Cfollowing+form%3A
I guess I see what you mean if we want to get very technical about what a syntax extension is. But I think for the purpose of this discussion, it's reasonable to think of
macro_rules!as a part of the Rust language. Practically speaking, it is syntax provided by the language team, not just users of the language who are free to extend the syntax by usingmacro_rules!to do so.What language are they then? They're not Python, JS,
I don't know if anyone would argue Rust macros are beautiful. If someone does they should be checked out by a doctor.
Speaking as a fan of Rust.
Definitely not your average Rust code, more like a very ugly example of it.
Also, as the syntax first put me off as well, I gave it a chance years afterwards, and have now (or rather years ago) officially joined the church of Rust evangelism.
A lot of the syntax you define as ugly makes sense when you learn it, it's just so much more explicit than a more dynamic language, but that exactly saves your ass a lot (it did for me at the very least) (I don't mean macros, macros are ugly and should be avoided if possible)
Brainfuck Cobol Perl
for a start