• FuglyDuck@lemmy.world
    link
    fedilink
    English
    arrow-up
    36
    ·
    2 months ago

    It’s also important to note that you might come out ahead in learning those abstract concepts using a harder language.

    But my first language was Pascal. from a book stolen from my dad’s library. Then C++. I still wouldn’t call myself anything other than an amateur… I mean, my dad can do more with one line of C than most programmers can do in their entire career. (he really shouldn’t. but he does. Calls it “job security”.)

    • oce 🐆@jlai.lu
      link
      fedilink
      arrow-up
      8
      ·
      2 months ago

      It’s also important to note that you might come out ahead in learning those abstract concepts using a harder language.

      I agree that you will learn more abstract concepts with more low level languages, but they are often not necessary. See Scala, beautiful language, lot’s of fancy subtle computer science concepts, and a plummeting popularity since its main popularizer, Apache Spark, implemented a Python API.

      • FuglyDuck@lemmy.world
        link
        fedilink
        English
        arrow-up
        6
        ·
        2 months ago

        Well. yes. it does strongly depend on what you intend to do with it.

        Python is a great language that’s very broadly used; there’s a reason that Apache added the python API; after all. (and why Scala is plummeting.) I wouldn’t even say Pascal was all that useful, to me. I think I ‘learned it’ enough to get through the dumb book, and then went on to something else. C++ was more fun anyhow.

    • asyncrosaurus@programming.dev
      link
      fedilink
      arrow-up
      5
      ·
      edit-2
      2 months ago

      I was hacking scripts and web shit together in perl, python and php for many years before learning C, and just a couple months learning C/C++ made me understand so many more basic concepts than all previous years experiences combined.

      • OpenStars
        link
        fedilink
        English
        arrow-up
        1
        ·
        2 months ago

        Try assembly then - it’ll freaking blow your mind!:-)

        • asyncrosaurus@programming.dev
          link
          fedilink
          arrow-up
          1
          ·
          2 months ago

          I took a compiler course focused on optimization and porting. So I worked with x86 and ARM. There’s very little reason in modern computing to write assembly by hand, but it’s still useful to be able to read and understand.

          • OpenStars
            link
            fedilink
            English
            arrow-up
            1
            ·
            2 months ago

            Having to work within such constraints, it really showed me difficulties that modern languages try to entirely abstract away from you. e.g. there are only so many “registers” that physically exist, before you have to start using much slower to access memory locations - a very far cry indeed from automated variable garbage collection!!