C++ compiler panic versus Rust compiler gentle guidance meme comparison
Why is this Compilers meme funny?
Level 1: Gentle Teacher vs. Angry Yelling
Imagine you’re learning something new at school and you make a little mistake on your homework. In one scenario, your teacher reacts by yelling in a confusing way: they’re upset and spew out a bunch of big words that don’t really tell you how to fix the mistake. You feel scared and you hold up your notebook like a shield, but you’re mostly just confused because you still don’t know what you did wrong. This is like the C++ compiler – it’s as if a small error in your work makes it start “confused screaming” at you. Not very helpful, right? You’d probably feel overwhelmed and maybe a bit discouraged, because all you got was a loud rebuke with no clear direction.
Now imagine another scenario: you make a mistake, but this time your teacher comes over with a smile and says, “Oops, here’s what went wrong.” They then calmly explain step by step what the mistake is. Maybe they even pull out a textbook and show you the exact page that covers this topic, or give you a little hint on how to fix it yourself. They might say something like, “You wrote the answer in the wrong form. Try doing it this way, and you’ll get it right. By the way, here’s a tip: next time, remember this rule so you won’t get stuck.” You’d feel relieved, right? You understand the mistake and how to correct it. You might even learn from it and do better next time. This friendly teacher is acting like the Rust compiler. Rust’s compiler gently guides you when you mess up, almost like it’s holding your hand and teaching you, instead of just shouting “Wrong!” and leaving you in the dark.
The meme is funny because it’s showing these two very different “personalities” side by side. On the top, the C++ side has the developer cowering as the compiler (the tool checking the code) essentially freaks out over a tiny issue – picture someone panicking and screaming gibberish. On the bottom, the Rust side shows a relaxed, helpful attitude – like someone patiently giving advice with a reassuring smile. Even if you don’t know C++ or Rust specifically, you can relate to the general idea: one helper isn’t really helping at all (just making you more confused), and the other is the kind of helper we all wish we had when we make mistakes.
So in simple terms: C++ is like an angry, confusing coach who yells when you mess up, and Rust is like a kind tutor who takes the time to guide you. That contrast is the heart of the joke. It exaggerates reality a bit to make it clear and humorous: nobody wants to be screamed at by a frying-pan-wielding maniac for a little error, but we’d all love a friendly expert who gives us a useful “list of what went wrong and how to fix it.” Developers find this meme funny because it rings true — working with these two languages can sometimes feel exactly like that!
Level 2: Friendly vs Frustrating
Let’s break down what’s happening in this meme in simpler terms. We have two programming languages here: C++ and Rust. Both are languages that need to be turned into machine code by a program called a compiler. When you write code in either language and hit “compile”, the compiler checks your code. If you make a small mistake – maybe a typo, using the wrong type of variable, or forgetting to include something – the compiler will catch it and refuse to build your program. But how it reports that mistake to you can be very different, depending on the language’s compiler design.
C++ is a language from the 1980s (an extension of C) and is used for all sorts of systems (from operating systems to game engines). It’s powerful and fast, but one thing it’s not known for is user-friendly error messages. If you make an error in C++, the compiler (like GCC or Clang, which are popular C++ compilers) might spit out a very terse or very technical message. Often, it looks a bit like jargon soup. For example, if you try to use a function or template the wrong way, you might get an error containing a long sequence of letters, colons, and angle brackets < > – basically the compiler’s internal reasoning. It might list multiple “notes” of candidate functions or template types that didn’t match. For a newcomer, this output can be incredibly confusing. It’s as if you asked a question, and the response was in a language you only partially understand, leaving you perplexed. No wonder the meme describes the C++ compiler’s reaction as "Confused screaming"! It captures that feeling: you see the error text and think, “What on earth is this thing yelling about? I just missed a semicolon!”
Rust, on the other hand, is a newer language (first appeared around 2010 and got really popular in the last few years). Rust was designed with a focus on safety and clarity. One famous aspect of Rust is how good its compiler error messages are. If you make a mistake in Rust, the compiler will still stop and tell you – but it tries to also be a teacher in that moment. The meme shows the Rust compiler as a calm, smiling presenter saying: “Here is a detailed list of what went wrong and how to fix it, including helpful links to the docs and some tips…”. And honestly, that’s not far from the truth! Rust’s error messages are often written in full sentences and even paragraphs. They’ll point out exactly which piece of your code is wrong (often with a little ^^^^ arrow under the offending part in the terminal output) and then give a hint or suggestion about how to correct it. It might say something like, “you tried to do X, but I expected Y. Help: perhaps you meant to do Z instead?” This is amazingly helpful when you’re learning or even when you’re experienced but just tired – the compiler is effectively doing some of the thinking for you.
Let’s look at a quick, concrete example to illustrate the difference:
C++ Example: Suppose we have a simple C++ function template that expects two parameters of the same type, and we accidentally pass it two different types (an integer and a string).
#include <iostream>
#include <string>
template<typename T>
void printTwo(T a, T b) {
std::cout << a << " and " << b << std::endl;
}
int main() {
printTwo(42, "forty-two"); // Oops: one argument is int, the other is const char*
return 0;
}
If we compile this C++ code, the compiler will error out. A simplified version of the C++ compiler error might look like this (comments added to explain):
error: no matching function for call to 'printTwo(int, const char [10])'
// The compiler couldn’t find a version of printTwo that takes an int and a const char*
note: candidate: 'template<class T> void printTwo(T, T)'
// It found our template...
note: template argument deduction/substitution failed:
// ...but it couldn't substitute T with a type that works for both arguments
note: deduced conflicting types for parameter 'T' ('int' and 'const char*')
// It spells out that it got int vs const char*, which is the conflict
Even in this relatively simple case, the C++ error message, while accurate, is a bit stiff. It tells you what failed, but notice it doesn’t directly say how to fix it. As a developer, you have to infer the solution (e.g., call printTwo with two ints or two strings, or write a different function overload) from the error. And this example is one of the more readable ones! Many times, especially with advanced C++ features, the error messages can be much longer and filled with symbols that only make sense if you know the language internals. It can feel frustrating and even intimidating for newcomers. This is what we mean by C++ having unfriendly compiler output: it’s not that the compiler is “wrong” — it’s that it doesn’t put effort into phrasing it in a newbie-friendly way. It assumes you, the programmer, can sift through the technical detail.
Rust Example: Now, let’s see how Rust might handle a small mistake. Rust requires that if you want to change a variable’s value, you explicitly mark it as mutable. If you forget to do that, it’s a mistake. Here’s some Rust code with a tiny error (not marking a variable as mutable before changing it):
fn main() {
let x = 5;
x = 6; // Oops: trying to change x, but x isn't declared as mutable
}
When we try to compile this, Rust’s compiler will give an error. And true to form, it will be descriptive and helpful:
error[E0384]: cannot assign twice to immutable variable `x`
--> src/main.rs:3:5
|
2 | let x = 5;
| - first assignment to `x`
3 | x = 6;
| ^ cannot reassign a non-mutable variable
|
help: make this binding mutable
|
2 | let mut x = 5;
| +++
Wow, that’s a lot more words than the C++ error, right? Let’s unpack it:
- It clearly states the problem in plain English: “cannot assign twice to immutable variable
x”. So we immediately know, oh, I tried to change something that I never made mutable. - It even points out where
xwas first assigned (line 2) and where the second assignment is (line 3) with those|bars and the underlining^. This is super helpful because it highlights the relevant lines in the code. - It then offers a solution: under the “help:” section, it literally tells us what to do – “make this binding mutable” and even shows how to do it by adding
mutin the code. The little+++under the spot in line 2 indicates where to insertmut.
So the Rust compiler not only identified the mistake, it also taught us how to fix it! It’s almost like having a tutor or a pair-programming buddy looking over your shoulder. Additionally, notice the error[E0384] code at the top. Rust tags many errors with a specific code. If you were curious or needed more info, you could look up that code in Rust’s documentation (for instance, by running rustc --explain E0384 in your terminal) and you’d get a longer explanation of why Rust doesn’t allow assigning to non-mutable variables, complete with more examples. That’s the kind of detailed guidance the meme is referring to when it jokes about “helpful links to docs”. The Rust compiler team has effectively documented each common error and linked it to the error message via these codes.
Comparatively, if a C++ compiler throws an error, you typically don’t get an error code or a built-in link to an explanation. Your best bet might be to search the exact error text online or read the compiler’s manual. Modern C++ compilers like Clang have started to include small improvements (sometimes they underline code or suggest alternatives if you mistype a variable name), but they’re still nowhere near as chatty and helpful as Rust.
So why does this difference exist? For one, Rust’s philosophy from day one was to be a safe and developer-friendly language. The language is complex (it has strict rules to guarantee memory safety, e.g. the borrow checker) and the designers knew people might struggle to get things to compile at first. So they invested a lot in errors that educate. In a sense, the Rust compiler is part of the learning toolset for Rust programmers. C++ comes from an older tradition; its compilers were built with the assumption that users just wanted the barebones info to debug on their own. There wasn’t an emphasis on explaining or mentoring the coder via error messages. And since C++ has been around so long, habits and expectations stuck – compilers focused on generating efficient machine code, and whatever errors fell out of that process were considered “good enough”. Only more recently have we seen some effort to improve C++ error messages, but Rust set a new bar for what’s expected.
For a junior developer or someone just learning, this meme is highlighting a very real feeling. It’s almost like the difference between two teachers or two instruction manuals:
- The C++ compiler is like a stern teacher who, when you mess up, gives you a very brief, cryptic remark and then moves on. You’re left scratching your head like “huh, what did I do wrong?” You might feel intimidated or frustrated, especially since the message might be technically detailed but not clearly pointing to a straightforward fix.
- The Rust compiler is like a friendly teacher or mentor. If you slip up, they not only tell you “hey, that’s not correct,” but also explain why and how you might fix it. They might even point you to the relevant chapter in the textbook (the documentation) for more reading. You come away not just knowing you had an error, but actually learning something from the error message itself.
This difference greatly affects the debugging and troubleshooting experience. In Rust, developers often feel the compiler is on their side, helping them write correct code. In C++, developers sometimes joke that the compiler is out to get them, or at least utterly indifferent to their suffering. That’s exactly what this meme is humorously comparing. Once you’ve seen it in action, you really appreciate a compiler that communicates clearly. After all, we all make mistakes – having a tool that patiently guides you through them (Rust) is a far better developer experience than one that just throws a fit (C++ compiler) that you then have to decode.
Level 3: Error Message Ergonomics
For experienced developers, this meme hits home because it highlights a well-known contrast in developer experience when working with these two languages. We’ve all been there: in C++ a tiny mistake (like forgetting a > in a template, or passing the wrong type to a function) can trigger a massive, perplexing error output. The top image (developer cowering with a frying pan) perfectly captures the feeling of being under attack by your compiler. The phrase "Confused screaming" parodies how a C++ compiler error feels: it’s as if the compiler just yells a bunch of jargon and numbers at you in a panic. You see something like:
C++ Compiler: error: no matching function for call to ‘foo(int, const char)’ … candidate template ... failed substitution ... blah blah ...*
Often, the actual issue might be a simple fix, but the message is buried in a deluge of template instantiation traces or references to internal types. This chaotic output is an everyday satire for C++ devs – you might joke that deciphering C++ errors is like reading hieroglyphs or debugging through a stack trace from the depths of the STL. Senior engineers chuckle (or shudder) because it recalls countless late-night debugging sessions where a one-character mistake led to pages of compiler errors. It’s a shared war story: C++ compiler errors are famously unfriendly compiler output. They’re correct in a pedantic way, but not exactly user-friendly. This is an open secret in the industry: powerful as C++ is, its tools often have a steep learning curve, and the error messages can feel like they were written for the compiler developers, not for everyday programmers.
Now contrast that with Rust. The meme’s bottom panel shows a smiling, considerate figure, representing the Rust compiler (rustc) gently walking you through your mistake. Seasoned developers appreciate this because Rust brought a fresh approach: treating error messages as part of the language design. Rust’s errors are so verbose and helpful that it’s become an internet trope of its own (people often joke “the Rust compiler is like a pair programmer or a tutor”). For example, if you try to mutate a variable without marking it mut, Rust will politely explain: “cannot assign twice to immutable variable x” and then actually show you exactly where x was first defined and suggest “help: consider making it mutable: let mut x = ...”. It might even include a reference to the book or documentation for more info. As a senior dev, you recognize this as exceptional developer experience (DX) engineering. The Rust team has essentially baked in a mini StackOverflow into the compiler. The meme text jokes about "including helpful links to the docs and some tips how to improve other parts of your code!". That’s only a slight exaggeration — real Rust errors often do point you to documentation sections or the official error book via error codes. And beyond just fixing the mistake at hand, the compiler might warn you about other issues (unused variables, stylistic conventions) in a constructive way. It’s like the compiler not only wants your code to compile, but also to be idiomatic and clean. This can feel almost nurturing compared to C++’s attitude of “compile or die”.
The humor here also comes from the personification of compilers. We have the C++ compiler cast as this traumatizing figure (so erratic that you shield yourself), versus the Rust compiler cast as the friendly mentor. In reality, many seasoned devs have felt that difference: moving from C++ to Rust, you’re struck by how much calmer the debugging process can be. Instead of dread when seeing an error, you might even feel a bit of relief – “Ah, the compiler will tell me exactly what I did wrong.” The meme is essentially winking at all the debugging & troubleshooting nightmares from C++ and saying: wouldn’t it be nice if all compilers behaved like Rust’s?
From a historical perspective, this reflects changing priorities in language design. C++ is a product of the late 20th century, with roots in C and assembly, where the compiler was seen as a strict enforcer that wasn’t particularly chatty. Rust, coming decades later, had the benefit of learning from developers’ frustrations; it was created in an era of open source collaboration where even error messages get community feedback. There’s an oft-cited unofficial goal in Rust development: “make the compiler guide you”. This meme resonates with senior devs because it’s practically a badge of modern language design to care about such things. It pokes fun at how spoiled we’ve become by friendly tooling: if you started with Rust first, encountering a C++ error can be a shocking experience — “Why is it yelling at me in gibberish?!”. Conversely, old-timers who slogged through C++ errors find Rust’s approach almost comically polite — it’s like going from a boot camp drill instructor to a personal coach.
In practice, this difference means higher productivity and less frustration. Experienced programmers know that time spent deciphering errors is time not spent writing features. The Rust compiler’s hand-holding can significantly cut down debugging time for common mistakes. Meanwhile, with C++, you often have to use intuition or external resources (forums, documentation, Googling the exact error text) to figure out what went wrong. It’s a running joke that many C++ devs have copy-pasted horrifying error outputs into search engines seeking help. Rust tries to preempt that StackOverflow search by embedding the hints right into the error output. The meme exaggerates Rust giving “tips to improve other parts of your code” — which is funny but also a nod to Rust’s linter (clippy) and compiler warnings that do occasionally give stylistic advice. For instance, if a variable is unused, Rust will both warn you and gently suggest a fix (like prefixing it with _ to indicate it can be ignored). A C++ compiler might also warn about an unused variable, but typically it’s a blunt “warning: unused variable X” with no further help, and such warnings often aren’t even turned on by default.
So, at this level, the meme is highlighting an industry pattern versus anti-pattern: Rust’s helpful error messages are an example of best-practice developer experience, whereas C++’s wall-of-text errors are an infamous anti-pattern we’ve begrudgingly lived with. It’s funny because it’s true, and it also carries an implicit “we can do better” message. Seasoned devs find it both humorous and a bit cathartic – we laugh, but we also nod in agreement remembering the pain. In short, the meme plays on our collective memory: C++ compilation can feel like an attack, while Rust compilation feels like getting advice from a friend. That stark juxtaposition, presented in a single image split, is comedic gold for anyone who’s experienced both.
Level 4: Panic Mode Parsing
At the deepest technical level, this meme underscores a fundamental design difference in compiler error handling between C++ and Rust. When a compiler encounters a mistake in code, it has to decide how to report that error. Older compiler architectures (like those for C++) often default to a kind of "panic mode" error reporting – if something goes wrong, they dump out a raw, cryptic cascade of messages reflecting the internal confusion of the compiler. This happens because of how C++ compilation works: the compiler tries to parse your code and instantiate templates, and if a small mistake occurs (say a type mismatch deep in a template), the error can trigger a long chain of failing instantiations or context-free grammar fallouts. The result? A flood of error text that feels like the compiler itself is screaming in confusion.
In compiler theory, panic mode error recovery is a strategy where, upon encountering a syntax error, the parser discards input symbols until it finds a known safe point. C++ compilers historically weren’t designed to hold the developer’s hand – they’d often report the first issue and then continue, spitting out any consequential errors (even if those were just symptoms of the first). This is why a small mistake in C++ can produce an avalanche of errors. For example, a minor error in a template could lead to 20 lines of template instantiation traces, as the compiler attempts and fails to match template parameters through many levels (often invoking the notorious SFINAE – Substitution Failure Is Not An Error, which ironically still leads to an error if no substitution works out, yielding very esoteric messages). The C++ compiler’s priority has traditionally been performance and correctness of the compiled program, not the clarity of its error messages. The assumption (especially in the early days of C and C++) was that the programmer using it was an expert who could decipher terse output or at least had a manual. The user experience of error diagnostics was a secondary concern in design.
Rust, by contrast, was designed in an era where developer experience (DX) is highly valued. Rust’s compiler (rustc) uses a more structured diagnostic engine. Instead of panicking and dumping internal gobbledygook, it strategically analyzes the error and associated code context to produce a coherent explanation. Internally, rustc treats error reporting as a first-class feature: errors are objects with human-friendly messages, optional suggestions, and even links to documentation. The Rust compiler is built with the idea that diagnostics are part of the language’s usability. It performs extra analysis to figure out what you might have meant, not just what you did wrong. This can involve additional passes or heuristics: for instance, if a type doesn’t match, Rust will check if there’s a obvious way to convert it (did you add a ; by accident? did you forget an & or * on a reference?). If so, it will append a targeted help message. Under the hood, Rust’s error reporting includes sophisticated features like lifetime span tracking (to tell you where a variable was borrowed and where the conflict is) and type expectation propagation, so it can say “expected type X, found type Y” in a clear way, rather than just “type error”. The compiler is even willing to do a bit more work to be nice: for example, Rust will stop at a certain point and not flood you with hundreds of follow-up errors – often it says “aborting due to previous error” after a few, on the premise that fixing the first error may resolve the rest. This is a deliberate design choice to prevent the “wall of errors” effect.
Crucially, Rust’s errors are designed with empathy for the developer. The meme exaggerates it humorously, but it’s rooted in truth: Rust’s error messages frequently include actionable advice (“help: consider adding ...” or “note: ... see issue #1234 for more details”). There’s even an internal error code for many errors (e.g. E0384 for reassigning an immutable variable) and the ability to run rustc --explain E0384 to get a detailed explanation of that error. This reflects a philosophy shift: the compiler isn’t just a code translator; it’s a developer’s tool that communicates. In summary, at the architectural level, C++ compilers and Rust’s compiler approach errors very differently. One behaves like a rigid machine that isn’t concerned with your confusion (leading to "confused screaming" from both compiler and developer), while the other acts like a well-engineered interactive system, almost like an IDE built into the compiler, giving gentle guidance. The meme’s humor emerges from these deep-rooted design decisions: it’s essentially comparing compiler UX architectures, where Rust’s compilation experience strives for clarity and assistance, while C++’s legacy shows in its sometimes inscrutable error output.
Description
The meme is a two-panel vertical layout on a black background. Top text reads: "Me: Makes small mistake in C++ C++ Compiler:" followed by a photo of a startled person holding a frying pan like a shield, with the subtitle "*Confused screaming*" - illustrating cryptic C++ error output. The next caption says: "Me: Makes small mistake in Rust Rust Compiler:" above an image of a calm, smiling presenter gesturing toward the viewer; overlaid text states, "Here is a detailed list of what went wrong and how to fix it, including helpful links to the docs and some tips how to improve other parts of your code!" Faces are blurred for privacy. Technically, the joke contrasts notoriously terse C++ compiler diagnostics with the famously verbose and actionable messages produced by Rust’s `rustc`, highlighting developer-experience differences when debugging small mistakes
Comments
60Comment deleted
C++: miss one semicolon and the compiler spills a 4-screen SFINAE coroner’s report; Rust: miss one lifetime and rustc replies with a TED-style slide deck, a doc link, and a gentle reminder that your other functions deserve ownership too
After 15 years of deciphering C++ template instantiation errors that span 500 lines for a missing semicolon, you realize Rust's compiler messages aren't just helpful - they're basically pair programming with someone who actually read the documentation and remembers why you made that architectural decision six months ago
The real difference between C++ and Rust isn't memory safety - it's that C++ compiler errors read like Lovecraftian horror ('template instantiation depth exceeds maximum of 900') while Rust's compiler is basically a patient senior engineer doing code review at 2 AM, complete with suggestions, documentation links, and gentle reminders about that unused variable from three functions ago. One makes you question your career choices; the other makes you wonder if you deserve such kindness
C++: one typo triggers a SFINAE avalanche and 600 lines of “instantiated from here”; Rust: miss a ‘&’ and the compiler drafts the patch and explains your lifetimes like a calm tech lead
C++ turns a dangling pointer into an error novella; Rust's compiler delivers the executive summary with pull-request-ready fixes
One missing & in C++ summons SFINAE and 800 lines of 'note: in instantiation of…', while rustc turns the same typo into a teachable moment with lifetimes, a .clone() hint, and links - the only compiler that feels like a code reviewer
Lool rly? Never used rust… Comment deleted
fake Comment deleted
Ah okay thanks😂😂 Comment deleted
True story. That’s why (among other things) we love it Comment deleted
But still people think that Rust > C++ lmao Comment deleted
Define the '>' operator Comment deleted
"better than" Comment deleted
Then I’d say Rust >> C++ (way better) Comment deleted
>> is a bit shift to the right Comment deleted
Makes sense.. if you bitshift Rust to the right you get something like C++ Comment deleted
Lmfao Comment deleted
not better at all Comment deleted
What’s your experience with both langs? Comment deleted
I love c++ but i didn't know where i can work if i know him very well Comment deleted
~4yrs with c++, ~1 with rust Comment deleted
Get a couple of decades more with C++ and then tell me how you love it 😏 Comment deleted
and then a couple of more, and more, and more the truth is, it only sufficed me one year to understand just how bad rust really is Comment deleted
I guess you just don’t get it yet why C and especially C++ sucks.. but tell us why you don’t like Rust Comment deleted
i do not intend to do so to you, since clearly you are already convinced, and no amount of effort will make you change your mind. please come back when you aren't condescending Comment deleted
Don’t be so sure about others. We are all ears (eyes). Tell us, what’s wrong with Rust? What makes you think “how bad Rust really is”? Comment deleted
rust is a language of lies. Sure, c++ is not safe, but it does not promise to be safe. Rust promises safety, and zero-cost abstractions, none of which turn out to be true. While programming in rust, you will fight the borrowchecker, and you will lose and discover the multitude of programs that cannot be expressed safely or elegantly, mostly because developers did not think of that particular usecase and did not make an exception there. For how small, compared to c++ this language is, it consists of inconsistencies and little exceptions. It results in a language, in which you are affraid to write actual code, since every time you write anything non-trivial, you will encounter one little issue, which you will try to circumvent for a couple of days, while pulling your hairs out, and you will end up on rustc bug tracker, where you will find your exact problem in a discussion which has been stale since 2019. There is a solution for that in rust, though. Just litter your code with Arcs and Mutexes, and your problems will be gone! But that's no zero-cost, now, is it? Also, I just wanted to briefly mentioning metaprogramming in Rust, or, rather, the fact that it does not exist. Comment deleted
rust promises memory-safety, which is true. Everything else is promised by rust stans Comment deleted
why rust then, and not go? Comment deleted
because I haven't learned go and I don't want to Comment deleted
Performance and memory safety Comment deleted
did you just ignore everything that I wrote? Comment deleted
In general, it looks like you’re not using rust the way it should be. Though describe a specific example that gives you so much trouble Comment deleted
my usecase is abstracting a complex api in a type-safe way, while not introducing overhread. My particular task required a lot of type magic, which was ~100SLoC of C++, and turned out to be impossible with rust. In general, though, anything involving non-trivial control-flow (for example async), will bring down all the safety and speed of rust Comment deleted
where the fuck do you need type magic when abstracting an API? Comment deleted
take as an example GPIO, which is actually not that difficult to abstract away with Rust, or anything at least moderately complex Comment deleted
Anyway, your issue, even if it’s really following the best practices and is truly unsolvable, doesn’t invalidate Rust as such and at maximum may indicate that some niche cases of interoperability with other langs could be somehow difficult to implement Comment deleted
Not knowing the exact details it looks like you’re trying to solve something in Rust the C++ way probably with some bad design overall Comment deleted
I need a 👆reaction in telegram, I don't want to reply with "👆 this" all the time Comment deleted
i am not willing to disclose my exact usecase, and it was a year ago, now, so i will redirect you to another example myy my friend Hirrolot, one of the designers of Teloxide, a popular Telegram bot library for Rust. He basically lays out the same problem as I do, but with concrete examples https://hirrolot.github.io/posts/rust-is-hard-or-the-misery-of-mainstream-programming.html Comment deleted
absolutely nothing in this blog post is concrete. He's (they're?) making vague statements based on vague premises and most of the blog post is just 'imagine if rust was good' Comment deleted
ok nvm you just sent me to the last section for some reason Comment deleted
yeah that's what i had in my open tabs, so Comment deleted
and if you fight the borrowchecker, you're fundamentally misusing rust Comment deleted
👆this Comment deleted
I think they both do it, except Rust screams more often because more things are illegal at compilation time Full disclosure: never used Rust Comment deleted
Post this with Assembler vs C# Comment deleted
that doesn't make any sense, most instruction sets are way way simpler than any seriously used language, the only errors your (excluding macro-) assembler(s) could catch are very simple syntactical ones. Comment deleted
I think that's the joke Comment deleted
Well, then some RISC assembler vs MSIL (.Net CRL byte-code). Comment deleted
don't Comment deleted
...and phone number of nearest psycologic consultant Comment deleted
Unless you work with async Comment deleted
Or do lifetime magic Comment deleted
Or, in the worst case, both at once Comment deleted
No, c++ can fucking ignore error and didn't tell you Comment deleted
Yes with the ms compiler Comment deleted
look at my new code! (Its written in the best language in the world rust that everyone should use i use rust its so cool cpp sucks dung in comparison to it i love rust so much) Comment deleted
bogo type Comment deleted
you forgot the dyn Comment deleted