TIFU by not using objects in my object-oriented programming coursework
https://lemmy.ca/post/32965379
=> More informations about this toot | More toots from hellfire103@lemmy.ca
Strings are Objects, Doubles are Objects (that are than unboxed into primutives doubles)…
=> More informations about this toot | More toots from Dunstabzugshaubitze@feddit.org
Good, OOP can suck my balls
=> More informations about this toot | More toots from ddplf@szmer.info
Balls.suck() is the correct syntax.
=> More informations about this toot | More toots from vext01@lemmy.sdf.org
Don’t you need to declare new Balls() first? Or do you suck() Balls static?
=> More informations about this toot | More toots from RagingToad@feddit.nl
Or I didn’t using the correct naming convention!
=> More informations about this toot | More toots from vext01@lemmy.sdf.org
ballsFactory.setSuckable(true);
Balls balls = ballsFatctory.create();
=> More informations about this toot | More toots from xigoi@lemmy.sdf.org
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 suctionProvider = SuctionProvider.getIstance(); SuckerFactory suckerFactory = new SuckerFactory(); Sucker sucker = SuckerFactory.create(): sucker.setSuctionProvider(suctionProvider); sucker.setSuckable(balls); sucker.setIntensity(SuckerSuctionIntensities.medium); sucker.suckSuckable();
=> More informations about this toot | More toots from whats_all_this_then@lemmy.world
Python port:
suck()
=> More informations about this toot | More toots from whats_all_this_then@lemmy.world
Actually, it would be OOP.suck(ddplf.getBalls())
=> More informations about this toot | More toots from luciferofastora@lemmy.zip
You did the right thing. OOP was invented by people who were worried about their job security to obstruct others from understanding their code.
=> More informations about this toot | More toots from tyo_ukko@sopuli.xyz
Obfuscation Oriented Programming as I call it
=> More informations about this toot | More toots from LavenderDay3544@lemmy.world
Damn I’m stealing that
=> More informations about this toot | More toots from marzhall@lemmy.world
OOP is pretty readable though. What would be the alternative, functional programming with no ORM?
=> More informations about this toot | More toots from Lightor@lemmy.world
Right, most things are a fine thing in moderation.
=> More informations about this toot | More toots from electricprism@lemmy.ml
Well, bad code is bad code regardless of the paradigm. I’ve just had bad experiences rewriting some horrible OOP codebases and opted out to use as much functional style as C# allowed me to.
The main problem, as I see it, is that OOP encourages unnecessary abstractions and inheritance. These should be used as little as possible, because they typically increase complexity and make code harder to read and untangle. As an example, I’ve seen people define interfaces that don’t essentially define anything.
Another problem is that OOP encourages mutable member variables. It’s very annoying to try to understand code where class C inherits from class B that inherits from class C. Good luck debugging when the methods of C modify a variable declared in A in subtle ways.
As an idea OOP is very appealing. When I was younger, I would be thrilled to start designing a class hierarchy and interfaces when encountering a new programming challenge. Now I just try to think how to make things as simple and modular as possible.
=> More informations about this toot | More toots from tyo_ukko@sopuli.xyz
I’m currently taking the very last CS class my major requires. I can’t wait to leave OOP behind and focus on hardware completely.
=> More informations about this toot | More toots from HStone32@lemmy.world
where do you plan to go to start that off after school?
=> More informations about this toot | More toots from CausticFlames@sopuli.xyz
Either microcontrollers, operating systems, or something else involving RISC-V. That’s still a ways off though.
=> More informations about this toot | More toots from HStone32@lemmy.world
I hate that schools basically teach students to overuse 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.
=> More informations about this toot | More toots from LavenderDay3544@lemmy.world
Tbh if the average grad school student overused object oriented stuff they would produce vastly better code than the status quo.
=> More informations about this toot | More toots from eager_eagle@lemmy.world
I strongly disagree.
=> More informations about this toot | More toots from LavenderDay3544@lemmy.world
I’ve seen plenty of grad student code, abundance of OOP concepts was never an issue.
=> More informations about this toot | More toots from eager_eagle@lemmy.world
You can’t teach experience.
=> More informations about this toot | More toots from Chais@sh.itjust.works
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 arrangement of objects that adds more complexity than it removes
=> More informations about this toot | More toots from Kache@lemm.ee This content has been proxied by September (3851b).Proxy Information
text/gemini