• uis@lemm.ee
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    8 months ago

    Why data structures weren’t in C/C++? It would make sense to care about structures, cache locality, SoA/AoS, indirections and stuff in some language that compiles in native code.

    • theneverfox@pawb.social
      link
      fedilink
      English
      arrow-up
      3
      ·
      8 months ago

      Ah, I phrased that ambiguously - it was in C++, all of our computing theory type classes were.

      I just got distracted realizing I graduated proficient in 9 languages and reasonably comfortable in another 3. 2 were from internships, but the rest were all from coursework. The last couple years, I was juggling 2-4 at all times, plus the odd scripts

      I always thought I was really good at picking up and switching languages, but I just realized my program was designed that way.

      That feels like a lot, do other colleges do something similar?

      (I guess you could knock off 3 because we ended up switching every semester in software engineering because cross platform apps were pretty bad at the time)

      • jaybone@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        8 months ago

        Once you are in the industry long enough, you won’t even remember how many different languages you have worked with.

        A good education and experience should get you to the point where you are comfortable picking up and using any language, even if it is new to you.

      • marcos@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        8 months ago

        My undergrad officially required Pascal, C, C++, Java, PHP, Prolog, Lisp, x86 and MIPS assembly. You couldn’t work around those. There was also Tiger, VHDL, and Bash that were required, but you would probably not count as languages. (I’m certainly forgetting some stuff too.)

        There was a virtual certainty you’d need some more languages, but not everybody would need the same ones.

        • theneverfox@pawb.social
          link
          fedilink
          English
          arrow-up
          1
          ·
          8 months ago

          Damn… That list sounds terrifying. I’m working on a legacy code base in VB (although I finally have time to try out this c# converter to start the slow march out of depreciation), and 8 months later I still feel gross with VB. I’m pretty sure VB is uniquely horrible because of the inconsistency. .

          I’ve heard good things about pascal and lisp… But lisp syntax also makes me irrationally uncomfortable

          I did prolog as well in an elective, that was a weird and interesting language. It’s not very practical, but it was fun. Plus graph theory is one of the weird maths that pops up everywhere, maybe one day I’ll find an excuse to try to use it for something

          So it sounds like you had even more than me, I’m now wondering why even my relatively young co-workers all seemed to specialize so hard straight out of school

          What did you end up working in? Did you specialize, or keep up with the language juggling?

          • marcos@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            8 months ago

            Picking up languages is quite easy, you just have to learn it. Turns out nowadays I mostly work with SQL (it’s on the required list too, I just forgot about it) and C#. Learning new paradigms is harder, but there aren’t that many of those.

            I’m now wondering why even my relatively young co-workers all seemed to specialize so hard straight out of school

            That’s imposed by the job market, not natural thing to exist. In fact, it’s very much unnatural.

            • theneverfox@pawb.social
              link
              fedilink
              English
              arrow-up
              1
              ·
              8 months ago

              That’s imposed by the job market, not natural thing to exist. In fact, it’s very much unnatural.

              I mean, maybe my first job was an outlier, but I literally mean chose to specialize. Out of the people who graduated within 5 years of me, two got into Python because of the project, and just stayed there like you said… One of them could only never have run his code before pushing commits, the other one was middle of the road.

              Another went strict UI - he wasn’t unable to do other things, he got hired after a couple years and said this is what he wanted to do.

              Two more started in Python, then decided they wanted to do exploit stuff, the guy ended up going back to programming after he was let go for non-work reasons, and I don’t know where he ended up… He worked for Amazon for a while.

              I guess a good chunk did keep using what they’re using and happen to specialize like you say, but I saw a lot of people choose something intentionally, a few years after doing something different too. Most of the team looked for something using their existing languages or even stack when we all moved on, regardless if they picked it or fell into it

              I don’t think it’s difficulty - like you say, if you’ve learned a couple high level languages, jumping to a new one is mostly syntax

              Maybe it’s a comfort/effort thing? A lot of the people who chose to specialize left their work at work. Only one person I worked with was like me - several would adapt to whatever was practical without difficulty, but without a clear best opinion I always pick something new, because it makes things more fun… He was fun to work with, because the client loved him and he pitched the weirdest and most fun features

              Maybe it’s just personality thing… I’m now convinced my school probably wasn’t an outlier though