Skip to content
DevMeme
3005 of 7590
Languages Post #3319 · source on Telegram

A Visual Representation of Learning Rust's Ownership Model

Description

This meme uses a variation of the 'Man in Brain Torture Machine' Wojak comic format to depict a developer's struggle. The central figure is a man with a tortured expression, sweating and crying, with his head strapped into a complex mechanical device that seems to be applying immense pressure. Floating all around his head are numerous keywords, traits, and type signatures from the Rust programming language. Some of the visible terms include 'Send', 'Arc<T>', 'Borrow<T>', 'DerefMut', 'UnsafeCell<T>', 'Cow<'a, b> where B: 'a + ToOwned + ?Sized', 'Box<T>', 'Pin<P>', 'RefCell<T>', and 'Clone'. The image powerfully visualizes the overwhelming cognitive load and steep learning curve associated with mastering Rust. For senior developers, it's a deeply relatable depiction of the mental gymnastics required to internalize the language's famously strict ownership, borrowing, and lifetime rules, which are enforced by the compiler to guarantee memory safety

Comments

75
Anonymous ★ Top Pick That's the face of a developer trying to pass a variable to a third function after the borrow checker has already said no twice. You don't own the variable; you're just its temporary emotional support human
  1. Anonymous ★ Top Pick

    That's the face of a developer trying to pass a variable to a third function after the borrow checker has already said no twice. You don't own the variable; you're just its temporary emotional support human

  2. Anonymous

    Rust onboarding these days: they strap you in, DMA trait bounds into your cortex, and if you survive the compile-time screams HR certifies you “Send + Sync + 'static” - therapy sessions, sadly, are still !UnwindSafe

  3. Anonymous

    After 15 years of C++, you think you understand memory management. Then Rust introduces you to its borrow checker and suddenly you're explaining to your PM why implementing a doubly-linked list requires a PhD thesis on lifetime variance and why 'just use Rc<RefCell<T>>' is both the solution and admission of defeat

  4. Anonymous

    When you finally think you understand Rust's ownership model, but then realize you need to choose between Rc<RefCell<T>>, Arc<Mutex<T>>, or just accepting that Pin<Box<dyn Future>> is your life now. The borrow checker isn't just a compiler feature - it's a lifestyle that slowly rewires your brain to think in lifetimes, making you question every '&' and wonder if that 'static really needs to live forever. At least when it compiles, you know it's probably correct... assuming you haven't just wrapped everything in unsafe to make the red squiggles go away

  5. Anonymous

    Rust onboarding summarized: until your cortex implements Send + Sync + UnwindSafe, the borrow checker pins you in place while it rebinds your lifetimes

  6. Anonymous

    Rust onboarding: the borrow checker migrates ownership to your brain; once it implements Send + Sync + UnwindSafe, Cow<'a, B: ToOwned + ?Sized> stops hurting and Arc just counts the remaining sanity

  7. Anonymous

    Rust borrow checker: Preventing segfaults by first heap-overflowing your brain with PhantomData and Pin projections

  8. @Zedchi 5y

    пояснительную бригаду в студию)

    1. @Chess_player_1224 5y

      +

    2. @nuntikov 5y

      Horrible rust coding experience

    3. Deleted Account 5y

      rust having alot of types dedicated to just managing lifetimes

    4. @sylfn 5y

      Translation: I didn't understand, help me. Remember, this is an English-only chat. If you wanna talk any other language, please add a translation of your message. Это -- англоязычный чат, поэтому, если вам захотелось выразить свои мысли на любом другом языке, то необходимо добавить их перевод на английский.

      1. @Dobreposhka 5y

        well, sense is the same, but the translation could be better. There're words about helping (((division?))) that should go into studio

        1. @sylfn 5y

          not "into studio" That is because Russian "в студию" came from TV show "Поле чудес" (Russian copy of American "Wheel of Fortune"), where used as "[принесите] что-то в студию" ([bring] something here). I did not found what they used in "Wheel of Fortune", so I can not make a better translation.

          1. @Dobreposhka 5y

            well, what is translation for "студия"? That's a room, where some show filmed. So, if the room's name in English is the same, you can translate like that. Meme part will be deleted, but at least it is proper translation

            1. @sylfn 5y

              we need translation to repersent meaning of whole text, and not the single words. If we translate word by word we can lose grammatics (if we don't reorder words) and/or entire meaning. "give smb a hand" means "help smb", compare "дать кому-либо руку" and "помогать кому-либо": they have different meaning.

              1. @Dobreposhka 5y

                ok, you got a point, but "дать кому-то руку" is understandable in Russian as "help sbd" too. Especially, if you add "руку помощи" in the end. But yes, in case of "пояснительной бригады" your translation is more correct

        2. @Zhenyokmsk 5y

          "Explanation squad" )

          1. @Dobreposhka 5y

            +, better version

          2. @sylfn 5y

            I second this

      2. @LastStranger 5y

        Can someone write chatbot, that automatically translate from non-enlgilsh language to English🤔

        1. @affirvega 5y

          How should it work?

          1. @LastStranger 5y

            It can reply message with non-english text and send English translation with it

        2. @sylfn 5y

          how to detect non-englisg text without a translation?

          1. @LastStranger 5y

            Can we use unicode? If can, we can use symbols codes to detect it. How auto detection in Google translate works?

            1. @sylfn 5y

              We should use unicode. But if text is written not in single language, but in multiple, what will the bot do? How would it handle code blocks with russian comments?

              1. @LastStranger 5y

                We can use it only in situation, when all message has written in Russian or another language. I seen here only 2 situations, when people write in non-english language or, like you, when people write in English and Russian. And if message had translate on English, it doesn't need translation

                1. @sylfn 5y

                  Yes, there are 2 common situations - Eng only or Eng+Rus. But, there were some Eng+German messages. And what if translation provided is incorrect or just of opposite meaning? Like "これが好きです" and "I hate this" (Real translation: I like this)

                  1. @LastStranger 5y

                    For the second part of message answer will be "reply message of person". He/She got a notification, that he/she replied. If person have some knowledge of English (good programmer should know english), He/She can edit this message. But in most situations, Google translate or yandex translate can translate clearly almost all messages.

                    1. @affirvega 5y

                      You can use they as a gender neutral pronoun

                      1. @LastStranger 5y

                        Thanks, i never talk about people without knowledge of they gender, and didn't know about this

                  2. @LastStranger 5y

                    For eng+german, can you give me some examples of this messages, to think about answer on your question?

                    1. @sylfn 5y

                      Riedler wrote some, if I'm not mistaken

                      1. @LastStranger 5y

                        This not best solution, but we can detect non-english words, translate it and use instead of words, that been translated

                        1. @LastStranger 5y

                          It first solution, that came in head

                        2. @sylfn 5y

                          code snippets written in KuMir will be broken

                      2. @RiedleroD 5y

                        only example messages, yes

  9. @Zedchi 5y

    thanks) i thought its something about ++ templates

  10. Deleted Account 5y

    lmao

  11. @tarasssssssssssssss 5y

    дед и батя сцепились по пьяне...

    1. @sylfn 5y

      Translation: drunk dad and grandfather are fighting Remember, this is an English-only chat. If you wanna talk any other language, please add a translation of your message. Это -- англоязычный чат, поэтому, если вам захотелось выразить свои мысли на любом другом языке, то необходимо добавить их перевод на английский.

      1. @Dobreposhka 5y

        ur translations lose meme and humour sense

        1. @sylfn 5y

          I will try to make them better next time

          1. @Dobreposhka 5y

            like, ofc that's translation and stuff, but ur last you can translate back as "пьяный папа и дедушка дерутся". Well, sense is the same, but sounds not that great

    2. @RiedleroD 5y

      warning 1/3 for @taras_dashkov ; reason: speaking a foreign language (without translation) @developerxyz I believe they don't take the rules seriously without warnings

      1. @sylfn 5y

        does the warning apply to me?

      2. @tarasssssssssssssss 5y

        лол ты дурачёк?) какие нахуй ворнинги?

        1. @sylfn 5y

          I don't think that will work.

        2. @affirvega 5y

          Не ходи в чужой монастырь со своим уставом) When in Rome, do as the Romans do)

          1. @tarasssssssssssssss 5y

            где where

            1. @affirvega 5y

              Here

  12. @tarasssssssssssssss 5y

    ай спик эс ай вонт, итс йор дисижн ту рид ор нот

    1. @RiedleroD 5y

      warning 2/3 for @taras_dashkov for being an asshole as well

  13. @tarasssssssssssssss 5y

    вы тип приколисты? на канале нет никаких правил Translation: lol kek

    1. @RiedleroD 5y

      warning 3/3 for @taras_dashkov we are the moderators, and we make the rules. Now speak english for once, or you're banned.

  14. @tarasssssssssssssss 5y

    я сам решаю хочу я переводить или нет, как мне блять перевести на английский "сцепились дед с батей" и чтобы это всё ещё несло смысл? не думаю что у них есть что-то подобное

    1. @RiedleroD 5y

      and it's fine if you write "untranslatable joke" or smth

  15. @tarasssssssssssssss 5y

    lol so if your moders you can do whatever you want? where is the blyadskie rules?

    1. @RiedleroD 5y

      go ask @Linegel, I asked him twice to add them there (to the group desc), but alas I am only a moderator, not the admin

  16. @tarasssssssssssssss 5y

    я не хочу быть токсик, но токсик тут только вы Tranltion: moders are dumb or smth idk

    1. @affirvega 5y

      Я не понял ситуацию, сорян что наехал I didn't got the situation right, I'm sorry for the bullying (?)

  17. @tarasssssssssssssss 5y

    если будут правила официально в закрепе или в описании, то я ебало завалю, с радость. Но чёт мне кажется вы перебарщиваете, ребята untranslatable

    1. @RiedleroD 5y

      untranslatable my ass, you're out

      1. @Roman_Millen 5y

        Moral of the story: you may explain what's wrong even thousand times, but some people just won't stop finding reasons to complain and be stubborn assholes.

        1. dev_meme 5y

          We talked with him in private and agreed that he will use English within there, so he is free to comeback to chat

    2. @sylfn 5y

      Pinning rules won't work, new posts on main channel will overwrite pin; pinning in main channel is bad idea

      1. @RiedleroD 5y

        also we can't pin anything, only admin can

      2. Deleted Account 5y

        @DiscussUnpinBot try this bot

        1. @RiedleroD 5y

          I'd rather not have bots in this group

          1. Deleted Account 5y

            Why?

            1. @RiedleroD 5y

              annoying and complicated, the group is still small enough that it's easier to do everything by hand

            2. @sylfn 5y

              Overengineering problem

  18. @tarasssssssssssssss 5y

    lol

  19. @lawenard 5y

    PhantomData sounds edgy af

  20. @LastStranger 5y

    Ok, we can locate it only for situations, when all message written in non-english language, and parallel think about algorithm, to solve this problem

Use J and K for navigation