The Rewrite Revenge Arc
Description
A black-and-white MonkeyUser comic titled `END OF THE LINE` shows a developer angrily confronting an old, improvised machine-like system. The visible dialogue says `THAT'S IT! I NEED TO REWRITE THIS SHIT!`, followed by panels of the developer studying a chaotic blackboard, typing intensely, sweating at a monitor, and standing proudly beside a newer red machine while the caption says `SO PROUD!`. In the final panel, the developer faces the older green machine and says `I'M GOING TO ENJOY DELETING YOU.`, with `MONKEYUSER.COM` printed at the bottom. The technical context is the emotional payoff of replacing a tangled legacy component after a full rewrite, mixing justified cleanup with the dangerous allure of rewrite-driven catharsis.
Comments
30Comment deleted
Every rewrite starts as architecture therapy and ends with someone discovering the deleted monster was also handling billing retries.
usually refactoring ends up like same shit code, but now In Very Well Separated Modules Comment deleted
I would disagree, respectfully Comment deleted
if you do it wrong, yes Comment deleted
and performance decrease due to all the added abstraction :^) Comment deleted
C++ chads don't think so Comment deleted
C++ doesn't have zero-cost abstractions. You know which language does? Comment deleted
The one that doesn't have abstractions? Comment deleted
Rust. I thought this meme is well known? Comment deleted
I was expecting either Rust or C but I wanted to have fun with logic in your sentence Comment deleted
C also doesn't have zero-cost abstractions. come to think of it, I think that's just a buzzword used to describe Rusts struct optimizations. Comment deleted
I mean, if C doesn't have 0 cost abstractions then I suppose a good question would be what *are* 0 cost abstractions? Comment deleted
abstractions that aren't slower than the unabstracted equivalent. structs in C/C++ are slower than single variables in some circumstances. Rust somehow optimizes them away. Comment deleted
Are you talking about this? https://doc.rust-lang.org/beta/embedded-book/static-guarantees/zero-cost-abstractions.html Just that the structs can be zero size and so compile time? Comment deleted
Because what you are describing is this: https://en.cppreference.com/w/cpp/language/Zero-overhead_principle And that's not only completely different subject, but also something that no language provide 100% in all features they describe. Neither C++, nor Rust. Comment deleted
>imagine having stdlib's strings without zero-cost interoperatibility with C-strings Comment deleted
c++ isn't perfect with that either - if you wan't to alloc std::string ahead of time and pass it to C api, you have to init all bytes, even though you are going to overwrite them in C inb4 resize: it zero-inits bytes inb4 reserve: that works well when you are using std::string API directly, but accessing that memory (unless it was inited by sth like push/resize) is undefined behavior Comment deleted
You are also unable to "convert" (i.e. shallow copy) c string into std::string without paying copy-fee Comment deleted
Though iirc somebody told me that one of new standards introduces kind of container (or something like that) beeing in fact pointer + std::array/std::string like api Comment deleted
near-zero =) Comment deleted
You probably mean "it has non-zero-cost abstractions" rather than "it doesn't have zero-cost abstractions" Comment deleted
I probably mean "it's a meme, so its validity isn't important" Comment deleted
point taken xD Comment deleted
And it seems that if you chose correct technology for task that you know and understand, you can make maintainable and performant application Comment deleted
Currently I'm dealing with android app made by idiots and I'm slowly refactoring garbage they made Comment deleted
I'm not in the chat, admin 🙃 Know the technology you use and RTFM Comment deleted
oh well Comment deleted
I said - I got to deal with systemd rn, sorry - It's a buzzword used by rust fans and as a meme, making fun of said rust fans. Comment deleted
Yeah-yeah)) I saw it without joining chat. Just had to open the chat as a guest. Good luck with systemd Comment deleted
thanks Comment deleted