• @MHLoppy2@aussie.zone
    hexbear
    44
    8 months ago

    Through long and weary travels,* I bring the gift of source preserved by the workers of the great archives: https://web.archive.org/web/20140831164530/http://bjorn.tipling.com/if-programming-languages-were-weapons

    * (they weren't that bad honestly, a kind soul that took the journey 9 years ago made mine much shorter)

    • Dieguito 🦝@feddit.it
      hexagon
      hexbear
      12
      8 months ago

      Thank you! The original source of truth! 💎 As IT people, this is part of our culture and should be transmitted. 🤣

      • Deebster@programming.dev
        hexbear
        1
        8 months ago

        It seems the image is a screenshot of the original page, slightly upscaled, but since the source page includes links to larger images we can make the HD remaster. Shotgun not me.

  • @morrowind@lemmy.ml
    hexbear
    28
    8 months ago

    C++ and ruby are weird, especially since C is somehow considered a reliable rifle. Rust betrays it's age

    • @fckreddit@lemmy.ml
      hexbear
      21
      8 months ago

      C is reliable in the sense that your C program reliably has memory leaks and security holes.

      • @420stalin69
        hexbear
        15
        edit-2
        8 months ago

        Unlike your Java program amirite.

        The benefit of java is that you didn’t write the security holes in your software.

        • PaX [comrade/them, they/them]
          hexbear
          3
          edit-2
          8 months ago

          Programmers can trust language security features too much...

          Of course, they're nice to have and really can make things easier to implement securely but it's still very easy to introduce security problems or bugs into any code. This is just an unsolvable problem of writing imperative code. All imperative code will reliably have memory leaks (even in Java!) and security holes because no compiler can check to see if you thought of everything.

          And large and complex compilers/interpreters with these security features can end up introducing their own security problems or bugs in the process of implementing them.

          I'm just tired of people entirely dismissing languages like C because they don't have these features. Especially when the operating systems their code runs on and their languages may even be implemented in C!

          • @frezik@midwest.social
            hexbear
            3
            edit-2
            8 months ago

            Buffer overflows were last seen on the OWASP top 10 list in 2004. Favoring of anything else over C for most things is a pretty obvious reason why. A language change destroyed an entire class of bugs.

          • space_comrade [he/him]
            hexbear
            2
            edit-2
            8 months ago

            because no compiler can check to see if you thought of everything.

            We can try to get closer to that with better language design. You'll never get there but I think there are obvious benefits as to why you'd want to do that.

            I write way less bugs in Rust than I have in Java or C++, and that's mostly thanks to the language design.

            I'm just tired of people entirely dismissing languages like C because they don't have these features. Especially when the operating systems their code runs on and their languages may even be implemented in C!

            Because that code has been review and re-reviewed and patched by experts in the field for years. You're not gonna write a backend for an app with short deadlines in C because that would be absolutely fucking insane.

            • fox [comrade/them]
              hexbear
              2
              8 months ago

              Right tool for the right job. C is a stupid choice for most modern apps but it's indispensable for embedded stuff

    • CarbonScored [any]
      hexbear
      7
      edit-2
      8 months ago

      And does anything require Python v2 anymore? I work almost exclusively in Python and haven't run into that in many years.

    • PaX [comrade/them, they/them]
      hexbear
      6
      edit-2
      8 months ago

      C is very reliable. It works almost everywhere with very little resources or overhead and many of the most fundamental parts of our systems (that have to work reliably) are written in C. Many of the languages in that image are even implemented in C.

      If you want to write portable, fast, and simple code C can help you with that if you use it in the right way.

    • @frezik@midwest.social
      hexbear
      5
      8 months ago

      The M1 Garand is known for having a problem during reloading where you have to stick your thumb in a slot that's about to shut very hard. There are techniques to avoid getting pinched, but "Garand thumb" is a well-known phrase among vintage rifle enthusiasts.

      This fits C very well.

    • @sexual_tomato@lemmy.dbzer0.com
      hexbear
      1
      8 months ago

      I watched Jon Gjenset's stream where he implemented the beginnings of a BitTorrent client in Rust and of the four hours about 25% of it was spent wrestling with quirks in serde and reqwest.

      It was pretty discouraging watching a pro have to fight the ecosystem so hard.

      • space_comrade [he/him]
        hexbear
        1
        8 months ago

        How long ago was this? I think the ecosystem got waaay better in the last 1-2 years. 3-4 years ago it was rough but shit still worked with a bit of trouble.

          • space_comrade [he/him]
            hexbear
            1
            edit-2
            8 months ago

            Eh, that's unfortunate. Yeah the whole ecosystem is still a bit wonky, probably more wonky than most popular languages but tbh I rarely used a stack that just worked out of the box, it almost always took some dicking around, I'd rather do the dicking around with a language that doesn't always seem to work against me.

  • @flashgnash@lemm.ee
    hexbear
    9
    8 months ago

    I feel like python would be an AR-15 or something, generic modern weapon that's easy to use but doesn't really do anything special

    • Dr Cog@mander.xyz
      hexbear
      1
      8 months ago

      Definitely better than this outdated version. Nobody uses Python2 unless they want to at this point

    • @Bumblefumble@lemm.ee
      hexbear
      7
      8 months ago

      It's a very large image, so many clients load a scaled down version. On Boost at least you can press the HD icon and it loads the fullsize images where stuff is legible.

  • @unreliable@discuss.tchncs.de
    hexbear
    8
    8 months ago

    Rust is correct. Mostly ignore as useless, but is the safest and reliable weapon, on a good hands can hit someone hard and kill it.

  • @uzay@infosec.pub
    hexbear
    6
    8 months ago

    JavaScript is a foam bat. Easy enough to wield and it'll get the job done, but very inefficiently and it'll be an ugly sight..

  • SokathHisEyesOpen@lemmy.ml
    hexbear
    5
    edit-2
    8 months ago

    Hey now! PHP may be old and a bit clunky, but it gets shit done. I'd say PHP is the Colt repeating rifle, since PHP won the internet and the Colt won the West. Much like the Colt, there are better tools available today, but if you want stuff done reliably and quickly, PHP and the Colt are good choices.

  • @popemichael@lemmy.sdf.org
    hexbear
    3
    8 months ago

    I learned perl to make IRC bots and to customize bulletin boards in the late 90s, early aughts.

    I owe a lot to that language as it impressed a woman with my skills in it. I got my first marriage and eldest son out of it.