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

    I hate that schools basically teach students to over use classes for everything especially by using Java as a teaching language and then they get into the real world or grad school and we have to unteach them those terrible habits.

    I’m so glad a lot of the newer languages (Rust, Go, Zig, C3, V) don’t have classes in them at all.

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

      Tbh if the average grad school student overused object oriented stuff they would produce vastly better code than the status quo.

        • Eager Eagle@lemmy.world
          link
          fedilink
          English
          arrow-up
          0
          arrow-down
          1
          ·
          edit-2
          2 months ago

          I’ve seen plenty of grad student code, abundance of OOP concepts was never an issue. Complete lack of any structure on the other hand…

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

            Bad abstraction is worse than no abstraction

            If the code is going to poorly organized, I’d prefer it to just be one single gigantic standalone script than some wrong and misleading arrangement of objects or functions that adds more complexity than they solve

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

    You did the right thing. OOP was invented by people who were worried about their job security, to obstruct others from understanding their code.

        • xigoi@lemmy.sdf.org
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          2 months ago
          BallsFactory ballsFactory = new BallsFactory();
          ballsFactory.setSuckable(true);
          Balls balls = ballsFactory.create();
          
          • whats_all_this_then@lemmy.world
            link
            fedilink
            arrow-up
            2
            ·
            edit-2
            2 months ago

            All of this is okay, but it’s not production ready. This is what real production code looks like:

            SuckableFactory suckableFactory = new SuckableFactory();
            Suckable balls = suckableFactory
                .setShape(SuckableShapes.round)
                .setCount(2)
                .create();
            
            SuctionProvider mouth = SuctionProvider.getInstance();
            
            SuckerFactory suckerFactory = new SuckerFactory();
            Sucker sucker = SuckerFactory.create():
            
            sucker.setSuctionProvider(mouth);
            sucker.setSuckable(balls);
            sucker.setIntensity(SuckerSuctionIntensities.medium);
            sucker.suckSuckable();