• neomachino@lemmy.dbzer0.com
    link
    fedilink
    arrow-up
    3
    ·
    2 months ago

    Not really a dumb reason, but back in the day I was stuck in the WordPress developer loop and tired of it. I was pretty familiar with a handful of languages, but wasn’t doing much more than setting up themes and building out pages with builders.

    One day I heard the CTO talking about a tool he would love to have but couldn’t find anything that worked how he needed it to. The CTO was a big buzzword guy and recently shared an article with my manager at the time about how C++ was “the best language”. So naturally I chimed in and told him I could build that tool easy peasy and I would use C++ obviously because it’s the best language.

    It was such a simple tool, basically just matching phrases and categories and spitting out a list of options. It took me months to make, but I learned a lot and it kind of worked for the most part and everyone was happy. I eventually got a de-facto department in the company where I would just build internal tools and handle some legacy codebases that they were previously outsourcing.

    I later on got my current job because of that leap.

    TLDR: I learned C++ because I was bored and lied that I already knew it.

  • lengau@midwest.social
    link
    fedilink
    arrow-up
    2
    ·
    2 months ago

    I learned lolcode in college because we had to write a sorting algorithm in assembly and “any other programming language.”

  • FrostyCaveman@lemm.ee
    link
    fedilink
    arrow-up
    1
    ·
    2 months ago

    To have an easier time with another language (which the first language’s valid syntax is a superset of) which it papers over the faults of. And usually it’s pretty thin paper.

  • neidu2@feddit.nl
    link
    fedilink
    arrow-up
    1
    ·
    2 months ago

    “Gods, that’s stupid. Why is it being done this way? Have they never heard of naming conventions? Is the language really that awfully designed?”

    Learns PHP to find out more.

    “Yup…”

    • AwkwardLookMonkeyPuppet@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 months ago

      HEY! Is PHP ugly? Yes. Does it use stupid naming conventions? Also yes! But it’s an awesome language when you want to get shit done. There’s no other languages out there where you can just write some code in VIM directly on the server through SSH and immediately see your results without any further setup. No frameworks required, no packages, no imports, no buzzwords and hubub, just pure unadulterated utility.

      • neidu2@feddit.nl
        link
        fedilink
        arrow-up
        1
        ·
        2 months ago

        Incorrect. Perl does the same just as well, and it’s a language that actually makes sense while also being uglier.

    • onlinepersona@programming.dev
      link
      fedilink
      English
      arrow-up
      1
      arrow-down
      2
      ·
      2 months ago

      PHP is a scourge. I wish less server software were written in it. You’ll stumble upon some opensource project with a cool UI, run into a problem and find out the docker container has apache, postgres, and PHP in it. Debugging PHP is such a pain and setting up a developer environment is such a hassle because they haven’t discovered docker for dev envs yet.

      Terrible experience all around.

      Anti Commercial-AI license

  • chameleon@fedia.io
    link
    fedilink
    arrow-up
    1
    ·
    2 months ago

    Needed to write a syntax highlighter for VB.Net but I couldn’t find any weirdly written edge cases online, so I had to make some myself.

  • Kacarott@aussie.zone
    link
    fedilink
    arrow-up
    1
    ·
    2 months ago

    I was trying to rank up in Codewars, and there was a 1kyu (hardest and worth the most points) kata only available in OCaml, so I learned it in order to solve.

  • Ephera@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    2 months ago

    I was playing this really simple mobile phone game, where you basically go on these mining trips, then you tap the screen as quickly as possible. So, I thought to myself, I wonder if there’s a way to simulate screen taps, to tap at superhuman speeds.

    I found an app for that, this app had its own scripting language. Admittedly, there weren’t many concepts to learn in this language, but wait, there’s more.

    Then I thought, maybe I can also automate the menus, between the mining trips.
    But this language didn’t have support for multiple files, nor functions, you couldn’t even use labels in your goto statements, meaning my code started to get quite complicated.

    So, I actually sort of implemented support for goto labels / shitty functions within my program.

    Basically, at the start of the file, I had an if-else block, which read the value of a variable and based on that, it would select between different goto statements.
    So, if I wanted to “call a function”, I would set the variable to the function/label name and then goto 0.

    If I remember correctly, I did still need to manually update the line numbers in that lookup table at the start, but at least, I didn’t have to do it everywhere in the code anymore.

    And yes, I did manage to completely automate grinding that game, using this shitty scripting language.
    It was an offline game, and not a good one, I didn’t actually care about making progress in it. But scripting it was significantly more fun than playing it myself.

    • Luvon@beehaw.org
      link
      fedilink
      arrow-up
      2
      ·
      2 months ago

      There’s a game called something like “oh no the farmer is gone” which is about programming a little robot to harvest the fields and the programming is built directly into the game

    • andioop@programming.devOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      2 months ago

      This feels like me wanting to learn Hare because I like rabbits, which I bring up because someone left this reply for me and I think it applies to you too:

      That is such a sweet reason! Whimsical decisions like this can be some of the best. Life demands a bit of whimsy every now and then.

  • Elsie@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    2 months ago

    I learned bash instead of python because my 8 year old brain saw all the parentheses and thought “ew no”…

  • 1hitsong@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    2 months ago

    Because I wanted to listen to music while doing the dishes.

    The Jellyfin Roku client didn’t support audio playback, so I wrote it myself… while learning Roku’s proprietary language 🙄

    • Flatfire@lemmy.ca
      link
      fedilink
      arrow-up
      1
      ·
      2 months ago

      It occurs to me I’ve literally never tried to play my music library through Roku. I usually just cast to a speaker with my phone. Is it part of the main branch?

  • I, as a teacher, have had to learn several languages, but that’s not the dumb reason bit. The dumb reason bit was WHY I had to teach Python, which once I learnt it (so I cold teach it) I could see right away was NOT a suitable language for teaching to Year 7 (who up to now have only used Scratch). I was teaching the U.K. curriculum, and I found out that teaching C# was also allowed - still not ideal, but better than Python for learners -but pretty much all schools were teaching Python. When I dug into it I found I was far from alone in not wanting to use Python… and I also found out the reason schools were teaching Python. It was because from an ADMINISTRATIVE point of view it was much easier for the schools to have us teaching Python. In other words, the office-workers who didn’t have to teach it, only had to admin it, were forcing everyone to teach Python because they wanted the lower overhead that came with installing/maintaining that vs. C#. ARGH! All the teachers who wanted to teach C# were running into exactly the same road-block.

    • kureta@lemmy.ml
      link
      fedilink
      arrow-up
      3
      ·
      2 months ago

      I’m really surprised to hear that teaching C# to 7th graders is easer than teaching them python. Python was invented to teach. It looks like pseudo code. I have almost zero experience in teaching so I trust your experience. But can you elaborate a little? What makes teaching C# easier?

    • JackbyDev@programming.dev
      link
      fedilink
      English
      arrow-up
      2
      ·
      2 months ago

      I’ve always seriously questioned why python has become the defacto beginner language. Sure, a simple print hello world is short, but I feel like static languages are easier to see what’s going on.

    • 0xDREADBEEF@programming.dev
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      2 months ago

      Honestly, I taught myself JS in like 2009 as my first programming language. My high school taught Java, but I didn’t get OOP. I understand functional programming though, so after JS I taught myself Elixir, then OCaml and Haskell. I really wish I was just taught Clojure or another lisp-like in school though. Python is… okay… I need expressions in my language, though, and Python is not that.

        • object-oriented (this is their FIRST proper programming language - they don’t even know how to write loops yet and you want us to teach them OOP at the same time?! And as it turns out, I had one student who literally could NOT work out how to use a loop - kept writing 20 variables for 20 iterations. i.e. her variables never varied!)
        • variables are weakly-typed (use it for anything, whether it’s what you first used it for or not, Python doesn’t care)
        • indentation has to be exact (i.e. no brackets, just exact indentation). I had one student whose program wasn’t working, and it even took ME a while to find what was wrong with it (a missing space).

        I think there was more, but that’s what I remember off the top of my head. If it was up to me then I would’ve used Pascal - that’s what it’s designed for! But at least C# has strongly-typed variables, and doesn’t care about your indentation (and unfortunately there was no non-OOP language choice available - I’m not sure how this got in the curriculum when every teacher knows you only teach one concept at a time). As I said, many other teachers felt the same way, but couldn’t get it past their school admin’s.

        • jjjalljs@ttrpg.network
          link
          fedilink
          arrow-up
          0
          ·
          2 months ago

          You can use types in Python and your tools will generate warnings

          def something(a: int) -> int: return “potato”

          will turn yellow in an IDE more advanced that notepad.

          Most editors will also show a red line where the indentation is wrong.

            • jjjalljs@ttrpg.network
              link
              fedilink
              arrow-up
              1
              ·
              2 months ago

              If you’re writing any language in like notepad, you’re going to have a bad time. I accept your point that school administration may be making questionable choices about what software is installed, but that’s not a problem unique to python.

              • that’s not a problem unique to python

                No, but it’s a bigger problem for C# than is is for Python (though this is changing now), so all the U.K.-based schools were teaching Python, rather than the more-appropriate C#. That was my original point - that’s the dumb reason I had to learn Python, school admin’s wanted the lower overhead of the worse language.

        • onlinepersona@programming.dev
          link
          fedilink
          English
          arrow-up
          1
          arrow-down
          3
          ·
          2 months ago

          Why do you even have to mention OOP? C# is object oriented too. Would you start explaining OOP too when teaching C#?

          Python is comparatively easier as it’s nearly literally pseudo-code. There’s no need to even write a main function or functions at all. It uses less characters too e.g no need for semi-colon, brackets in for loops and if statements

          As for indentation being exact, IMO that’s on you. Beginners should be given a proper development environment to work in that helps them as much as possible. Modern editors and IDEs point out syntax errors and indentation errors are incredibly basic. If they are working in an environment that doesn’t even point that out to them, they have been setup incorrectly.

          Anti Commercial-AI license

        • uthredii@programming.dev
          link
          fedilink
          arrow-up
          0
          arrow-down
          2
          ·
          edit-2
          2 months ago

          object oriented

          Python does have OOP but you are not at all forced to use it. You can write code in a functional or even procedural style.

          typing

          I do hate that python doesent have proper support for typing but I think weakly typed variables will actually help beginners as it is less to think about to start off with.

          indentation

          I think there are pros and cons here. In other languages it is considered good style to use indentation anyway.

          I’m sure it is difficult to teach a large class like that though. It was hard enough for me to learn with a much more favourable teacher to student ratio than you probably have. Sorry but honestly I do sympathise with admin as well.

            • Nighed@feddit.uk
              link
              fedilink
              English
              arrow-up
              1
              arrow-down
              2
              ·
              2 months ago

              Lots of us have the experience of being the kid in that situation though. I learnt python in secondary school.

              • have the experience of being the kid in that situation

                Which kid? The gifted one, the one who didn’t understand loops and used 20 variables for 20 iterations, the one who didn’t understand how to write pseudo code, the one who was dyslexic,…?

                I learnt python in secondary school

                Which Year? I didn’t say it wasn’t appropriate for high school, I said it wasn’t appropriate for Year 7 as a first programming language.

                • Lots of us

                  Also, who do you mean by “us”? Programmers? Not all the kids in class want to be programmers, and this isn’t a programming class - it’s Computer Science. We cover topics like hardware, the Internet, Cybersecurity, the history of computers, data analytics, etc. Not only do not all of them want to be programmers, not even all of them want to be in I.T. - they’re just, you know, interested in computers (or in some cases they’re in the course because their parents think they should be in it - I’ve had a couple of those students). We only spend 6 weeks on programming (we spend 6 weeks on each topic), or sometimes we might do it twice and spend 12 weeks on it, and that’s it for the year! You can’t teach Year 7 kids algorithms, pseudo code, basic programming concepts (variables, branches, and loops) and OOP as well in one year. Especially when not even all of them are interested in programming. It’s just one topic we cover. OOP is something that shouldn’t be covered until at least Year 8, preferably Year 9 (by which stage students have decided if they want to continue on this path or not, and the ones we still have left we start getting more hard-core… which is where the “us” I presume you’re referring to come in).

          • Python does have OOP but you are not at all forced to use it.

            Not as an individual, but I’m talking about a situation precisely where the individual choices of teachers are ignored, in some cases by school admins, in some cases by faculty choices. Fortunately I also ran a computing club, in which I was autonomous with how I ran it, and I taught my computing club students C#/MAUI… but even then still saw some of the issues you run into with teaching students. e.g. I told them to install Visual Studio ready for next week, showed them where it was, what workloads to install, and then the next week one of the students had installed Blend for Visual Studio, not Visual Studio. “Look, it has Visual Studio in the name!”. (sigh)

            I think weakly typed variables will actually help beginners as it is less to think about to start off with

            No, that’s exactly the problem to start with. Another rule of teaching (see below for the full list I’m quoting these from) is “never let the first impression be a wrong one”. If you let students think they can use variables for anything, then you run into problems when they can’t. This is why teaching them with strong types first is better - they learn you need to be careful with how to use them, THEN maybe you can let them have some more freedom like Python allows.

            In other languages it is considered good style to use indentation anyway

            Yes, but in those languages it’s optional. In Python it’s mandatory, and if someone’s code isn’t working it’s far easier to spot a missing bracket than a missing space.

    • best_username_ever@sh.itjust.works
      link
      fedilink
      arrow-up
      0
      ·
      2 months ago

      God. I didn’t knew that Drew was such a language nazi. If you want to write a Go clone, it must be useful for everyone. Even Emacs is available on Windows officially.

      • mke@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        edit-2
        2 months ago

        What a harebrained comment.

        …Sorry, it felt like such a waste not to say it! The puns!

        But, language Nazi? Don’t you think that’s a bit much? And it must be useful for everyone? Why? I also think it hinders growth, but it’s their project. It’s well within their right to choose whether they put in the effort to support a platform or not, regardless of the reasoning and how much effort it’d actually take.

        They don’t even seem to be against the idea, they just don’t care enough to be the ones to do it:

        According to DeVault, while there’s currently no plan to support non-free platforms like macOS or Windows, a third-party implementation or fork could try to make that work. The Register

        Even Emacs is available on windows, you say? I think some context is needed, here. See what GNU has to say about the availability of Emacs on proprietary systems:

        However, GNU Emacs includes support for some other systems that volunteers choose to support.

        Emphasis mine.

        To improve the use of proprietary systems is a misguided goal. Our aim, rather, is to eliminate them. We include support for some proprietary systems in GNU Emacs in the hope that running Emacs on them will give users a taste of freedom and thus lead them to free themselves.

        Taken from the official download and install page.

          • mke@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            edit-2
            2 months ago

            Sure, and that matters because…? What negative effects is this choice having on hare that go against hare’s objectives?

            You seem to be treating hare as something it doesn’t want, nor care to be.

            I like to describe Hare as a simple, conservative, modern update to C, with a FOSS ethos. It doesn’t try to break computer science ground, or promise to solve a million dollar problem.

            Guess you could say they’re probably not friends of million-hares. Ha, ha.

            And upstream Hare will not support non-libre operating systems. That’s a lot of conviction, but Hare isn’t trying to take over the world. It will coexist with the diversity of languages out there, and thrive in its own niche. In short, the Hare project develops for a libre future and for the deliberate programmer, not the corporate, the ephemeral and the reckless.

            From Torres, one of the core contributors.

            Their wants and metrics for success aren’t the same as yours.

  • Gjolin@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    2 months ago

    I wanted to be a game programmer. 15 years on, I haven’t touched a video game in over a decade, and I find them pretty boring.

    • Oka@sopuli.xyz
      link
      fedilink
      arrow-up
      0
      ·
      2 months ago

      I became a Game Programmer. Job market sucks right now, so I’m cleaning toilets and taking out trash at a grocery store.

      But hey, on my days off I sometimes have time to work on games.

      • breadsmasher@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        edit-2
        2 months ago

        I wanted to get into creating video games.

        I ended up in software engineering for financial companies. It killed my hobby love of programming but the salary is worth it. Exceptionally lucrative, and I have never struggled for work, with great pay, bonus, benefits, equity