Linux people doing Linux things, it seems.

  • rhabarba@feddit.orgOP
    link
    fedilink
    arrow-up
    21
    arrow-down
    6
    Ā·
    3 months ago

    Developers who are not willing to learn something new and not adapt are the worst.

    And this is why COBOL developers are desperately needed these days: because too many people think that ā€œoldā€ was the same thing as ā€œneeds a replacementā€.

    • thingsiplay@beehaw.org
      link
      fedilink
      arrow-up
      19
      arrow-down
      2
      Ā·
      3 months ago

      The situation of COBOL has nothing to do with Rust in Linux. C is not replaced by Rust, first. Secondly, there are legitimate reasons why Rust was introduced, as a secondary language. You are conflicting two different cases that are two different problems. Itā€™s not replacing a language.

    • treadful
      link
      fedilink
      English
      arrow-up
      17
      Ā·
      3 months ago

      ā€œLearning something newā€ does not mean the thing you are learning is new. It just means itā€™s new to you. One of the best things you can do for yourself as a dev is to learn to be fluid and be able to adapt to new languages, protocols, and technologies.

      • rhabarba@feddit.orgOP
        link
        fedilink
        arrow-up
        4
        arrow-down
        2
        Ā·
        3 months ago

        Why? I mean, I, personally, try to be as polyglot as possible, but not everyone working on the Linux kernel is even interested in doing anything thatā€™s not C kernel code, nor is it their profession.

        • treadful
          link
          fedilink
          English
          arrow-up
          13
          Ā·
          3 months ago

          Learning is key in this field. Being able to learn new things allows you to move from one thing to the next as needed. You also learn a lot from experiencing different things. Other ways of doing things, other points of view, other concepts that you may have not been exposed to before.

          It also expands your employment potential and general usefulness. Knowing only one thing will severely limit your abilities.

          • rhabarba@feddit.orgOP
            link
            fedilink
            arrow-up
            7
            arrow-down
            2
            Ā·
            3 months ago

            It also expands your employment potential and general usefulness.

            I have already mentioned that programming is not everyoneā€™s profession. Not everyone chooses what they do in their unpaid free time primarily based on whether it makes them a more useful person. I think the very phrase ā€˜my usefulnessā€™ is dangerous.

            Are we only worth something as drones?

            • treadful
              link
              fedilink
              English
              arrow-up
              4
              arrow-down
              1
              Ā·
              3 months ago

              I never said anything about someoneā€™s usefulness as a person. Their usefulness as a software developer was the topic at hand. Maybe itā€™s not your profession but a hobby but the point stands.

              I think the very phrase ā€˜my usefulnessā€™ is dangerous. Are we only worth something as drones?

              And yet itā€™s drones that do one thing and only one thing their entire lives, never learn and grow.

              • rhabarba@feddit.orgOP
                link
                fedilink
                English
                arrow-up
                5
                arrow-down
                2
                Ā·
                3 months ago

                Maybe itā€™s not your profession but a hobby but the point stands.

                To be honest, Iā€™ve hardly ever asked myself how I could best please a potential employer with any of my hobbies. But I recognise that youā€™re probably taking a different approach.

          • Dudewitbow
            link
            fedilink
            arrow-up
            4
            Ā·
            3 months ago

            employment potential and learning are generally problems if you are young. if you are old, the time investment to learn a new language is generally not self beneficial as your time of employability starts to dwindle.

            Linux ultimately will have to run into the situation of if the people want the newer language to become the mainstream, they need to be more proactive at the development of the kernel itself instead of relying on yhe older generation, who does ot the way they only know how, as relearning and rewriting everything ultimately to them, a waste of time at their point in life.

            think like proton was for gaming. you dont(and will not) convince all devs to make linux compatible games using a vulkan branch. the solution in that front was to create a translation layer to offload most of that work off because its nonsensical to expect every dev to learn vulkan. this would be applied moreso to the linux kernel, so the only realistic option (imo) is that the ones who are working in rust need to make the rust based kernel and hope that it takes off in a few years to actually gain traction.

            • treadful
              link
              fedilink
              English
              arrow-up
              5
              Ā·
              3 months ago

              employment potential and learning are generally problems if you are young. if you are old, the time investment to learn a new language is generally not self beneficial as your time of employability starts to dwindle.

              Middle age software engineer here. Very disagree. Hoping to code until arthritis gets me. My point wasnā€™t only for employment (more of a perk), but primarily self-improvement and improvement on your craft. The day I can no longer do that, that may be the end for me.

              That said, I donā€™t know what Linux community should do about Rust adoption. I just wanted to point out that I think itā€™s very important for all devs to be able to embrace learning new things and expand and refine their skillset.

        • thingsiplay@beehaw.org
          link
          fedilink
          arrow-up
          6
          Ā·
          3 months ago

          One problem is (even Linus acknowledged it in some interview, sorry I have no source) that in future C might no longer be the popular language to learn. I mean learning basics is one thing, but getting good at C and writing in the Kernel, while trying to dodge memory issues is a huge task to ask.

          Lot of people learn Rust instead for systems programming today. Meaning in future it might be very useful to get new people into Kernel programming. And as said before, those who are not interested into Rust are perfectly fine using C. The Kernel is huge! Even new code in C is allowed, so this is not something that is going away. Remember, its an addition to the base, not replacement.

      • intensely_human@lemm.ee
        link
        fedilink
        arrow-up
        2
        Ā·
        3 months ago

        So basically youā€™re saying one of the best things you can do for yourself as a dev is be young.

        Itā€™s a well-documented fact that as people get older their fluid intelligence declines.

        If you predicate your tech culture on requiring high fluid intelligence, you (a) make less readable code since the people writing it have more working memory and can hold more lines in their mind at a time and (b) break long-term institutional memory resulting in the reoccurrence of solved problems.

        At the level of organizational architecture, a culture of emphasizing fluid intelligence as the strategy for attacking problems and adaptation causes serious losses of efficiency, and hence fluidity at a higher scale.

        Ensuring compatibility with greybeardsā€™ brains is key to long term success, and that means respecting an upper boundary on the rate of tools change.

        • treadful
          link
          fedilink
          English
          arrow-up
          3
          Ā·
          3 months ago

          Itā€™s a well-documented fact that as people get older their fluid intelligence declines.

          Iā€™m quickly approaching grey beard status. I recognize that Iā€™m nowhere near as fluid as I was 20 years ago but I make an effort. You have to continually practice fluidity and actively learn things lest you solidify and lose that skill like any other. Itā€™s important to stay fluid because things change and change faster than we all expect.

          At the level of organizational architecture, a culture of emphasizing fluid intelligence as the strategy for attacking problems and adaptation causes serious losses of efficiency, and hence fluidity at a higher scale.

          Ensuring compatibility with greybeardsā€™ brains is key to long term success, and that means respecting an upper boundary on the rate of tools change.

          Thereā€™s some truth to that. PHP is still in use and Wordpress is still somehow a behemoth. But the fact is that PHP has fallen out of favor, isnā€™t used by new projects, and thereā€™s less demand for people with that skillset. So as a dev, itā€™s important to recognize that tools come and go and be flexible.

          This example doesnā€™t work as well with C/++ since thatā€™s older than most people here (though the language has also gone through iterations) and likely wonā€™t be going away any time soon. But still, in most cases you probably donā€™t want to use that language for general work. So youā€™ll probably have to pick up other things for your toolchain (and higher level) work which of course has changed a lot.

          The good news is though, that itā€™s relatively easy to transfer core skills between most languages. Especially the ones with C-like syntax, which is most languages.

          • intensely_human@lemm.ee
            link
            fedilink
            arrow-up
            3
            arrow-down
            2
            Ā·
            3 months ago

            You have to continually practice fluidity and actively learn things lest you solidify and lose that skill like any other.

            Iā€™m all for keeping oneā€™s cognitive skills. However it is a fact that this decline happens, and that there is a phase of life where one has wisdom without necessarily having the same raw intelligence they had before. The wisdom is encoded in crystallized intelligence.

            By wisdom here I mean ā€œThe tendency to make decisions that turn out wellā€.

            My father was an equipment operator well into his 70s. After he retired they kept bringing him back to train the younger guys, and to get things donā€™t they couldnā€™t get done.

            That was possible because those machines donā€™t change too much as time marches on. Because they use a stable platform, his organization was able to do better work by relying on his deep expertise. He could train those younger guys because it was the same platform heā€™d always used. Same dirt, same physics, mostly the same machines, same techniques, same pitfalls, etc.

            His fluid intelligence is almost zero. The manā€™s practically an ASIC at this point, yet heā€™s fascinating to talk to and competent in the world. Fluid intelligence is not the only way to get things done.

            We of course play plenty of video games together to keep him sharp. We also eat mushrooms, paper when necessary, and he works out a lot. We do all we can, believe me.

            PHP is still in use and Wordpress is still somehow a behemoth. But the fact is that PHP has fallen out of favor, isnā€™t used by new projects, and thereā€™s less demand for people with that skillset

            Also while Iā€™m driving, my Uber app locks up. Siri talks to me in a halting, broken voice, and responds with ā€œsomething went wrongā€. Google Maps shows a brief flash of my home before flipping to my current location. Then back to home again, then back to my current location. Spotify doesnā€™t remember what song I was listening to. Amazon Prime Video canā€™t remember what episode I was last watching.

            Enshittification is everywhere. Our tech is buggy as fuck and solved problems in project management and devops are recurring. Itā€™s not just about focusing on advertisersā€™ needs over customers. Itā€™s also about wanting to kick out the greybeards as part of our great cultural revolution. Itā€™s about driving trains into tunnels without adequate ventilation because fuck the previous generation thinking they know better than me.

            It is the case that new technologies are introduced all the time, but thatā€™s not necessarily right.

            This example doesnā€™t work as well with C/++ since thatā€™s older than most people here (though the language has also gone through iterations) and likely wonā€™t be going away any time soon. But still, in most cases you probably donā€™t want to use that language for general work.

            Why not? Because you wonā€™t be able to hire younger devs? That is a function of this culture of pushing for change in everything. Younger people donā€™t learn C++ because itā€™s a little harder to read and because culturally we donā€™t respect established things. Iā€™m sure thereā€™s a word I donā€™t know here, but we generally have a culture of hating the past.

            The good news is though, that itā€™s relatively easy to transfer core skills between most languages.

            I agree. Design patterns, work patterns, these transcend languages. And theyā€™re 99% of the success or failure of a project.

            And yet here we are emphasizing how C++ and Rust canā€™t realistically coexist in a serious project, because thereā€™s some mismatch in their capabilities. I point to the current conundrum as the counter to this idea of transferability. The devilā€™s in the details and if the wisdom transfers between languages so well then we donā€™t need new languages.

            Fundamentally, the question is ā€œWhat are these news things that need to be done by code, that werenā€™t being done by code 30 years ago, such that it necessitates new languages?ā€

            Itā€™s cool to be able to tell your college buddies youā€™re building a new programming language.

            In fact, itā€™s great that people are making new languages as a way of keeping language design wisdom alive. Itā€™s great that CS kids build logic circuits from scratch for the same reason.

            But then again, Netflix canā€™t remember what episode I was watching, when Iā€™m almost certain they had that ability a few years ago.

            • treadful
              link
              fedilink
              English
              arrow-up
              1
              Ā·
              3 months ago

              Lots of good insight there. While I disagree with much of it, I get it.

              Iā€™m all for keeping oneā€™s cognitive skills. However it is a fact that this decline happens, and that there is a phase of life where one has wisdom without necessarily having the same raw intelligence they had before. The wisdom is encoded in crystallized intelligence.

              Yeah, realizing you have that wisdom is eye opening and itā€™s actually pretty powerful. I can hunt down bugs by smell now with surprising accuracy. But Iā€™m not convinced itā€™s mutually exclusive to fluidity. I guess Iā€™m just hoping my brain doesnā€™t petrify and am battling against it.

              That was possible because those machines donā€™t change too much as time marches on. Because they use a stable platform, his organization was able to do better work by relying on his deep expertise. He could train those younger guys because it was the same platform heā€™d always used. Same dirt, same physics, mostly the same machines, same techniques, same pitfalls, etc.

              Itā€™s a poor analogy for software though. Software is an ongoing conversation. Not a device you build and forget about. User demands change, hardware changes, bugs are found, and performance is improved.

              Iā€™m honestly curious what the oldest line of code in the Linux kernel is now. I would be pretty shocked to see that anything survived 30 years. And I donā€™t think thatā€™s because of enshittification.

              This example doesnā€™t work as well with C/++ since thatā€™s older than most people here (though the language has also gone through iterations) and likely wonā€™t be going away any time soon. But still, in most cases you probably donā€™t want to use that language for general work.

              Why not? Because you wonā€™t be able to hire younger devs? That is a function of this culture of pushing for change in everything.

              No, because C/++ isnā€™t the right tool for every job. If I want to write up something quick and dirty to download a sequence of files, Iā€™m not going to write that in C. Itā€™s worth learning other things.

              I have to admit though that the conservative approach is more suited to things like a kernel, aerospace applications, or other things with lives riding on it. But also software that doesnā€™t change becomes useless and irrelevant very quickly. For instance, running Windows XP is a bad call in just about any case.

              But again Iā€™m also not trying to say all software should be trend following. Just that devs should embrace learning and experiencing new things.

            • areyouevenreal@lemm.ee
              link
              fedilink
              arrow-up
              1
              Ā·
              3 months ago

              Netflix is using FreeBSD for servers. You canā€™t blame everything they do wrong as being a problem with the new hires. They are using an OS older than Linux that changes more slowly than Linux, simply because it performs the best for their specific application. Rate of change isnā€™t the issue here.

              In fact thatā€™s 90% of what this comment is. Blaming new people and new techniques for problems when you arenā€™t a part of that organisation and donā€™t actually know whatā€™s happening.

              Working with computers is not the same as working with construction equipment. Some degree of fluid intelligence is needed in this field, no matter how experienced you might be, just like how a surgeon needs steady hands. The people you call greybeards arenā€™t nearly as old as your father is. We are talking about people who are in their 50s and 40s. They donā€™t have that level of cognitive decline yet. Likewise some things like ext4 arenā€™t likely going to be ported to Rust now or even ever. They can keep maintaining them as they are now for the foreseeable future. Plus I donā€™t want people to have to keep working into their 70s and 80s. At some point it becomes elder abuse. Let people retire man.

              C has existed for a long time now. Weā€™ve been trying to replace it for ages, for most of itā€™s lifespan even. C++ actually was one of the new options at one point. I get it seemed immovable only a decade ago, and I think that has lulled people into a false sense of security. In truth it was inevitable it would have to be replaced one day. Itā€™s already well outlived the life expectancy of a programming language. Just think about Ruby: created long after C yet has already become mostly irrelevant. You talk about the maximum rate of tool change, but C is one of the oldest tools we have, keeping it around would be almost 0 rate of tool change over decades. If you canā€™t see that C is very slowly dying then you havenā€™t seen the writing on the wall for the past several years. Itā€™s on you at that point.

              We should look back with pride at everything that has been accomplished with C, and just how long itā€™s been relevant. We can do this while still acknowledging it needs to be phased out gradually.

              No one is asking for change that rapid either. Linux started adopting Rust four years ago now. Itā€™s probably still going to have C code inside it for at least a decade from now. This isnā€™t some quick change, itā€™s a gradual process. People have plenty of time to adapt, and those who are too old to do so will be around retirement agent if not already dead by the time C is fully phased out.

              We of course play plenty of video games together to keep him sharp. We also eat mushrooms, paper when necessary, and he works out a lot. We do all we can, believe me.

              Honestly you take more care of yourself and your father than I do. I am only in my 20s and suck at video games. If I took mushies or LSD I would probably lose my mind, assuming itā€™s all still there in the first place. I suspect there is a good reason why people like me only have a life expectancy of 58 or so.

        • areyouevenreal@lemm.ee
          link
          fedilink
          arrow-up
          1
          Ā·
          edit-2
          3 months ago

          C has been around for a very long time. I donā€™t think wanting to replace a 1970s language, that was old when current gray beards were young is a bad thing. People have had more than enough time, and still have a good decade or two to make their careers writing and maintaining C code. Sometimes things have to change, old people be damned. Itā€™s diatribes like this that remind me the human race advances one body at a time as those holding us back die out.

          Edit: also we arenā€™t talking about people in their 70s and 80s here. Most of these ā€œgreybeardsā€ are in their 40s and 50s at most. Linux itself is from the 1990s and is therefore more modern than C.