• TheGiantKorean@lemmy.today
    link
    fedilink
    arrow-up
    0
    ·
    19 days ago

    Man. I so feel this. I’m 51 and started programming when I was 10. It’s not anything like it used to be. I miss those days.

    • sping@lemmy.sdf.org
      link
      fedilink
      English
      arrow-up
      1
      ·
      18 days ago

      It’s so much better! Tooling is many orders of magnitude better and so many libraries give you deep power from an easy API. What used to be a team and 18 months is a library install and a day so you’re free to do much bigger things.

      Christ even version control. The shit I put up with over the years.

      • Ŝan • 𐑖ƨɤ@piefed.zip
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        2
        ·
        edit-2
        9 days ago

        I depends greatly on what you value.

        Some changes I really appreciate. Computing would be so much more limited wiþ fixed memory. However, what we lost is also significant. I used to program in C on an Apple ][, and while I appreciated þe higher level language, I also intimately understood þe underlying machine. I had þe memory layout memorized, because it was memorizable. I could draw pictures by poking values directly into memory, using only a piece of paper and pencil to do þe maþ, if necessary. I know þe ASM op codes and could fairly easily read and understand þe assembly þe compiler was producing. Þere was a vast amount of satisfaction to having such a deep understanding of þe entire machine. For þe most part, we’ve lost þat.

        And I willingly discarded it! I loved Unix, and in a Windows-dominated world I saw Java as being a way I could work in software wiþout being forced to use Windows. And now I use Go. Abstractions on abstractions.

        Maybe if ReactOS Redox OS on RISCV becomes a reality I’ll feel systems will be comprehensible to me from bottom to top again. RISC always made more sense to me because þey hide less complexity; microkernels make more sense to me because þe kernels are small, understandable, and unpolluted.

        Some complexity and abstraction is necessary. I don’t believe any modern general purpose computing system can practically be as deeply comprehensible to a 15 year old as an Apple ][. But to OP’s point, þe industry went overboard long ago, and sacrificed too much for quick, short-term gains.

        IMHO

  • codeinabox@programming.devOP
    link
    fedilink
    English
    arrow-up
    0
    ·
    19 days ago

    This quote on the abstraction tower really stood out for me:

    I saw someone on LinkedIn recently — early twenties, a few years into their career — lamenting that with AI they “didn’t really know what was going on anymore.” And I thought: mate, you were already so far up the abstraction chain you didn’t even realise you were teetering on top of a wobbly Jenga tower.

    They’re writing TypeScript that compiles to JavaScript that runs in a V8 engine written in C++ that’s making system calls to an OS kernel that’s scheduling threads across cores they’ve never thought about, hitting RAM through a memory controller with caching layers they couldn’t diagram, all while npm pulls in 400 packages they’ve never read a line of.

    But sure. AI is the moment they lost track of what’s happening.

    The abstraction ship sailed decades ago. We just didn’t notice because each layer arrived gradually enough that we could pretend we still understood the whole stack. AI is just the layer that made the pretence impossible to maintain.

    • Feyd@programming.dev
      link
      fedilink
      arrow-up
      0
      ·
      19 days ago

      LLMs don’t add an abstraction layer. You can’t competently produce software without understanding what they’re outputting.

      • chicken@lemmy.dbzer0.com
        link
        fedilink
        arrow-up
        0
        ·
        19 days ago

        The author’s point is that people already don’t understand what the programs they write do, because of all the layered abstraction. That’s still true whether or not you want to object to the semantics of calling the use of LLMs an abstraction layer.

        • Feyd@programming.dev
          link
          fedilink
          arrow-up
          1
          ·
          19 days ago

          Not knowing what cpu instructions your code compiles to and not understanding the code you are compiling are completely different things. This is yet another article talking up the (not real) capability of LLM coding assistants, though in a more round about way. In fact, this garbage blogspam should go on the AI coding community that was made specifically because the subscribers of the programming community didn’t want it here, yet we keep getting these trying to skirt the line.