• jabjoe@feddit.uk
    link
    fedilink
    English
    arrow-up
    11
    arrow-down
    1
    ·
    7 months ago

    He is is OK with OOP. The Linux kernel is full of OPP C, but he doesn’t like C++

      • jabjoe@feddit.uk
        link
        fedilink
        English
        arrow-up
        4
        ·
        7 months ago

        I think Linus did it in C with GTK but who took it moved it C++ and Qt. Lazy searching didn’t dig up the story.

          • jabjoe@feddit.uk
            link
            fedilink
            English
            arrow-up
            1
            ·
            7 months ago

            I write C++, but I don’t like it. I don’t think any one should be claiming Linus doesn’t like it because he doesn’t know it. If he wants to contribute to this project, it must be C++.

            • refalo@programming.dev
              link
              fedilink
              arrow-up
              1
              ·
              edit-2
              7 months ago

              I don’t think any one should be claiming Linus doesn’t like it because he doesn’t know it

              I didn’t think anyone was making that claim? Either way I’m certainly not trying to.

              If he wants to contribute to this project, it must be C++.

              Yes, this is true, it’s just that he was also included in the decision making process to switch to it in the first place, and I feel like his continued use of it makes me think it doesn’t have to be as awful as everyone makes it out to be, or he wouldn’t use it at all.

              • jabjoe@feddit.uk
                link
                fedilink
                English
                arrow-up
                1
                ·
                7 months ago

                Ask him. It’s not like he has publically changed his mind. I think he just went with other developers he had handed the project to.

      • jabjoe@feddit.uk
        link
        fedilink
        English
        arrow-up
        2
        ·
        7 months ago

        Look at the kernel code. It’s full of OOP C. There absolutely are objects in the kernel.

        • refalo@programming.dev
          link
          fedilink
          arrow-up
          2
          ·
          7 months ago

          Yea but all that function pointer indirection can actually hurt performance (especially caching), some things in C++ actually can be faster just because the compiler is better at optimizing for that.

          • jabjoe@feddit.uk
            link
            fedilink
            English
            arrow-up
            2
            ·
            7 months ago

            There is nothing you can do in C++ or C, that can’t be done in the other. It’s the kind of the point of those languages.

            • refalo@programming.dev
              link
              fedilink
              arrow-up
              2
              ·
              7 months ago

              Technically you’re right, but I don’t think that changes what I said about optimization. There are still cases where equivalent C++ code can be faster than the C version merely due to different optimizations used.

              • jabjoe@feddit.uk
                link
                fedilink
                English
                arrow-up
                1
                ·
                7 months ago

                Meh, I’m unconvinced. If it’s any kind of hot spot, in either, you can optimize the hell out of it. C++ is often more bloated is it’s just a harder language pretending to be an easier one.

                • refalo@programming.dev
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  edit-2
                  7 months ago

                  That’s fine, you don’t have to agree. Personally I do like to use just a few features of C++ without going too crazy, like simple classes and maybe one level of inheritance, but I don’t really get into templates or exceptions or other really complex/controversial stuff. I prefer having the stronger typing and better readability of this kind of C++, and I think it helps me make less mistakes, but I realize not everyone agrees, and that’s ok.

                  • jabjoe@feddit.uk
                    link
                    fedilink
                    English
                    arrow-up
                    1
                    ·
                    7 months ago

                    I think that’s the thing, C++ is so broad. It’s like many languages together. It’s complex with lots of implicitness yet unsafe. There is loads of support in compilers and tools to mitigate that, but that’s treatment not cure.