He said that OOP was a mistake and most design patterns and clean code conventions are bloat.Why are we still using them?
These guys are always full of criticisms but almost never have any solutions
>>109621876All he wants us to do is to use structs (data only, no functions) instead of classes.It's not complicated.
>>109621850fuck this guy
>>109621915Hating Bloat++ will always be white-coded.
>>109621850pretty sure oop is more than 5 years old
>>109621876All he want us to do is to not separate access to data (scope) based on a "physical model". The experience of the user should look correct, but the software does not have to model a system, or hierarchy or an "organism". Just have the data in a heap together, prosess it, and make it easily available. Make it easy for you and the cpu.
>>109621850>Why are we still using them?Some modern languages like Golang don’t even support inheritance.Java is kinda stuck with supporting inheritance for backwards compatibility.>design patternsyes, 95% bloat, but a “monad” is also a design pattern. java 8’s Optional is an example of a monad.They’re not all bad, but you really don’t need much more than singletons and monads.
>>109621850>OOP is le wrong>you should optimize data access based on the "current" CPU architectureWhy are chuds like this? I mean in 10 years or so memory will be so fast that DOP with be a meme.
>look, OOP was a mistake.>so what if I haven't done anything relevant in 40+ years without using OOP?I find it hilarious how /g/ loves to idolize irrelevant and mediocre people. Casey's life highlight was making a fucking IDE plugin. Blow is another mediocre person whose balls /g/ loves to suck up to, a retard whose life highlight was making a poorly made clone of Sokoban.They're full of opinions about everything, but they've never done anything relevant. Even a parrot can talk, I want to see them show something relevant besides mediocre games and IDE plugins.
>>109622056it’s not about memory optimization, it’s about how using inheritance will code yourself into a corner since there’s no multiple inheritance>>109622072it’s true that the guy seems irrelevant and I’ve personally never heard of him, but he’s right that OOP is a bad practice.The only people that give a shit about design patterns more than 3 years into their career are java saars
>>109622072>I find it hilarious how /g/ loves to idolize irrelevant and mediocre people.He helps high-profile developers out all the time (including big names like Larian Studio, which used a library he wrote 25 years ago)>Blow is another mediocre person whose balls /g/ loves to suck up to, JBlow is literally creating an industry-defining programming language right now.>a retard whose life highlight was making a poorly made clone of Sokoban.You're uninformed. His first big game was Braid, then The Witness (which Casey famously helped with difficult algorithms), and now it's going to be that sokoban game (which is not out yet).Casey Muratori is actually an idealized version of what /g/ strives to be.- He is the ultimate logician contrarian (he LITERALLY makes money by disagreeing with other people, the ultimate 4chan dream)- He escaped wage-slavery by becoming self-employed- He is famous in the entire industry and held in very high regard- He shows up to big studios to save the day by figuring out very specialized solutions, gets his dick sucked, then leaves.He made it. He fucking made it. And all we can do is crab.
>>109622156>He helps high-profile developers out all the timeno he doesn'the worked on some middleware library a long time ago, he's never really made anything himself, he just talks shit
>>109622178Lying on the Internet is not fun after you leave high school.
>>109622193look it upworked on the granny animation system, I think he just made the API, hasn't done shit since then
>>109621850You know, I find it always funny to see all those functional language developers recreating OOP paradigms 99.9% of all usecases while at the same time bashing OOP lingos.talented programmers my ass, you like vegan food ? Good for ya, enjoy your testosterone lowering tofu steak just don't tell me about it all the time. I keep enjoying my god given meat as I am the dominant alpha male. Now beat it.
>>109622266>functional language developerslmao good way to out yourself as knowing nothing about the guy in question and talking entirely out of your ass
>>109621900so golang?
>>109621850>entire career has been spent working with entity systems>learned over time to despise OOP when used in place of an entity systeman inexorable series of events doesn't inspire you with genius no one else has. in the video he doesn't even say no one should use OOP and he's not even suggesting an alternative, he's just shilling entity systems which are already implemented in every game engine that exists while going over the history of his favorite nerd topics.
>>109622575>entity systemsMuratori doesn't use entity systems most of the time.He also isn't shilling entity systems in the talk, though I haven't watched it since the week it came out, he was using his early experience of those kind of systems to show encapsulation at the wrong boundary is a big issue and pointing to some historical papers doing nifty stuff realizing something similar.
>>109622575>>entire career has been spent working with entity systemsdon't mistake him for a game developer because he isn't one
>>109622601>He also isn't shilling entity systems in the talk,NTA but he talked about ECS at the end (2:04:00) when he used Thief as a case study.
>>109622624Yes, but he wasn't arguing that people ought to use ECS. He was arguing about OOP encapsulation and that the boundary around an "object" is the wrong idea iirc.
>>109622072This. Both of these guys are peak examples of the phenomenon. At least Blow did write something (a game) that at least one person (Soulja Boy) enjoyed. The other guy didn't even do that.It's like considering certain programming languages or design patterns your religion and forcing them onto everyone instead of using whatever tool's good for a job.
>>109621850>>109621876Almost every time I think about using OOP concepts there is almost always a better way to do it without OOP. I think the only exception is (arguably) GUI and some places where you actually need dynamic dispatch/vtables/interfaces.I think it's fine to use OOP for high level constructs or business logic, but for lower level stuff like dynamic arrays / strings / hash tables you really don't need it. Java forcing you to make everything an object is really dumb and I think C# does it better, use it when it's convenient/necessary but it doesn't force you to make everything an object. A lot of your data should be structs and not objects.
>>109622631getting people to design better classes is probably Gods work in the age of AI.
>>109622072>>109622650>IDE pluginWhy is it that the faggot who keeps posting these bait threads doesn't actually understand programming at all? A 3D animation system has nothing to do with IDEs, it's not even tangentially related and you'd have to be a total retard to mistake the two.The version he designed and coded is still being used in new games like Hades II and is credited in 162 games. https://www.mobygames.com/group/17807/middleware-granny-3d/
>>109622716>I think the only exception is (arguably) GUILook up immediate mode GUIs like the one used by the open source raddebugger. Incidentally also something that originates in games that Muratori was the one who popularized outside of them with a 2005 video and got people to take up again to make imgui, clay and assorted other stuff.Ryan Fleury (the main dev of raddebugger) wrote a couple of good blog posts on the subject of UIs.
>>109622728>The version he designed and codedhe didn't design and code ithe contributed to it
>>109622716>main>a class
>>109622773No, he handled the redesign of it and did the heavy work around 2001. After he left Dave Moore took over and kept it going. Now it's some undisclosed team at Epic.
>>109622728>version he designed and codedNigga, he didn't do shit. He just worked on the API side, the heavy work was done by other people.
>>109621850He is an absolutely fucking cretin.Literally everything Uncle Bob teaches is correct.I had to arrive at that under my own experience of blood and sweat. I came up with the patterns myself -- demonstrating how all complex systems emerge on things like abstraction, DI, adapter patterns, etc
>>109622950>Literally everything Uncle Bob teaches is correct.this has to be bait
>>109622955Where do you disagree?
>>109622950>myself -- demonstrating> --just install japanese IME and use ー, bro
>>109622961he's the guy who says everything should be decomposed into tiny objects with 5 line functions right
>>109621850OOP is and has always been a container for stupid programmers and a way to identify them, a useful tool both for technical directors and business owners, it is a social revolution that allows to permanently reject a large share of mediocrity from your life
>>109622972>just put in more effort to make your posts look like AI slopNot sure if you thought that through, senpai
>>109622987Alright I disagree with him there. I find there is a happy medium of around 10 lines per piece of code.
>>109623019You can uno reverse card AI accusations by telling them that your em-dashes are akshually 長音記号. It doesn't get picked up by ctrl + f, try it out.ーvs.—
>>109622915>just worked on the API>just worked on the API>just worked on the APINocoder faggot detected. Case closed.
>>109623064what?
>>109623064kek, this.
>>109621876what are you talking about? the dude has like 2000 hours of video footage available of him programming the normal procedural way
>>109623063It makes the post look like slop anyway. You don't own anyone by doubling down on posting cringe.
>>109623063Who gives a shit? Someone that is filtered by me liking to use -- which may on some systems be displayed as the em-dash, doesn't deserve to be faced with the content of my posts. It's above their mental paygrade.
>>109621850What's so special about this guy? He didn't do anything noteworthy.>https://en.wikipedia.org/wiki/Casey_Muratori
>>109623286he talks a lot of shit and pretends to be a game dev
>>109623286Lots of good stuff coming out of people who listened to him. Filepilot, Raddebugger, Dear Imgui, Blick, Sokol, Spall, Clay, Remedybg, miniaudio, SoLoud, Nuklear, etc along with some stuff that's adjacent with a lot of overlap like odin, wcap, Raylib, STB_lib etc.Jeets also seethe about him because he shits on OOP and publicly embarassed two Microsoft employees who were acting like cunts on github about the new MS terminal by writing the software in a weekend which they claimed would take up an entire PhD Thesis and then refusing to open source it for them saying if MS wants to make use of his code they can bloody well pay for it. I strongly suspect the guy posting these threads is one because he seems to be having trouble parsing arguments in english.
>>109623359imagine attributing the work of guys who did things to a guy who didn't do anything and just talked shit
>>109623359This is not a big deal, but the creator of Animal Well created his game from "scratch" and said that Handmade Hero was a big inspiration for him.
>>109623069ah yes, the API for a GPU rendered 3D engine, very easily done.
>>109623406what the fuck are you talking about? it's an animation system
>>109623389>imagine attributing the work of guys who did thingsCiting the guy in question as the inspiration, creating multiple conventions based off the programming videos he made and in more than one case refusing to associate with people who talk shit about him.
>>109623423>creating multiple conventions based off the programming videos he madeYou think this guy invented programming things from scratch? lmao
>>109623409This is a common thread for these threads. There's 1-2 single digit IQ retards who have zero grasp of programming who get assblasted over him and post daft shit like that. Even /v/ managed to BTFO one of them a couple of months back, or maybe it's closer to a year ago now, when they kept making Blow threads posting some shitty youtube clipper channel and seething about the clips. At first the faggot was trying to mock his programming arguments with Jai but even /v/tards could tell the OP didn't understand a lick of the actual arguments made in the clip he posted and pointed out he was full of shit and laughed at him. Then he changed tack with future threads and avoided technical talk.
>>109623426Both conventions cite him as the inspiration for it all. >b-but people did it before Neat, but no matter how assmad and jealous you get the people in question cite him.
>>109623441who cares if they cite him, the point is he didn't invent or do anything
>>109623449Well aside from Granny3D. And popularizing imgui. And getting all those people together getting us software spawned from co-operations like Blinck.And not to mention getting people like you frothing mad.
>>109623469yeah he worked on the API for the granny animation systemhe didn't invent imgui
>>109621850OOP _can_ be clean and concise. It just takes careful planning and meticulous adherence to an internal standard. Unfortunately, this is basically impossible in the real world when working on a code base that's being modified by multiple people or even multiple teams. This is only further exacerbated when you take into consideration that Java seriously lost the plot and an influx of poor programmers nailed in the concept that Java is all spaghetti, so all OOP must necessarily be spaghetti.
>>109623477>worked on the APIlmao
>>109623490yes, that's what he said he worked on
>>109621850>>109623480That's not really what he said in the talk anyway.He said the claims made about OOP's design goals aren't correct. I forget the exact definition he used but he stated it up front, according to google it was "A compile-time hierarchy of encapsulation that matches the domain model."Then he went on to dive deep into the history of OOPS going over Stroustroup, Kay, Simula and Hoare back to the 60s and citing letters and texts of theirs showing both the claims made about OOP and parts where they distinctly reject those claims (like that OOP is good for big teams or what not) and parts where they championed the bad OOP 'no one uses' and so on.It was more of a history lesson with some light takedown of some OOP claims than bashing OOP.
>>109623492No you retard. He wrote the entire thing. His blog goes on about the API because it's about API design principles.
>>109623528>He wrote the entire thingno he didnt
>>109623530Yes, you utter mongoloid. He wrote the entire thing and said outright he was the only full time programmer on it for the five years he worked there. The only one else credited is Jeff Roberts for having helped with API design discussions to get re-usable components.This is all on his blog and confirmed by other Rad people. If you have any proof otherwise feel free to post it.
>>109623552i heard him talk about working with other peoples code
>>109623588That would be when he, giesen and roberts made Bink 2.
>>109623593are you president of this guys fan club
>>109623449he inspired a new generation of developers to write shit that doesn’t suck and everyone who learned from him and shipped something holds him in extremely high regard
>>109623602I'm just sentient enough to know how to google.Something's that's apparently beyond you jeetoids.
>>109622156>He helps high-profile developers out all the timehe scams indians on substack, how is this an achievement?>JBlow is literally creating an industry-defining programming language right now.he will never release this dogshit language, in fact, once his latest game will flop and he won't have the funds to do anything anymore it will die (he is already on the verge of bankruptcy btw as per blow himself).>You're uninformed. His first big game was Braid, then The Witness, and now it's going to be that sokoban game (which is not out yet).only shitty games for retarded children and pedophiles lmao>- He is the ultimate logician contrarianbut he is wrong 99% of the time>- He is famous in the entire industry and held in very high regardand yet never produced anything especially since he is self-employed>- He shows up to big studios to save the day by figuring out very specialized solutions, gets his dick sucked, then leaves.made up fan-fiction, this never happened.blowjob and monogami are average dev, they never produced anything of value nor did they ever demonstrate l33t software engineering skills (and that's fine btw, we're all retards too)they constantly yap about how much they hate humanity and all but they do absolutely nothing to make the world a better place.where are their libs? their alternatives to software we use every fucking day? they do jack shit and they know it, it's getting incredibly embarassing now that they shill for the better software conference full of dudes who ACTUALLY do shit, a file explorer, a video editor, a text editor, etc.where the fuck are their tools? fucking nowhere, they're the RMS of the broader software world, they produce absolutely nothing of value while criticizing everyone else for existing in the same cosmic plan as them.fuck these retards, talks is cheap, uni courses/talks are worthless, I'll listen to them once they let code do the talking and can actually back up their claims for once.
>>109623615>everyone who learned from him and shipped something holds him in extremely high regardthey shouldnthe's barely done anything, he just talks himself up like an expert when he's never even made a fucking game
>>109623617I did Google it, that information wasn't available
>Implement Entity Model View ViewModel Controller Repository Service DTO pattern>To change a button you need to change 8 different filesPeak OOP
>>109623661>blowjob and monogami are average dev, they never produced anything of value nor did they ever demonstrate l33t software engineering skills (and that's fine btw, we're all retards too)Jonathan Blow has produced many things of valueCasey less so but more than the average developer
>>109623762>Jonathan Blow has produced many things of valuesuch as? his games are similar to the flash shit we had 20 years ago and no one is using his engine for anything.>Casey less so but more than the average developerif I go by what I see of him online he appears to be mid at best, I don't understand why most people are so lenient with ecelebs, average is average, you have 0 reason to suck his dick.
>>109623789he made the witness and his block pushing game, both 3d games from scratchhe made a programming languagethat puts him in the top 0.01% of programmersall casey has made is an animation library but that still puts him in the top 1%, he talks like he's way more experienced than he is though going on podcasts as a "game developer" when he's never made a game
>>109623798>that puts him in the top 0.01% of programmersmore like 0.0001% the number of programmers who can create the most basic programming language is getting vanishing small
>>109623807there arent that many programmers
>>109623798>he made the witness and his block pushing game, both 3d games from scratchso? like millions before>he made a programming languageso? like millions before>that puts him in the top 0.01% of programmersthat put him in third year at university>all casey has made is an animation library but that still puts him in the top 1%so? like millions before>>109623807>the number of programmers who can create the most basic programming language is getting vanishing smallwrong, the absolute number of devs is growning and the absolute number of good devs too, you're living inside a buble.>>109623817a few millions and growing
>>109622056t. webdev retard
>>109623098>>109621850>>109621953>>109621900lil bro spent 10 years on a game and never finished it. he never creates software, he just complains
>>109623821I think perhaps you're from another planet where there are billions of competent programmers
>>109623830his game only exists to milk his fanbasehe is smarter than you, it seems.
>>109623798Casey pretty much never says he's a game dev. He openly says he was a tools guy. Even in handmade hero he always said he wasn't a game designer.Arguably if we care about impact he's had more because Granny3D's been used in in some 160+ games since he wrote it many of them AAA and big name indies and he, along with three others, revised Bink into Bink 2 which is credited in over 15 000 games since it's release, and is now part of Unreal since Epic bought it.
>>109623835shouldn't the greatest programmer of all time actually program stuff? those who can, do. those who can't, teach.
>>109623836>Casey pretty much never says he's a game devHe tells people how they should make games all the time
What's the tl;dr of his explanation of why OOP is bad?
>>109623835thats what all games do since mid 2000s
>>109623852>What's the tl;dr of his explanation of why OOP is bad?There isn't oneI haven't met a single person who's actually willing to have a discussion about why OOP is bad, it turns into name-calling after 2 postsEven Casey's video on OOP is just crypto shitting on it, he won't come out and actually say what's wrong with it
>>109623852jews
>>109623862What's jewish about OOP? :|
>>1096238601) the way it is taught2) restrictions of saar's first language (java) contaminating everything else3) you are a turd burgler. ha....did it in one post
>>109623831there are way more than you want to believe
everything he was whining about is now irrelevant because of AI. lel.
>>109623868>1) the way it is taughtthats a weak argument
>>109623869nah. ive spent the last 19 years at various fourtune 50s. theres maybe 2 at each
>>109623869Then where are the fruits of their labours
>>109623868>1) the way it is taughtWhat's the correct way?>2) restrictions of saar's first language (java) contaminating everything elseThat's a personal problem.
>>109623879they got laid off as soon as middle management realized that a bangladeshi national can do the same work for a tenth of the pay by tard-wrangling claude
>>109623887good programmers aren't junior swes
>>109623872scott meyer's c++ books are a good example of how to do it correctly, but they arent targeted at intro people. example and counter example. his discussion of inheritance should be required reading. and then people hopefully will stop making inhertance hierarchies 10 levels deep.
>>109623893OOP haters think there's something intrinsically wrong with OOP but they won't say what it is
>>109623885not everything needs to be an object.ending every exception name with exception is retarded, and i think seeing that all the time gives permission to follow the pattern everywhere else they code
>>109623900im not an oop hater, im a jeet hater.with the fire of a thousand suns.
>>109623904>not everything needs to be an object.>ending every exception name with exception Why is that bad though?
>>109623908What else do you raise/throw/<term in your language> ?
>>109623852Basically all the things it promises it fails at like encapsulation to make it more easy to integrate (but in reality the more encapsulated the harder it is to interface it on your own terms), really deep inheritance and strict class hierarchies are not actually good for reusable code, the whole object methods stuff forces you into fragmenting code across multiple files and obscures how it actually works, it encourages premature abstraction with tons of indirect code (like the infamous five liner functions encouraged by clean code, but also less moronic versions), adds cruft dealing with managing and modelling class hierarchies and patterns that have nothing to do with actually solving the problem, it is very slow by orders of magnitude compared to the straightforward way particularly once you start using their busywork solutions to the problems they caused like RAII and objects creating hidden vtables that ignore how the cache and hardware is actually laid out, and it encourages newbie shit like working with single objects instead of whole batches of data which again is very slow.I'm sure his critiques were far more involved but that's a rough summary from what I vaguely recall of the big OOPS talk and some off-hand comments. Some of that might be from Sean McGrath though.
>>109623913alsoNullPointerExceptionnothing is wrong with null pointers. at all. dereferencing them is a probelm. so raise a DereferencedNullPointer or whatever.
>>109623893Meyer literally stopped writing those because he thought C++ had gotten too retarded with it's insane gotchas.
>>109623941literally just repeating all teh dumb shit casey says without applying any critical thinking
>>109623953>What's the tl;dr of his explanation of why OOP is bad?>Y-you're just repeating his explanation of why OOP is bad!Actual subhuman.Go die.
>>109623950yes, and i agree entirely. neither of which changes anything about him writing excellent books and giving very clear talks. check yt.
>>109623955yes, that's what you're doing
>>109623941>, the whole object methods stuff forces you into fragmenting code across multiple files and obscures how it actually worksUsing inner classes solves that problem.>it encourages premature abstraction with tons of indirect code >adds cruft dealing with managing and modelling class hierarchies and patterns that have nothing to do with actually solving the problem>hidden vtables>working with single objects instead of whole batches of data which again is very slowThat's the problem of the programmer, not the language itself. If you're a crappy programmer, a non-object-oriented programming language isn't going to save you.
>>109623286imgui
>>109623976It's problems of the languages that push OOP.Specifically he criticizes C++'s definition of OOP, which he is intimately familiar with.Though the Big OOPs does point out that Alan Kay, who he isn't slagging off, had some similar ideas for Smalltalk that didn't pan out. I forget what he had said about Simula.Incidentally he makes the point in the Big OOPs that a lot of defenders of OOP have contradicting definitions of what they mean by OOP, and say some things aren't OOP or have never been OOP (even when Stroustroup, Kay, etc are all quoted as saying those things back in the day). That's why he lays out a strict definition at the beginning of the talk, works back to it and why it's probably 60% more of a history lesson on the development of OOP.
>>109623976>Using inner classes solves that problem.Aren't those also indirect and just hiding it? In a debugger I mean
>>109621850HEAR YE, HEAR YE, KING TERRY THE TERRIBLE'S MESSAGE ABOUT OOPs: https://www.youtube.com/watch?v=1MSy6epsU6Y&t=600As the king himself said: no cops, maximum use and abuse of assembly.
>>109621876The actual video is more of a history dive.
>>109624017It's still going to be easier with a debugger because you have less files to go through.
>>109624028He only stated his personal preference. His cop analogy is invalid because you can use inline assembly in C++.
>>109623976If you're using classes with inheritance at all in C++ you have hidden incurred vtables from virtual functions.Afaik Muratori actually uses C++. He just writes in a heavily restricted C-like style.
>>109624132it's called C+ by everyone that thinks they are clever and are the first to think of it.UE does that too
>>109624132So his problem is with difficulties in debugging.
>>109621850>oop bad >use struct of arrays his entire content is two ideas and mids suck it up
>>109624156It might be part of it, though that's more a complaint i've seen with others in that sphere.I think his major complaint is that he finds it doesn't actually help solve any of the real problems in programming despite many false (old by now) promises to do so, frequently get in the way by putting up inane barriers to doing so and optimizes poorly so you get bloated slow software. That a lot of C++ committee development has been focused on bad OOP ideas instead of doing something sensible like getting proper reflection in there or a way to compile without a third-party language probably doesn't help. So his complaints about OOP and simply the cargo culting culture around it (like say getters/setters that do nothing beyond circumvent a private field you put there in the first place for no reason) sometimes overlap. But I think he generally just considers it a failed idea that hasn't actually stood the test of time by producing software that was actually better than the procedurally coded stuff that came before it.
>>109624189properties are great.public getters / setters around a private variable is retardedit is so retarded you know it came from java
>>109623409>actually it's more advanced than just a gpu accelerated 3d engine
>>109624209What's wrong with being more granular about you want a variable to be accessed and modified?
>>109622072Hey John blowjob is pretty good and actually accomplished a lot before his sokobon game.