• cm0002@lemmy.world
    link
    fedilink
    arrow-up
    183
    arrow-down
    1
    ·
    8 months ago

    working her way through C++

    part of Digital arts curriculum

    Might be too high for this, but what??

    • mosiacmango@lemm.ee
      link
      fedilink
      arrow-up
      123
      ·
      8 months ago

      Maybe part of a gaming curriculum?

      Like, “learn some code so that when the devs are crying you can make small talk?”

        • mosiacmango@lemm.ee
          link
          fedilink
          arrow-up
          52
          arrow-down
          3
          ·
          8 months ago

          I was Haskalling for that one. I need to Go and shake off the Rust, maybe work on my Lisp to make sure people React well.

          Node what I’m saying?

          • 0xD@infosec.pub
            link
            fedilink
            arrow-up
            23
            arrow-down
            3
            ·
            8 months ago

            Not Ruby sure what you’re saying, but I dream of getting strangled by a Python that can’t C#. 🤤

          • MonkeMischief@lemmy.today
            link
            fedilink
            arrow-up
            3
            ·
            8 months ago

            If the devs are really exhausted and sad you can’t go wrong with bringing them a Java while they’re dealing with their latest Brainf**k . Knowing various languages helps you to C#, as long as you take good care of your eyes!

          • I Cast Fist@programming.dev
            link
            fedilink
            arrow-up
            3
            ·
            8 months ago

            React well

            That can only be some sort of evil Scheme, a rather Basic one. I can’t even Assembly the proper words to describe the Brainfuck

        • xmunk@sh.itjust.works
          link
          fedilink
          arrow-up
          7
          arrow-down
          1
          ·
          8 months ago

          C++ is still the far and ahead leader in game programming. All the tools are written in it and everyone is used to it.

          • Sonotsugipaa@lemmy.dbzer0.com
            link
            fedilink
            English
            arrow-up
            17
            arrow-down
            1
            ·
            8 months ago

            C++ is an awful candidate for a first programming language to learn, at least nowadays - it is very powerful, but it’s also full of foot-guns and past a certain point the learning curve becomes a wall

            • bort@sopuli.xyz
              link
              fedilink
              arrow-up
              16
              arrow-down
              1
              ·
              8 months ago

              it’s a great candidate. It was my first “real” languages (i.e. the first language, that is not php/js)

              you have a text file. then call the compiler on it, and then you have a exe file, that you can run. It does exactly what it is supposed to do without thinking about the browser, the webserver, the JVM, or some other weirdness.

              I get, that doing “good cpp” is difficult. And using all the weird languages features is difficult. But as long as you use strings, ints, ifs, fors, you should be fine. Just don’t use generics, templates, new (keep everything on the stack), multi-inheritance, complex libraries, and it’s a nice beginner language.

              • owen
                link
                fedilink
                arrow-up
                6
                ·
                8 months ago

                Yeah. My intro programming classes used C and C++ and they were great for illustrating the fundamentals. Plus I think it’s important to learn the building-blocks/history

              • Aceticon@lemmy.world
                link
                fedilink
                arrow-up
                5
                ·
                8 months ago

                Maybe it’s C that’s a good first language, though I would admit that the basic ouputting of values to stdout is more intutive in C++.

                • ebc
                  link
                  fedilink
                  arrow-up
                  9
                  ·
                  8 months ago

                  this std::cout << "hello world" bullshit is in no way intuitive. You’re using the bit-shift operator to output stuff to the console? WTF? Why 2 colons? What is cout? And then these guys go on to complain about JS being weird…

                  No, C is where it’s at: printf("hello world"); is just a function call, like all the other things you do in C.

                  • Aceticon@lemmy.world
                    link
                    fedilink
                    arrow-up
                    5
                    ·
                    edit-2
                    8 months ago

                    For non-programmers (who most definitelly don’t know that >> and << are bit shift operators) shoving something into something else is more intuitive than “calling a function with parameters”.

                    Also don’t get me started on the unintuitiveness of first passing a string were text is mixed with funny codes sgnaling the places were values are going to be placed, with the values passed afterwards, as opposed to just “shove some text into stdout, then shove a value into stdout, then shove some more text into it”.

                    Absolutelly, once you are used to it, the “template” style of printf makes sense (plus is naturally well-suited for reuse), but when first exposed to it people don’t really have any real life parallels of stituations were one first makes the final picture but leaving some holes in it and later fills-in the holes with actual values - because in real life one typically does it all at once, at most by incremental composition such as in C++, not by templating - so that style is not intuitive.

                  • Sonotsugipaa@lemmy.dbzer0.com
                    link
                    fedilink
                    English
                    arrow-up
                    4
                    ·
                    8 months ago

                    C is no beginner heaven either, printf is its own can of “why can this function have any number of arguments and why does the compiler have to complain about the formatting every 25 milliseconds” worms

              • Ethan@programming.dev
                link
                fedilink
                English
                arrow-up
                1
                ·
                8 months ago

                Go is just as easy. Install the compiler, write a file, compile it, get an exe. And a lot less foot-guns.

            • ⸻ Ban DHMO 🇦🇺 ⸻@aussie.zone
              link
              fedilink
              English
              arrow-up
              4
              ·
              8 months ago

              I actually found it alot easier once I had learnt C. That way I know where all of the problems are and can use the high-level stuff to get around them, while still fundamentally understanding what is going on

              • Sonotsugipaa@lemmy.dbzer0.com
                link
                fedilink
                English
                arrow-up
                1
                ·
                8 months ago

                Oh yeah, if you know C can be way more convenient depending on the language features you care about (as long as you thread very carefully when doing type punning, which you would rarely want to).

            • Sylvartas@lemmy.world
              link
              fedilink
              arrow-up
              2
              ·
              8 months ago

              Basic C++ isn’t really confusing (if you are not handwriting makefiles). It starts to get fucky when you get into memory handling, templates, etc. I’m assuming they are only using C++ over C for basic OOP (class/structs inheritance etc).

            • xmunk@sh.itjust.works
              link
              fedilink
              arrow-up
              1
              arrow-down
              5
              ·
              8 months ago

              Not really. Pointers are almost always a bad idea - just use const refs and you’ll be fine.

              • Sonotsugipaa@lemmy.dbzer0.com
                link
                fedilink
                English
                arrow-up
                4
                ·
                8 months ago

                If using pointers is out of the question, then why choose to learn a language with explicit memory access before anything else?

                I have yet to learn Rust, but from what I hear it’s simpler and (mostly?) memory-safe – implying that it’s generally a better first language to learn.

                • xmunk@sh.itjust.works
                  link
                  fedilink
                  arrow-up
                  2
                  arrow-down
                  1
                  ·
                  8 months ago

                  Pointers are almost always a bad idea - but you’ll probably get a lot of mileage out of having a handful of them in a large project… there’s an impulse with new C++ devs to do everything with pointers and use complex pointer arithmetic to do weird array offset and abuse predictable layouts to access stack variables etc… pointers are fine when used with moderation.

              • Gabu@lemmy.world
                link
                fedilink
                arrow-up
                2
                arrow-down
                1
                ·
                8 months ago

                What do you mean? Pointers are the best thing ever. It either works, or you manage to make fireworks!

    • kureta@lemmy.ml
      link
      fedilink
      arrow-up
      60
      arrow-down
      1
      ·
      8 months ago

      There are lots of ways computers are used for making art. Not just video-games. For example, projection mapping, algorithmic music composition, live coding, etc.

      You can look into openFrameworks for examples of C++ in arts.

        • baseless_discourse@mander.xyz
          link
          fedilink
          arrow-up
          8
          arrow-down
          2
          ·
          edit-2
          8 months ago

          I think there probably are school where the professor know c++ very well, but never bothered or too stubborn to learn/teach python.

          Unlike the top 50 to 60 schools, most schools, especially research universities, don’t care that much about teaching (in the U.S., at least).

          • Socsa@sh.itjust.works
            link
            fedilink
            arrow-up
            4
            ·
            8 months ago

            I would argue that anyone who understands c++ can easily pick up python.

            Source: expert in both.

        • kureta@lemmy.ml
          link
          fedilink
          arrow-up
          5
          ·
          8 months ago

          This was the first serious creative coding framework I’ve learned 2008 or 2010 or something. I have been in this field since then. I have seen Java, Javascript, and kotlin creative frameworks but not python and I am still as surprised as you are.

    • WalrusDragonOnABike [they/them]@reddthat.com
      link
      fedilink
      arrow-up
      41
      arrow-down
      1
      ·
      8 months ago

      Just checking an art degree guide: https://catalog.mit.edu/degree-charts/architecture-course-4-b/

      One of the classes that can be chosen is: 6.4400 Computer Graphics, which has a programming 101a/b class as a prereq (granted, it uses python instead of C++, but pretty sure they used C++ as their language-of-choice for the programming 101 language until recently).

      Given the variety of digital art (video games, VTube avatars/VR avatars, more traditional-style digital art, etc), having the tools to make those kinds of things can be useful for making responsive/interactive digital art.

      • Aceticon@lemmy.world
        link
        fedilink
        arrow-up
        6
        ·
        8 months ago

        I’m currently working in game making and a ton of tools for things like 3D model creation (such as Houdini or Substance) use some form of procedural generation where at least understanding programming concepts is important and actual programming is required to do the more advanced stuff.

    • pete_the_cat@lemmy.world
      link
      fedilink
      English
      arrow-up
      13
      ·
      8 months ago

      I’m very confused as well. Some universities do have ridiculous requirements though. I was planning on being a veterinarian and had to take politics classes. I switched to IT and was required to take general chemistry.

      • mvilain@fedia.io
        link
        fedilink
        arrow-up
        15
        ·
        8 months ago

        40 years ago at UCLA, I had to do my FORTRAN programs on punch cards submitted through the batch system. The CS/Math department (no CS department then), only offered 1 section in FORTRAN with 40 others in PASCAL. And it was taught by an Engineering professor. Why would a Chemistry major take a computer science class? Remember all those shiny machines CSI uses to do forensic analysis? They came from chem labs.

        • pete_the_cat@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          8 months ago

          I get if that’s what you want to get into, but if I was aiming to be a Linux System Engineer (like I currently am), I’d never chemistry.