An After-School Program Teaches Teens Java and Python::The students also learn how to design board games and video games

    • jasondj@ttrpg.network
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 year ago

      2002, but it was Visual Basic. I got a fucking C in that class because I spent more time helping other kids figure out the assignment than spending time putting worthless clutter in my interfaces to the teachers standards.

      Oh well. At least I learned how to write a GUI to track the hackers IP address.

    • realharo@lemm.ee
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      1 year ago

      I had programming (Pascal) in school in a random-ass country in Europe 20 years ago (I was like 14).

      This has been widespread all over the world for a long time.

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

        At 14 I could barely get a for loop and if statement working properly. Pascal then VB for me, once a week for 2 years. Only really started programming in uni. Some Asian countries start in primary school at as early as 3 years old. It’s as important as languages to them. By 14 they’re already doing robotics and writing social media clones.

        We are quite far behind in the west.

  • pivot_root@lemmy.world
    link
    fedilink
    English
    arrow-up
    14
    arrow-down
    10
    ·
    1 year ago

    Back when I was in school, corporal punishment was the norm. I would still prefer that over Java.

      • ____@infosec.pub
        link
        fedilink
        English
        arrow-up
        14
        arrow-down
        1
        ·
        1 year ago

        I know exactly what modern Java looks like, and it could be beautiful. But… legacy cruft and lazy devs make it painful. And tech debt, let’s be honest.

        I’d view a greenfield project rather differently, but those are unicorns.

      • pivot_root@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        arrow-down
        7
        ·
        1 year ago

        I get it, you have no idea what trying to optimize around an ever-changing JIT recompiler looks like

        • AeroLemming@lemm.ee
          link
          fedilink
          English
          arrow-up
          8
          ·
          1 year ago

          I think if your project is so performance-critical that small runtime changes can cause performance issues, Java (or any other garbage-collected language) isn’t a good choice. That’s not the case for the vast majority of projects.

          • pivot_root@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 year ago

            The just-in-time compiler isn’t bad, but the rest of it is. An optimized hot loop has the potential to emit better instructions than a C/C++ compiler not using PGO, but you’re never going to see that in any real workload.

            If you could rip out/avoid the garbage collector, give it the ability to use escape analysis to avoid heap-allocating every single object, and prevent it from implicitly making every function virtual, then maybe. But at that point, you might as well just a different language.

              • pivot_root@lemmy.world
                link
                fedilink
                English
                arrow-up
                1
                ·
                1 year ago

                There’s a difference between the JIT being able to emit better native code than an unguided compiler, and the language being as performant as another language. Java is never going to be as fast as C or C++, and that’s something you can blame its design for.

                • Valmond@lemmy.mindoki.com
                  link
                  fedilink
                  English
                  arrow-up
                  2
                  ·
                  1 year ago

                  They traded speed for safety, that’s why, not something right or wrong that you should “blame” anything for IMO.

  • soulfirethewolf@lemdro.id
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    3
    ·
    1 year ago

    Java is a good language if you’re a beginner, but if you’ve already coded before in other languages, it’s going to suck.

    • sebsch@discuss.tchncs.de
      link
      fedilink
      English
      arrow-up
      5
      ·
      1 year ago

      Especially for beginners its a bad language. You have the understand artificial concepts about classes, objects, abstract states before you re able to learn the important stuff like if/else, looping etc pp.

      I would always give beginners a language which is at least in their way as possible.

      • Pipoca@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        You don’t really have to.

        You can just handwave public static void main, and only deal with primitives, then static functions, before introducing objects.

        That’s what they did at my high school. It’s weird, and there’s much better ways and languages to introduce procedural programming, but it’s possible.

    • realharo@lemm.ee
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      1 year ago

      They should’ve just picked Kotlin.

      It also encourages good basic habits, such as not making a variable mutable unless you specifically need to (val is way more common than var, the IDE makes them very visually distinct).

    • aluminium@lemmy.world
      link
      fedilink
      English
      arrow-up
      24
      arrow-down
      1
      ·
      edit-2
      1 year ago

      I think Java is still a good language for beginners. The tooling around it is really good and it catches lots of issues at compile time.

      • starman@programming.dev
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        1 year ago

        In my opinion, C# would be better for this job. It is similar, but has many features that simplify the code, such as top level statements, LINQ, collection expressions and stuff like that. It’s also way more popular in game development and that’s what most teens are interested in

        • aluminium@lemmy.world
          link
          fedilink
          English
          arrow-up
          15
          arrow-down
          1
          ·
          1 year ago

          I seriously don’t get why Python is so popular for learners. Its a weird ass very isolated language syntactically. The libraries for it are great but still.

          • Free Palestine 🇵🇸@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            8
            arrow-down
            3
            ·
            1 year ago

            JavaScript sometimes can be weird as hell. That’s why I prefer Python. I don’t know, for me it seemed logical from the beginning. Java definitely ain’t better.

          • Linkerbaan@lemmy.world
            link
            fedilink
            English
            arrow-up
            10
            arrow-down
            5
            ·
            1 year ago

            Because it dared to change the shitty syntax of bad syntax languages so humans can actually read it.

            • aluminium@lemmy.world
              link
              fedilink
              English
              arrow-up
              7
              ·
              edit-2
              1 year ago

              Its probably bias to what you are used to the most. I think for example copy pasting stuff around in C like languages is way easier than the tab mangling one has to perform in python.

              Also python has so plenty of bizarre (i.m.o. not very readable) syntax beyond that. Like

              def __init__(self) : for a constructor

              the most verbose lambda syntax for something that should make it less verbose to inline functions def x = lambda x: x + 1

              logical operators being words while numerical and comparative ones aren’t def x = not a or (b <= c)

              private methods not really existing thus needing underscores as a crutch

              I don’t wanna hate on python, the ecosystem and libraries around it are amazing but people saying python is the gold standard in terms of syntax and “readability” is questionable i.m.o… There also is a reason why many of new modern hyped languages (which don’t have to abide to backwards compatibility to some other language like mojo) like Rust, Kotlin, Go, Zig, and Swift are C style langs.

        • bionicjoey@lemmy.ca
          link
          fedilink
          English
          arrow-up
          7
          arrow-down
          1
          ·
          1 year ago

          “Java is dying” is what people who’ve never actually worked as a dev for a big company think.

            • Maalus@lemmy.world
              link
              fedilink
              English
              arrow-up
              3
              arrow-down
              2
              ·
              1 year ago

              Okay, and this is relevant how? One company doing stupid shit doesn’t mean a language is dying - it’s the basis of enterprise basically everywhere

              • Free Palestine 🇵🇸@sh.itjust.works
                link
                fedilink
                English
                arrow-up
                2
                arrow-down
                2
                ·
                1 year ago

                Many companies are migrating away from Java. Have you seen any big projects started in the last 5 years that use Java? I haven’t. Java is only used to either maintain existing stuff or to migrate away from even older shit like COBOL or Perl.

                • Maalus@lemmy.world
                  link
                  fedilink
                  English
                  arrow-up
                  2
                  ·
                  1 year ago

                  Yeah, I have seen plenty of big projects started in Java. Hell, I’ve written code for at least 10 of them. Just because you personally don’t see something happening, doesn’t mean it isn’t there. Java is as popular as it gets, being in the top 3 languages used. It’s not going away and it is not being deprecated any time in the future.

                • bionicjoey@lemmy.ca
                  link
                  fedilink
                  English
                  arrow-up
                  2
                  ·
                  1 year ago

                  Many companies are migrating away from Java.

                  And way more aren’t. Especially among big market cap companies.

        • FourThirteen@lemmy.world
          link
          fedilink
          English
          arrow-up
          7
          arrow-down
          3
          ·
          edit-2
          1 year ago

          Java is absolutely not dying… unfortunately. Billions of people depend on spaghetti code written by corporations every day. I think Java will be the next COBOL. It won’t die and it’s unfortunate.

    • kaffiene@lemmy.world
      link
      fedilink
      English
      arrow-up
      7
      arrow-down
      2
      ·
      1 year ago

      Java is a great language. Still one of the most used languages in the world. Ditto python