Chat is her right?
>>108872932>some meaningless guy can't be bothered with OOP>makes his incapability to his identity>inflated ego drives him to insult anyone capable of proper OOP worksMany such cases.Functional only = low IQ
>>108872932>dykestra
Obviously OOP isn't the end all solution to programming and obviously it can be abused with bad practices but that's pretty much true of every paradigm and every programming language.It's certainly a nice abstraction for many applications.
>>108872953i agree there are many such cases, but let's be real, dijkstra was probably smarter than all of us here
This is correct. I am very smart.
>>108872932>she>herDon't let his looks deceive you.
>>108872932He is homosex, like many other r*ssians/sissys. The fact is that OOP is very popular, and it gives developers the opportunity to split up work, and all the coders can get their own little corner to work in without effecting the rest of the program. OOP gives people the possibility to grab a handful of varied coders, and just through them at a task. OOP lets you invert the "perspective" of a program.
>>108872932Yes.
>>108872932Yes. POO is basically the idea that you should shoehorn the data structures and algorithms suggested by a problem into your mental model of the domain. That's a bad idea and the worst part is that POO programmers are unable to reflect on what they're doing.
>>108872963Nah, even I( a fucking dumbass), is probably smarter than him. His sissy thin r*ssian accent isnt fooling anyone
>>108872932Amazing idea, there has just never been a single implementation which both was practically good and gained widespread enough adoption to continue support and establish itself.It's always boilerplate hell, fucked retarded syntax, extra lines to specify more that you're doing it, it's a lifesaver for huge group projects where at least half of the devs are actually competent I'm sure, but it is a plague in all other situations and does the opposite of simplifying things and saving code and potential errors. A little code duplication is much better than extra layers of bullshit to get OOP to work right because for some reason it can't just work the intuitive way.For this and many other reasons, bullshit webcode with weak typing won. Sure it's also because any brainlet can write it but it's mostly because it is more practical in most cases.
>>108872973George Soros is spying on natural-born Americans.Damn what a wacky and stupid conspiracy theory.
>>108873326Oh I forgot the last part, to overthrow the US government
>>108873008>gives developers the opportunity to split up work, and all the coders can get their own little corner to work in without effecting the rest of the program.See also:Local variablesFunctionsVariable naming conventions
OOP just means modelling a problem properly into it's tiny pieces.This is the same as the NoSQL "revolution".it's just some retard who thinks his way is the new way trying to sell some shit.In reality his "new way" only applies to niche situations.
>>108872932>says it's a bad idea>doesn't say why>Finds an entire state to blameDumb bitch alert. I prefer functional programming to oop but this is just one of those things where dudes cling to their subjective opinion like fact in order to make themselves seem distinguished in their field.
>>108873008>>108873278>Dijkstra>Russianretards
>>108873346Nah, I dont use OOP because i solodev, but in a group you could have a guy who only works on the character controller, or only works on the level design or game-objects. A bunch of abstractions and boilerplate is annoying, but in a group setting with a bunch of high-egos, firm boundaries needs to be placed, and OOP lets you write code in a way that you are completely clueless of your "surroundings". DataOrianted programming is fast, and fast to build, but when all the data is a at one place, people WILL be stepping over each other's toes. Functional programming does not let you write a full system, it is just a messy (((Rube Goldberg)))-machine
>>108873459You see what kind of noname this person is? We do not even know where he comes from, WHO CARES
>>108873468Thank you ChatGPT, next time please don't include summaries of coding terms everyone already knows.
>>108873495If we knew this, WHY are we discussing this, sage btw
>>108873477You are only touting your own ignorance and inability to search the internet.
>>108873363>>doesn't say whyAs far as I can tell, that specific quote is apocryphal, but he has written about it elsewhere, for example:>In some ways programs are among the most complicated artefacts mankind ever tried to design, and personally I find it fascinating to see that reasoning about them is so much aided by simple, elegant devices such as predicate calculus and lattice theory. After more than 45 years in the field, I am still convinced that in computing, elegance is not a dispensable luxury but a quality that decides between success and failure; in this connection I gratefully quote from The Concise Oxford Dictionary a definition of ”elegant”, viz. ”ingeniously simple and effective”. Amen. (For those who have wondered: I don’t think object-oriented programming is a structuring paradigm that meets my standards of elegance.)
>>108873685He probably writes slop and 1 letter variables. Dutch people... High on pot, horing out their daughters, and extremely gay. We dont care about your majesties proclaimed standards!
>>108872973>George Soros is microchipping gun owners to overthrow the US government
>>108872932India would have pulled it off eventually, they've been using castes (classes) for millennia
>>108873510Because you're an autistic CS100 who lacks even remedial comprehension of the purpose of abstract concepts.
>>108873963>lacks even remedial comprehension of the purpose of abstract concepts.Literally the target audience for OOP according to OOP marketers themselves.
>>108872932This kike had abhorrent takes. He is wrong about anything that isn't theoretical computer science (and even that, only a small subset of).
Ask 5 different OOPtards to explain what an """object""" even is, let alone how they determine the correct object model is for a nontrivial problem, then make up your own mind. Debating OOP is like debating socialism in the current year. There's no actual paradigm there. No methodology you can reason about or criticize. Only the sentiments of the dumb masses.
>>108873685It doesn't really add much depth (though it is a little better and I appreciate the effort). "OOP is bad because it is inelegant". What is inelegant about it? Why is elegance the measure of what is good? Elegance "[aids] reasoning about [programs]", but isn't that basically the only thing a programming paradigm could aim to do? It's just back to good/bad because of that.His ideas on this may be sound or they may not, but it seems like he just hasn't said much about it that has been recorded for us to discuss.
>>108872973>Demons is plotting an assassination on Donald Trump to take away our gunsWaow... Alex Jones is so smart...
>>108874776NTA but you're literally retarded. The quote gives specific examples of frameworks that actually allow you to reason about the behavior of programs. OOP does no such thing. Proving anything about the behavior of a OOP codebase is generally impossible. It does absolutely nothing to aid rigorous reasoning about program behavior.
has this dude wrote a single line of code in his life?
>>108874676you have never written a line of code in your life
>>108874971>has this dude wroteI'm sure your brown hands had been wroted many a line of code but I'm not convinced any of it was good.
>>108875019where can i read dickstra code?
>>108875018>POOmonkey has a fit when faced with basic questions about his "paradigm"Point, meet case.
>>108874676>Ask 5 different OOPtards to explain what an """object""" even isData abstraction technique where the data (attributes) are hidden by a set of operations (interface).
>>108875038>it's fucking nothingOk, thanks. Now let's wait for another four retards.
Stuff likestd::io::BufReader::new(file).read_to_string(&mut data).unwrap();is aesthetically (and intuitively) atrocious vs something likeread(fd,buffer,size);
std::io::BufReader::new(file).read_to_string(&mut data).unwrap();
read(fd,buffer,size);
>>108875203fd.read(buffer, size);Fixed.
fd.read(buffer, size);
>>108874676the original definition of Object orientated program from alan kay most closely describes erlang/functional languages where you have isolated contexts that operate through message passing. Modern OOP is literally arbitrarily hacked together garbage
>>108875164it's obvious you don't know much about oop and software engineering. first, oop is neither opposing functional nor procedural but leveraging those to do the abstraction over the data. Alternatives to objects are abstract data types and type classes who are also relying on procedural or functional abstraction but in a different way.
>>108872932She was right about everything except GOTO.
>>108872953>>108873278>>108873477Imagine trying so hard to be painfully unfunny
>>108875222Classes, Closures, Prototypes, Messages; They are all based on the same concept: data hidden behind an interface. Once you put the data away, you can climb further on the ladder of abstraction with design patterns.
>>108875068>n-no you cannot actually give me an answer!!! I was waiting for the thread to get archived to make a screenshot and post it on le reddit saying nobody replied!!!
>>108875222I know what Alan Kay wanted it to be but that's not what it is, de facto.
>>108875248I don't know why you're chimping out. Your answer has been noted and as expected, it tells me absolutely nothing about what your "paradigm" is about. Now let's wait for another 4 retards.
>>108875258Feel free to describe any paradigm that YOU are using, and let's see how rich with meaning your words are
>>108875282I'm not using any paradigm.
>>108875302>it's fucking nothing, but for real
>>108875308Ok, mouth breather. Thanks for your input. We'll wait for another 4 retards.
>>108875244Data hidden behind an interface does not describe any of these and there is no consistent way how these actually work across languages.A message by definition is not "data hidden behind an interface" a message is explicitly nothing past this message matters, you don't need to know anything about what is sending it. Nothing is hidden, it's standalone. The message could include some address/process id you are supposed to send another message to when you are done, but that is not "data hidden behind" the message, the message is all you need to operate on. It's the opposite of the garbage way OOP actually works nowadays, it's as i said closer to some functional paradigms where you have pure functions doing transformations on inputs with reliable outputs indifferent to what is calling them. The ideal is the "objects" should be totally isolated units that do not care about anything else, receive messages in a way completely in different to what is sending it and by composing these objects you can get reliable complex programs. The idea this piece of the program is dependent on some external state it doesn't manage is the exact opposite of the original oop idea. It means your program can't actually be aware of it's possible states so now nothing is pure and the entire system is now made up of individual unreliable parts, which can only be made reliable by organizing them into a complex whole. Which essentially means the classes/prototypes are not hiding any state at all, because all state relates to all the other state and nothing is isolated and you might as well using something like C where everything you right does have clearly expressed shared state and relations to the shared state. Modern OOP only serves to obfuscate those relations by pretending they have isolated data. Original OOP wanted to compose the program out of these isolated units that only know what they need to know. (i only use functional and procedural languages btw)
>>108875357My favorite example of the actor model/oop idea is sort of what erlang gets closest to where each process/function/unit of state is completely isolated, and in different to what is calling it. That any process should be callable across different computers and the same process should be usable across applications since they are just responding to messages correctly, anything that wants to use that process should be able to call it without issue, and this is reflected in how BEAM manages multi-server setups naturally. That's what an actual object is.
>>108875350Why would anyone reply to you if you just proved you have never pogrammed anything in your life? lmao
>>108875357>The ideal is the "objects" should be totally isolated units that do not care about anything else, receive messages in a way completely in different to what is sending it and by composing these objects you can get reliable complex programs.NTA but here's your daily reminder that Alan Kay never came close to inventing a language or establishing a design methodology that makes this practical. Every time you implement a setter you betray this ideal.
>>108875389erlang
>>108875392I don't program in erlang, anon. Do you use setters in erlang?
>>108875357>A message by definition is not "data hidden behind an interface"it is. an object has an interface unlike an abstract data type. The messaging is how the interface is exposed. smalltalk is class based btw. This is the definition of an object by the smalltalk paper: "An object consists of some private memory and a set of operations."and then the paper defines message and interface:"""A message is a request for an object to carry out one of its operations.A message specifies which operation is desired, but not how that operationshould be carried out. The receiver, the object to which the messagewas sent, determines how to carry out the requested operation. For example, addition is performed by sending a message to an object representinga number. The message specifies that the desired operation isaddition and also specifies what number should be added to the receiver. The message does not specify how the addition will be performed.The receiver determines how to accomplish the addition. Computing isviewed as an intrinsic capability of objects that can be uniformly invokedby sending messages.The set of messages to which an object can respond is called its interface with the rest of the system. The only way to interact with an objectis through its interface. A crucial property of an object is that its privatememory can be manipulate d only by its own operations. A crucialproperty of messages is that they are the only way to invoke an object'soperations. """this is the same. the same!
>>108875399No nothing is mutated in erlang. How you get state is basically having an infinite loop of a function calling itself, passing the state to itself. If you send something like a set_name message to it, the function collects a message it can read if one is available, creates a new state object based on the message, then calls itself again with the new state. Nothing is set/modified, you create a new state based on what messages exist when the function runs.
>>108874926
>>108875203non of these are OOPthey are essentially the same but different syntax
>>108874676objects being abstract and "undefined" is kind of the point - it allows you to apply whatever meaning fits to a given problemcontrast that with functard languages where you have a rigid structure how the problems must be defined in order to solve them functionallymeanwhile, opponents of OOP never provide any specific scenario and will just argue about abstractions with no contextand of course they never post any of their "bad OOP" code because it would immediately reveal their own skill issue
>>108875451I said a message does not hide state, not that objects don't have hidden state, I don't think hidden is an accurate word because it implies the two units are related in a way they are not actually. The thing sending the message doesn't care what data the object has, it is sending a message. The object receiving the message does not care at all what is sending the message, it doesn't need to know anything about the message other than it's own contents. Calling things private in OOP or saying state is isolated doesn't actually make it isolated. In BEAM a process can crash and be reset and the rest of the program does not care, because it doesn't care about the memory. In an OOP language if there is a memory issue for one "object" the entire process crashes. Calling it private doesn't actually make it private if the memory going bad in one place ruins the whole program the whole program needs to deal with that. Which as I said why I use functional or procedural languages. I don't mind actually manually managing memory if in the program it makes sense to do that, but it should be explicit and dealt with. You shouldn't pretend something is private when it actually isn't.
>AbstractSingletonProxyFactoryBeanBuilderFactoryProviderManagerImpl
>>108875549>I said a message does not hide statehow do you know the state of an object if only its interface is exposed?
>>108874926>Proving anything about the behavior of a OOP codebase is generally impossible.skill issuewrite good code and the codebase will be absolutely trivial to navigate and reason about
>>108875604>write good co-Unhandled exception
>>108872932No, it originated in Oslo
>>108875582it's perfectly valid for it's interface to change and not be exposed either. All you know is it's address and you are sending a message.
>>108875638is this a bot? address of what? what are you talking about?
>>108875618then handle it, retard
>>108875654objects, you know you are sending something a message that's it. If you really believe in hidden state and isolation that's where your concern ends. If you are depending on the specific state of that object and what it does with your message that state isn't actually hidden and you are lying about objects being isolated or actually having hidden state. That's why I say messages do not hide state, the whole point of messages is they are indifferent to state.You can send two identical messages to one process and it will handle the first, which then alters it's state such that it no longer handles those messages and ignores the second because now that message handling is no longer part of it's interface. The object should actually be isolated, not just have flavor text on it that says it's isolated.
>>108875468>No nothing is mutated in erlang.>If you send something like a set_name message to it, the function collects a message it can read if one is available, creates a new state object based on the message, then calls itself again with the new state. Understood, but what difference does it make? The point of encapsulating state is to encapsulate its invariants. If you have a bunch of set_foos, the invariants involving the corresponding state are beyond the individual objects it supposedly belongs to, and are instead implicit in correct usage of set_* messages by external code. It means you've failing to express those invariants using your object model, because there is no object that all the relevant data is internal to, that you can consider responsible for maintaining its invariants.
>>108875604>niggermonkey clearly doesn't even understand what it's trying to respond to
>>108875582>how do you know the state of an object if only its interface is exposed?you're not supposed to care about an object's internal state
>>108875763There is no guarantee at what the set_foo actually does as I said>>108875707The object/process determines all it's possible transformations. It can enforce or not enforce whatever it would like. The relevance is internal to the object, it knows what functions it is able to run based on whatever message or state it currently has. Getting set into a state where none of your functions no longer run is not an error. It's just what the fundamental unit is, it has specific functions it can run, and certain messages it can read and does different things depending on what it's state is. It can get put into a state where it can no longer run those functions if you allow it to. Set_foo is not some special message, it's just a message you take in. It may just as well redirect it to another object and is only serving as a place in the middle. If you write it such that people can call messages on it that put it in a broken state such that it can no longer receive message, you can set up supervision trees and other things to ensure it's consistent state. The whole idea in erlang is things crashing is fine, because each thing that crashes is completely isolated and can be supervised through the same message passing and a new one initialized. OOP abuses language so much people lose the understanding of what isolated or private actually means.
>>108875941>There is no guarantee at what the set_foo actually does as I saidThat's not the point. The point is that if you can't get around needing a set_foo, either your design is failing or OOP in general is failing you.
>>108875707>state isn't actually hiddenonly the interface allows you to get information about the state of an object therefore the state is hidden by the interface.
>>108875977I legitimately have no idea what your point is, you are the one who brought up the idea of set_X messages. You can send messages and based that data and the current state you can apply a transformation creating a new state that the function runs with next. Call the message or what goes on in the transformation whatever you want, in terms of inputs and outputs it's identical. Every message is a transformation of state even if the final state is identical to the previous one, it's still running a transformation and creating a new state. Every message is just as much a "setter" as any other message.
>>108876052You can send messages, and you might receive a message in response. That message might contain some state. It might even contain the process ID of the object you requested the state from. However for the recipient there is no connection between the state and that actual object. It might be a copy of what was the state of that object when you sent the message, but the object requesting it doesn't actually have any idea. As I said it might just as well be the state of another object that the object you requested state from then passed on to, but that new one is the one who actually sent the new message to you but included the pid of the initial object you requested it to.The point is that it should not matter between objects what the actual data is or where it's from. They should only care about how they can use the data and what they should do next.
>>108876193>I legitimately have no idea what your point isOk, let me give you a simple example. Let's say you're programming a billiards game. If you think in OOP terms, your first impulse is probably to define a ball object. How do you make it a "totally isolated units that doesn't care about anything else"?
>>108876314I wouldn't use erlang to do a game I would use C. I'm not going to pretend things in a system are isolated if they aren't actually in reality. The only real place I use erlang is anything networking related because then each stateful connection is actually isolated so it makes sense for it to be represented that way. Even in those situations you do that quite rarely, most everything is closer to procedural where you just have structs and functions. Actual isolated state is preserved for situations where the state actually makes sense to be isolated, it isn't the default.I wouldn't use any objects for a billiards game in C I'd have an array of structs that is transformed based on the input, because that is what is actually happening.
>>108876397Ok, it sounds like you don't think your purist version of OOP is practical for that simple task, so I guess you see the problem after all.
>>108875222>As Erlang became popular we were often asked "Is Erlang OO" - well, of course the true answer was "No of course not" - but we didn't to say this out loud - so we invented a serious of ingenious ways of answering the question that were designed to give the impression that Erlang was (sort of) OO (If you waved your hands a lot) but not really (If you listened to what we actually said, and read the small print carefully).
>>108874676The world doesn't run on ideal representations of nontrivial problems, your retarded tranimal faggot midwit
>>108876491>another POOtard explodes with rage over answering basic questions about its "paradigm"
>>108876434It would be retarded to use some process isolation for a simple thing that can be represented by an array and a function where everything is interrelated. As I said it makes sense to use to represent things when they are actually isolated. My whole point is the issue with the normal OOP languages is they give you the illusion of isolation when there isn't any. If you have actual isolation it makes sense to represent it in a programming language that allows them to actually be isolated. If you don't it makes sense to have the directly involved with and modifying data so everything is explicit and clear. My issue is modeling things that are interrelated by pretending there is isolation when there actually isn't any. If you are going to have interrelated data just deal with it directly.>>108876477I'm edgier then joe armstrong, he is a really nice guy!
>>108876502I bet your code is as verbose as your posts.
>>108876502>My whole point is the issue with the normal OOP languages is they give you the illusion of isolation when there isn't any. If you have actual isolation it makes sense to represent it in a programming language that allows them to actually be isolated. >My issue is modeling things that are interrelated by pretending there is isolation when there actually isn't any. If you are going to have interrelated data just deal with it directly.Ok. Then we're more or less on the same page. I think anyone who claims OOP is a good general-purpose paradigm should be forced to use Erlang. :^)
>>108876499You are welcome to justify why OOP needs a strict definition or why "complex problems" must have a universally unique and optimal model within the paradigm under which they're being solved. You will fail to do this because >>108876491, and will revert to pre-programmed responses like the average definitionfaggot mental masturbator analyst when confronted with ideas that he can't derive from first principles.
>>108876551>justify why OOP needs a strict definition or why "complex problems" must have a universally unique and optimal model within the paradigm under which they're being solvedI never claimed either of those things, you're just getting assblasted because you literally can't answer basic questions about your "paradigm" in any substantial way.
>>108873685i think edsger was offended moreso by the very idea of 'code'.its a shame he didnt live to see large language models, i think he would have been quite pleased that such vulgar grunt work has finally been subsumed by automation (as it should have been from the very beginning.)i should think in his estimation, man is now free to pursue real 'programming', viz. with paper and pen.
>>108876920>projecting your mentally ill sloppification ideology unto one of the least suitable targets in the history of computing
For: 108876920lol
>>108872932it was probably first implemented in lisp at mit.
>>108876502>My issue is modeling things that are interrelated by pretending there is isolation when there actually isn't any.sounds like skill issuehow exactly does OOP prevent you from isolating things?
>>108877191Why don't you try answer the question I asked him if you're getting filtered and don't see the problem? (>>108876314)
>>108877270you're dodging a straightforward question with a strawman - how I design things has no relation to your supposed issues
>>108872953He's right OOP is ass
OOPs has its use but if you abuse it code turns spaghetti
>>108877330Your "question" is nonsense. Nowhere does his post say OOP prevents you from isolating things. But good thing you go out of your way to associate your brown-tier reading comprehension with this brown-tier programming paradigm.
>>108877347ok white monster-fueled agarthian, >Nowhere does his post say OOP prevents you from isolating things.if OOP languages "give you the illusion of isolation when there isn't any", how do you isolate things if this "isolation" factor is supposedly only illusionary?
>>108877465>if OOP languagesThat's not what his post says, either.
>>108872932What's the alternative? Verb oriented Programming? Subject oriented Programming?
>>108872932What useful software did he write?
>>108877686Pretending not to know basic facts doesn't make you look smart.
>>108877484Stop breathing through your mouth.
>>108872932Yes but no. OoP has its use cases but it's not the be-all-end-all that it's treated as.
how did the asian woman die btw?
>>108878984that was for /tv/
>>108872953>>some meaningless guy can't be bothered with OOPHope you don't use google maps, or any other map for that matter, that needs to find the shortest path between points on a graph to plot your trip as that technique happens to be named Dijkstra's Algorithm for some strange reason.
>>108879015>guy wrote an algorithm >algorithm got reused>guy thinks he is all knowing nowYep, sounds like low IQ to me.
A modern programming language should reflect the feature set common to modern CPUs with a few syntactical conveniences on top. OOPfags and all those even worse fags who try to produce programming paradigms that look like they were shitted out by a Jewish professor of philosophy reject this because they want computers to be something they aren't.The more you try to hide what the CPU does, the more your programming paradigm is garbage.
>>108879415Classic midwit take.
>>108879432Haha no u!!!
>>108873477You not knowing who fucking Dijkstra is does not make you cool.Just makes you sound computer illiterate.I bet you know who Steve Jobs is, who contributed nothing to the world of computing other than a few commercial toys.
>>108878915Why are you chimping out? At this point I'm gonna have to ask you to post hand, saar.
>>108879015Google maps doesn't use Dijkstra, it's inappropriate for high scale uses and far too slow. GMap uses Contraction Hierarchies + A-star as a base, then Landmark-based routing or Hub labelling depending on the distance of your trip.Dijkstra is a conceptual algorithm taught in university to teach you about graph traversal, we've got far better solutions nowadays, no need to test for all paths on the Earth's entire road network.
>>108878909Anon, I don't know basic facts, I don't know anything about compsci, and I was just trying to make a joke. Get over yourself.
>>108872973>Reptilians Brainwashing White men To start WWIII
>>108877686>What's the alternative? Verb oriented Programming?Yes.
>>108872932>chat >100+ repliesnot only OP is a fag, so are you all, kys
>>108872973>Interdimensional vampires is spying on christian children to supress the population
>>108873849>>108873326Hi Dylan
>>108877337compared to what?
>>108875673most of the time you can't tell if you handled them all or notthis is apparently a good thing in OOP jeet mind