HNHacker News
TopNewBestAskShowJobs

leafboi

-4 karma · joined July 5, 2020

submissionscomments
leafboi··on Why is OOP still so widely spread?
OK let's look at reality here. Anything on this earth can be formalized into a mathematical theory. That doesn't mean every formalization is accepted and accredited by academia.

This book has like three reviews on amazon and in general a formal theory doesn't exist. You won't find a formal theory about OOP calculi on wikipedia.

There are thousands of people in academia and of course at least one of them will attempt to formalize OOP. But largely said and done, overall there is no formal theory that is well accepted. Just random arbitrary attempts at formalization.

leafboi··on Why is OOP still so widely spread?
Let's say bob wrote One class and Jane wrote another class and these classes are used in many places around the code base.

I'm the programmer that has to compose these classes... You're telling me that I have to change the implementation/interface of what they wrote? What about the dependencies?

This is what I mean by "Not reusable."

Additionally typical OOP involves mutating state. The purpose of the class is to hold methods that operate on internal state. Otherwise what you're writing is basically function calls under a namespace.

>Seem cleaner than including little addOne functions as global closures.

Again Put it under a namespace called Math; problem solved. The purpose of a namespace is to group functions together. The purpose of a class is to group methods together that operate on shared state.

If your methods don't involve a "this"

  function addOne(){
     this.value + 1;
  }
then you're not really doing OOP. You're just repurposing the class as a namespace.
leafboi··on Why is OOP still so widely spread?
It's weird because OOP and Procedural kind of go hand in hand. If you program in Java likely you're doing both procedural and OOP.

And the technical definition of OOP isn't formalized either so in some cases you can do FP and OOP at the same time as well. However, mutation is very very often used with OOP so if mutation encompasses the definition of OOP then it remains separate from FP.

Either way as you go up the ladders of abstraction things become much hard to control.

I think LP is the theoretical next step.. the next level of abstraction. It's like 3D printers. We want to build a 3D printer that can print out a working motorcycle but without fine grained control over the process it's hard and still WIP.

Above LP would be like alexa or google home. Imagine trying to build something by describing it in the english language.

Either way the reason why LP is not pervasive is because programs are generally fine tuned precision parts. It's the same reason why we still build houses with construction workers not 3D printers. The closest you get to LP in the real world is SQL. The problems I describe are evident for experts in SQL. SQL experts are largely people who "hack" at the syntax trying to bend it in arbitrary and unexpected ways to get a performance boost.

stuff like

  SELECT * FROM TABLE_WITH_TWO_ITEMS;
vs.

  SELECT item1, time2 FROM TABLE_WITH_TWO_ITEMS;
are just arbitrary hacks that have no surface level meaning. (Supposedly the second expression is not as performant in case you're not that familiar with SQL hacks). I guess a good way to describe this are the words "leaky abstraction."

If we move too far in the declarative direction we tend to hit more and more leaky abstraction problems. Essentially the programmer needs to understand the surface API as well as the internals. Additionally Lower level optimizations begin to be expressed as high level isomorphic expressions with no explicit reasoning (IE sql syntax does not explicitly tell you why item1 and item2 are faster then *).

leafboi··on Why is OOP still so widely spread?
>I try to be more aware of it now, and tone down my statements or be more precise on the extent of my criticism, when in the expert side.

Who cares. I don't think n00bs are taking what you say and running with it without understanding it. It's not like they're going to quote something they don't understand. The hatred for OOP is from a genuine belief that they understand the concepts (and so is the love.) If anything what you say could only change the direction of what they choose to learn. I doubt they'll quote or promote anything they don't fully understand.

>An expert in PL theory is not an expert at writing programs or at engineering business solutions that leverage the known science of computers.

Nobody is an expert at this because there's no formal theory behind "business solutions" It's all people making shit up and walking in circles. Is your arbitrary solution the best? Is someone else's better? Maybe your solution is just mediocre how do we rate any of this what exactly is a "good business solution?" This whole field is largely an art.

So when a field is an art you get people liking terrible drawings done by a three year old, take a look:

https://i.pinimg.com/236x/5f/c9/4f/5fc94f54df98d50bfae9b1807...

Wait I lied it's Pablo Picasso. This work is the work of a genius according to most people. But you can definitely see why from other angles it's considered pure crap. Is this guy an expert or is he on drugs? Maybe both, nobody knows... same with business solution architects.

Because nobody can formally define "good business solutions" most of these "business solutions" including OOP is just like that piece of art above. It's all opinion and people making shit up.

So just discount it all. Modern art to me is a form of fraud. And so is a business solution architect or an OOP architect. Follow the science, follow what's definitive.

leafboi··on Why is OOP still so widely spread?
I doubt it. People aren't as dumb as you describe. Nobody is going to quote me without understanding or agreeing with me.

A noob might pick what to learn based off of what I'm saying (learn OOP btw, noob, it's bad but it's pervasive) but he's not going to quote something he doesn't understand or agree with.

>Meanwhile there are still millions of projects done with OOP, including super-complex AAA games, and more are being done right now...

OOP is not bad because you can't make things with it. It's bad because OOP abstractions do not add any real benefits while hindering reusability. That's all.

You can still build plenty of things with OOP. It's like javascript. A universally agreed upon bad language with stupid gotchas made in a week but pervasive due to circumstance.

leafboi··on Why is OOP still so widely spread?
One random guy tried to formalize OOP on power point. Did he submit for publication? Or is publication on a random thread on HN good enough?
leafboi··on Why is OOP still so widely spread?
>That's not constructive, because experts also know there's a lot to learn from OO, and not everything about it is bad.

Isn't this statement the same? You don't get into the details of who these experts are, what they like about OOP. You summarize the issue because that's what humans end up doing rather than writing a whole essay about what's so great about OOP. Also you're communicating with someone who you presume already knows the details. You're a parody of your own statements.

You create the opposite fashion trend to hate on people who hate OOP which I see plenty of nowadays. Literally half the posts on this thread follow your ideology:

  "I don't fully understand either paradigm so rather then picking the fashion trend I decide to make up a new one and be one of those people waving white flags and calling everything apples and oranges because I can't figure out which is worse or which is better." 
Since you're unable to find one paradigm better than the other you think others are just being opinionated on the details, so you declare: It's All the Same! Everything is equal! This is pure fantasy. OOP does not stand on equal ground to FP or even Procedural programming. It's like comparing Hitler to Mother Teresa, not all things in this universe are equal.

When you look deeply you will find that there IS absolutely something wrong with OOP. It's not a little detail thing. There is something fundamentally wrong with OOP. Not only that, but you will find that the "experts" in CS have largely discounted OOP.

I can assure you the "experts" largely discount OOP by a huge margin. OOP doesn't even have a formal definition.

By experts I mean academics who are experts in programming language creation using formal and mathematical theory. Someone like Martin Fowler is not an expert because all Martin Fowler does is classify concepts with qualitative descriptions and big words.

Let me clarify. An example of an expert in PL theory is someone who can create a programming language that can prove itself correct. Essentially programming languages that are not only type safe, but logically safe to the maximum degree. Idris is an example of one of these programming languages. Imagine writing in one shot, no incremental testing a 9000 line program with zero bugs. Studies in formal verification enable this with cost... and people who know this stuff are an example of experts in the field.

An example of someone posing to be an expert is someone drawing 3 boxes and using lines to connect it to a single parent and calling that the "Trinarium Pattern" in order to sound like an expert. This is largely what "OOP experts" are including Martin Fowler.

You don't believe me? Why don't you try to find a book on the formal theory of OOP. One that starts off with the axiomatic foundations of OOP. You want to know why "lambda calculus" books exist but there are no "Object Oriented Calculus" books? Because there is no formal theory of OOP period. It literally doesn't exist among "experts."

If anything this post should at least point you or someone in the direction of why OOP is just bad. OOP doesn't have formal foundations... no one has bothered to turn it into a theory or science because it's just that bad.

leafboi··on Why is OOP still so widely spread?
It's been trendy for about 10 years to love FP and hate on OOP.
leafboi··on Why is OOP still so widely spread?
Basically like when you call something like:

   Math.abs(-5)
That's a library call.

A framework is like django or rails. You have to structure your code to fit within django's paradigm, while a library is just utilities you can use in your own code...

leafboi··on Why is OOP still so widely spread?
The content of what you discuss is true there are juniors that argue for it based off of ideology. But the origins of the hate against OOP is not a cultural misunderstanding. I hate OOP and I'm pretty good at both FP and OOP.

Well hate is too strong of a word. I don't hate OOP, but i definitely think it's a mistaken paradigm.

I think there's actually an opposite phenomenon going on side by side with the one you discussed.

Too many senior programmers are really great experts at OOP while never really examining the faults or mastering alternative paradigms. The time invested into OOP leads to a huge bias in favor of it. When OOP is evidently (to me) too be worse than procedural programming and FP people are unwilling to give up years of time invested into OOP. When experts decry OOP of course someone with 10 years of experience in JAVA is going to object. That's the way people work.

The bias comes from both directions. If you think OOP is pretty good and everyone else is biased... ask yourself are you a master at OOP and FP or just OOP? If you're great at both paradigms and the time invested into both paradigms are equal... than you have the ability to make an unbiased choice. Until then most people on this thread are java guys promoting the skill they've been honing for years.

A master carver isn't going to decry his years of training just because a 3D printer can beat him at his game. Humans don't work that way. This is mostly what's going on.

leafboi··on Why is OOP still so widely spread?
And isn't a collection of primitives a grouping in itself?

An object is a grouping of primitives. So according to your logic OOP should have the same problem.

The real issue isn't grouping. The true nature of abstractions is the formation of higher level abstractions from "groupings" of lower level primitives. So "grouping" is fundamental to abstraction and therefore fundamental to programming.

The problem with OOP is that the groupings are forced. I cannot reuse a method outside of the context of the object because the method is tied to mutable state.

For example:

Try to write a function addOneTimesTwo from the composition of the three primitives below (in python):

  def addOne(number): 
     return number + 1

  def timesTwo(number):
     return number * 2

  def compose(f, g):
     return lambda x: f(g(x))

Answer: addOneTimesTwo = compose(timesTwo, addOne)

You will note, compose is a universal functional operator. The definition for compose above is the most primitive way to compose functions in FP.

Try to do the same with OOP:

  class AdditionObject:
       def __init__(self, number):
           self.number = number

       def addOne(self):
           self.number += 1


  class MultiplicationObject:
       def __init__(self, a, b):
           self.a = a
           self.b = b
       
       def mult(self):
           return self.a * self.b
Certainly do-able with OOP. But I cannot extract the methods away from the state. In order to use the banana (method) I need the gorilla holding it and the entire forest it lives in (Object) to come with it.

It can be done, but generally you need a lot more glue code to make it work especially given the fact that people can get more creative with OOP. As you can see the MultiplicationObject is an example of this creativity. It was written with a different interface then the AdditionObject.

Basically if you know haskell even similar issues to the above can be dealt with in terms of haskell. You can certainly define a composition operator for even the most complex types. The issue with OOP is that EVERYTHING is a complex type. A standard Object already has enough complexity to necessitate custom composition operators so you're basically writing custom glue code everywhere. Either you're writing complex glue code or your bending all your code to fit into a framework.

Nothing is truly modular.

leafboi··on Why is OOP still so widely spread?
Naming is a superficial issue that is subjective as opposed to a structural problem that is pervasive.

The point of the example wasn't to talk about naming. It was to talk about a fundamental structural problem with OOP.

leafboi··on Why is OOP still so widely spread?
https://news.ycombinator.com/item?id=24358711

OOP only provides illusions of reuse-ability. In reality every component created in OOP takes extra steps and extra glue code to make compose-able.

In programming you want to build small primitives that you can compose to form larger higher order primitives. This allows you to reuse lower level components to form new programs. OOP does not allow you to do this easily.

leafboi··on Why is OOP still so widely spread?
>OOP is a superficial lowest common denominator of programming. Everyone can understand on a superficial level (cat is a animal, dog is an animal, cat does meou, dog does bark, kind of thing), and proceed to write programs. That's why it is popular.

I think its more complex then this. The simplest form of programming is procedural. OOP is a level of abstraction above it in terms of understanding. I think the catharsis of grokking OOP gives it the illusion of being better.

leafboi··on Why is OOP still so widely spread?
What if I told you that OOP only provides illusions of reuseable components and that most OOP components aren't really that reuseable.

In order to build reuseable components you need components that compose well. Object composition does not allow for composition without specific glue code for each integration.

For example:

  functions addOne and addTwo can compose to form addThree with a single general function composition operator, no glue code needed and no need for addOne or addTwo to be aware of each other.  (addThree = addOne . addTwo)

  OneAdder and TwoAdder cannot compose without specific glue code or specific interface code to allow for DI. ThreeAdder = composeAdder(OneAdder, TwoAdder) would be implementation specific. Additionally ThreeAdder(TwoAdder, OneAdder) makes ThreeAdder aware of TwoAdder and OneAdder. These are not qualities of reuseability. The existence of a mutating object breaks reuseability. 
OOP does have it's use cases but the hate does comes from somewhere. One of the main downsides of OOP is the fact that current practices makes it one of the least reusable paradigms ever. DI and object composition are illusions. That being said it's not all that bad... not all business apps need the form of extreme reuseability that FP provides, so OOP is often good enough.
leafboi··on Algebra Driven Design
The very definition of pure FP (which is basically just programming founded on the principles of mathematics) rest foundationally on just a program that is immutable and has no side effects. Those are the only two requirements needed to do FP.

Immutability is therefore the axiomatic foundation of FP.

leafboi··on Neurophilosopher argues morality is rooted in brain science, not reason
No my points don't need work. You're just making too many assumptions.

First off let's get it out of the way your previous post was about your own moral framework and what you would do when encountering a moral paradox and how you would resolve it. Let's make things simple and let me say that I 100% agree with your own moral framework and what you will do. Basically you were presenting a topic to me that completely agree with. So what's the point? What are you trying to say. It seems there is no point.

Let me cut through all your tangential BS and help you get straight to the point. You don't agree there are two moral modules in your mind. You don't make it clear but you use the words "People function just fine without much thought because there is no dichotomy." As evidence.

First off those moral paradoxes are 1 in a billion cases. People rarely encounter situations that require them to decipher such dilemmas. The moral module of the brain has evolved for dealing with normal and daily situations not obscure hypothetical issues. The paradox is drawn up to show you this imperfection, to illustrate how the module does not provide satisfactory emotions to resolve certain moral situations.

Second off just because you encounter a moral paradox doesn't mean your brain turns to scrambled eggs, you still have the ability to resolve a conflict in your mind. We do it quite often and we even have a word to describe the emotion we feel that's related to making a costly decision: "guilt."

Thirdly the brain is just a series of modules interplaying with each other. YOu deal with moral conflicts and many other conflicts within your mind every single day and you resolve these conflicts with little thought.

It's simple. Have you ever felt conflicted about anything? Have you felt the need to eat a lot of bacon or some other food but you know it's going to be unhealthy? That's conflict, that's a dichotomy..

Have you felt a strong desire or some object that you can't afford so you just steal it? Perhaps a child wants candy that his parents won't let him buy so he steals it despite being aware it's wrong. That is moral conflict that is moral dichotomy.

Do you feel that you need to exercise to stay healthy and strong but also feel the need to be lazy? Have you both loved and hated a beautiful woman/man?

You need to realize that conflicting dichotomies in our brain is so common that it's obvious. Everyone experiences it to some degree and dare I say on a weekly or even daily basis. You're making this absurd claim that there is no moral dichotomy because people function fine so there must be no dichotomy.

The truth is opposite. People function just fine Despite all kinds of conflicts and dichotomies bombarding their heads. All these temptations and conflicting desires and thoughts that we encounter easily resolve into a singular decision.

>There are conflicting convictions to orthogonal moral precepts, but there is no doubt they are all flexible with reasoning (even if subconscious) rather than a strict "morality vs reason, which to choose?!"

What are you saying here? Are you saying that there are conflicting convictions orthogonal to moral precepts? Isn't that what I'm saying? I never said people have problems picking between morality and reasoning. It's easily done and people (like yourself) even have trouble figuring out which part of their mind is logical and which part is moral (they confuse the two modules thinking it's the same thing.)

The fact of the matter is, along with what you feel internally there is physical evidence that morality is seperate from reasoning. All psychopaths lack morality and additionally exhibit brain damage in the same area of their brain while maintaining high reasoning faculties. This is compelling evidence despite what you say.

Literally I have physical evidence from brain damage and I have evidence that you can gather from deciphering your own moral emotions.. It's pretty evidence that morality is instinctual and separate from reasoning.

>Good luck with whatever.

Good luck understanding me. I don't think you're capable of grasping a single word I said.

leafboi··on Algebra Driven Design
>When you design software focusing only on the business logic and domain the end result will be better than if you have to do it while juggling implementation and performance concerns.

Do you have a foundational proof for this? What are your axioms and theorems? A qualitative description (that you have provided) is open for debate. I can say the opposite and supply you with an endless chain of examples while you come at me with couter-examples and we go nowhere.

>Given the current state of software development, it's not fair to place that burden of proof here when it's not used elsewhere.

The entire mathematical community has this burden placed on them. The entire scientific community has lesser statistical validations placed it. The programming community has endless design pattern debates online as the burden.

leafboi··on Algebra Driven Design
You're completely right. There is no theory behind program design and structure. We have no way of measuring why one paradigm is better than another paradigm. This is the first thing that needs to be solved before we can unequivocally prove that one paradigm is better than the other.

The first question that needs to be answered is, what exactly is a well designed programming language? What exactly is a well structured program?

Until you are able to answer the questions above axiomatically we are doomed to run in circles forever.

leafboi··on Algebra Driven Design
In math everything is persistent/immutable anyway, so persistent data structures are a given when working with purely mathematical abstractions.

There is a memory issue because of this, but this problem isn't exclusive to FP languages. Many languages solve this with something called garbage collection.

leafboi··on Algebra Driven Design
“Bad code that ships is better than good code that doesn't”

When you work on code long enough two things will eventually happen:

  Shippable Bad code will eventually be unshippable.

  Unshippable Good code will eventually be shippable.
Your quotation simplifies a concept by hiding the extra dimension of time. Bad or good, shippable code depends on a point in time.... It could be shippable now, or shippable in the future...
leafboi··on Algebra Driven Design
>theoretically perfect design

We have no metric to use to quantitatively score one design as something unequivocally better than another design.

This is the first thing you will need before you can prove one "design" is "better" than the other. Until than we are doomed to go in circles and have endless debates.

I believe even if we do find some quantitative measure on program "designs" it won't be rating something as "better" or "worse" it will likely be metrics on many dimensions measuring tradeoffs.

leafboi··on Neurophilosopher argues morality is rooted in brain science, not reason
> No. That's the heart of it. Everyone dies. You do not save anyone, ever.

You're just getting pedantic. I don't care about your personal opinion, but the world agrees logically saving 10 is better than saving 1. Moral paradoxes like killing baby hitler isn't the point, it's just used to illustrate the point. I am not debating the paradox I am asking you to examine how your own brain resolves the paradox.... everyone has a different position on what to do.

>Again, this is misguided. There is a view that one choice is not better because of the method proposed (choosing for someone else). Although most people cannot articulate it, removing agency is the moral wrong, not the temporary value as a moral net good, ascribed to human life.

I'm not talking about whether something is moral or right or wrong. I'm taking a neutral view. I'm trying to explain another point but you're getting side tracked. You can use your logic and create your own little logical framework for judging what's right or wrong, I don't care about that, that's not what I'm talking about.

>As abhorrent as it may appear, my morality dictates the resolution much more clearly.

Again I could care less about your morality or even mine. This is not the point. In general such a situation will make any normal human being at least pause before they make either decision.

Here's what's going on with you. You have a moral framework you formulated by reasoning about all the logical rules and axioms. These axioms are arbitrary. You feel responsibility is more wrong then saving 10 million people or vice versa so you stick with that certain logic as a conscious choice. Other people may follow different logical rules, it's all arbitrary and what axioms you choose as the basis of your framework isn't interesting. Nobody cares, it's like saying your favorite color is blue and my favorite color is red. Arbitrary and not important.

Also nobody cares about how strictly you follow your logical framework. You can violate it, you can be inconsistent and you can break your own rules or follow it like religion. Not important. This is not the message I'm trying to convey. Try reading my post again, it seems you missed my main point.

>As abhorrent as it may appear, my morality dictates the resolution much more clearly.

I'm not calling you abhorrent. But the fact that appears abhorrent to you says something about your brain. This is the key point I'm talking about, read it twice:

   You follow a logical rule set but another part of your mind is telling you that the action appears abhorrent. This means that there are two modules in your mind telling you two different things. One part of your mind is telling you to follow the rules another part of your mind is telling you the action is abhorrent. Two modules: reasoning and morality. 
This was the point I was trying to convey that your brain is comprised of a logical conscious reasoning module and a moral module. That's it. In the end you choose to follow one of the modules. The whole story of the psychopath is just that the psychopath is missing the "moral" module. He can logically follow your framework but he cannot see how such an action appears abhorrent.

>It should be clear, again, that I do not make the choice for another or a million others. That is my moral position.

I could care less about your personal decision or someone else's personal decision. That is not what I'm talking about. I was responding to the original poster to prove to him that morality is an instinctual phenomenon because we can infer the existence of two modules in the brain: reasoning and morality. That's it.

leafboi··on Neurophilosopher argues morality is rooted in brain science, not reason
>That is a biased choice, not a logical one.

Logical based off of the axiom from spock which is what I'm assuming is something we all agree on. Killing one is better than killing many. We agree on this statement at least. Fault or no fault we can also agree doesn't have any real consequence. If someone died whether someone was at fault or not at fault doesn't change any actual outcome and is therefore illogical when you value human life as an axiom.

That being said, a normal human being does not arrive at this logical conclusion so readily because human morality is not designed to have a moral answer to this question.

What someone chooses in this moral paradox is not an indicator of brain damage or psychopathy. What happens is most people hit a sort of bump and are at first unsure what to choose. The purpose of this paradox is to illustrate paradoxical logic and raise awareness about how morality is not logical nor internally consistent. Your decision killed more people and absolved you of responsibility. The moral module of your brain does not evaluate this paradox into a final conclusion where you are perfectly comfortable with either decision. Likely what occurs is that you begin reasoning about the better solution and your logical brain picks a solution but, again your moral brain will never be fully comfortable with it.

Lets change it even further. Let's say the train runs over a switch which triggers a nuclear bomb that will blow up a city killing millions.

Now the logical outcome becomes more apparent. It becomes almost absurd not to push the person.

We can make it even more uncomfortable. Let's say the fat person is nimble, simply pushing the person doesn't do anything because the fat person can simply move out of the way of the train. In order to keep that person on the tracks you have to Plunge a knife into his heart after you pushed him.

Or let's change more parameters. Let's make it so you don't even see the train. There's just a lever 20,000 miles a way and you have the option to pull it to save millions or leave it to save one.

Man slaughter to save millions. What choice do you make? The answer doesn't matter. The whole point of this paradox is to raise self awareness and to show how adjusting unrelated illogical parameters can sway your moral decisions. It exists to show that you have a seperate moral module in your brain that is an imperfect product of natural selection. The module was never meant to be logically consistent it was only meant to help you survive and interact with other people and society.

leafboi··on Motivation – Keli Language
On the post it says Haskell is not IDE friendly. It is really hard to make an IDE around Haskell or does it just that it lacks support?
leafboi··on The Recursive Universe
Not really. Lots of types though.
leafboi··on Neurophilosopher argues morality is rooted in brain science, not reason
>How does that even make any sense? You can turn the exact experiment around, there are people who have brain damage to the areas of their brain that let's them reason logically, but they still have intact moral behaviour.

I didn't point you to a source that talks about the physical aspect of psychopathy just the qualitative aspect. You're going to have to find that yourself on google it's easy to find.

Suffice to say that people who have psychopathy have either damage to the exact same area of the brain or a lack of nerve connections in the exact same area of the brain. Researchers have identified the exact physical location for this in the brain. If I recall correctly it's actually at the front of your brain above your eyes. Look it up.

>By that logic, logic itself is not logical because there's an area in the brain that can be turned off? Then nothing is logical because practically every function of the brain can be missing.

All areas of the brain can be turned off and on and damaged. There are tons of experiments and recorded cases in psychology about this. Literally tons, in fact it makes up a huge portion of the field of psychology. Psychologists understand the brain through people who have suffered damage from it. Here's one case of a woman who cannot feel fear: https://www.wikiwand.com/en/S.M._(patient)#:~:text=S.M.%2C%2....

Additionally we can even turn "on" parts of the brain. One of the treatments of depression involve "turning on" or stimulating a specific part of your brain with varying amounts of electricity. See: https://www.nami.org/About-Mental-Illness/Treatments/ECT,-TM...

It's not an off or on switch... more of a volume control but even that is a blunt description of what's going on.

>You haven't shown that morality is instinctual, you have shown that morality happens in the brain, which big surprise as I said is true by definition.

I have shown it's instinctual. Let me walk you through the reasoning. If the moral part of the brain suffers damage you are no longer moral, but you can still reason.

If you can still reason then if morality wasn't instinctual you can still be moral by your reasoning alone. However we have shown that by killing a part of the brain that doesn't affect your reasoning and creating psychopaths who can reason but cannot be moral we have shown that morality isn't part of reasoning.

>Why is it supposed to follow from the fact that psychopaths exist that morality is "instinctual", or "born"? Rather than that they've lost their ability to reason about moral subjects?

Wrong. Psychopaths can reason about moral subjects. Boolean logic and logic itself is universal and they can still reason that way. They just don't care to follow that reasoning, because morality itself is not logical. A psychopath can identify the behaviors we classify as "good" and the behaviors we classify as "evil" but he does not have an emotional response when plunging a knife into someones face. In short when the opportunity is advantageous to him, the psychopath will not hesitate to kill. Usually though, such actions are never advantageous, so the psychopath remaining logical to the core, will often not kill throughout his entire lifetime.

The words "Good" and "evil" at it's most logical essence are just words that classify certain behaviors and actions... there is no true logical existence of either word beyond its usage as categorization. To a true Neutral intelligence of pure logic and reasoning "good" and "evil" are just arbitrary categories that are made up by human culture and behavior. A psychopath is just closer to a neutral intelligence than a regular human being.

leafboi··on Neurophilosopher argues morality is rooted in brain science, not reason
Wrong. You're confused. Allow me to explain. Step by step.

>This is just a confused article which sets up a dichotomy between reason and brain science.

The article sets up an assumed dichotomy that you missed. That dichotomy is morality and reasoning. It assumes you're aware that morality and reasoning are two different and incompatible things. Then in assuming that you know this, it begins by saying that human morality is not created through reasoning but it is created as pre programmed behavior in our brain. You did not reason your way into knowing what is good or what is evil. You along with most people were born with a moral module in your head that predetermines what you consider to be "good" and "evil".

It does not set up a dichotomy between reasoning and brain science. Your brain can reason it also has preprogrammed instincts. "Brain science" encompasses the existence of both. The article is saying that morality is a preprogrammed instinct.

>However this isn't actually a good argument for ditching higher level concepts. Reason doesn't stand in conflict to brain science, Talking about moral issues in terms of reason or even divine judgement or whatever is engaging in a higher level of abstraction, which can be vital to aid in creating meaning.

Nothing is ditched. Again reasoning never did stand in conflict with brain science and the article never claimed this to be true. You are simply making an incorrect assumption that the article is doing this. The assumption you are making is that morality = logic or morality = reasoning. It's a common mistake because much of our morality feels logical but it is not, it is all instinctual pre programmed behavior similar to hunger or pain.

The issue here is that this moral module is highly integrated with our reasoning facilities so it is hard for us to see how our instinct to do "good" is similar to our instinct to avoid "pain." That being said there are certain moral paradoxes where you can bring your moral instincts into conflict with your logical brain. Meaning that these moral paradoxes can make you feel as if you should do one thing that is "moral" but when you think about it, it is actually illogical. See the link for a good example: https://www.wikiwand.com/en/Trolley_problem#:~:text=The%20tr....

The logical outcome is to save as many people as possible by pulling the lever. But what if we replace the lever with just a single track with 5 people tied up and you can stop a train by pushing an unsuspecting really fat man in front of the train killing the fat man but stopping the train and saving 5 people. You can adjust the parameters of the experiment and change your moral feelings about the whole situation. Either way, in both thought experiments the logical thing to do is to save the most people, but I can introduce variables that mess with the emotional module in your brain. By replacing the lever with the actual pushing of a fat man the logical situation has not changed but I have influenced the moral centers of your brain.

The reason why your brain is built this way is because morality was evolved to help you behave in ways that would allow you to survive in communities of humans. It was not designed to help you reason about the fine grained logical behind it all... as long as your community passed the filter of natural selection nature thought it was good enough. Your moral brain did not need fine grained internal logical consistency in order to help you survive and form communities and societies therefore nature allowed the module to evolve and form in an imperfect and semi-illogical way.

The existence of a dichotomy between how we reason about this situation and how we morally feel about the situation should help you identify the fact that there are two separate modules in your brain where one module is logical and the other module is emotionally moral.

>When you try to understand the meaning of a work of fiction you don't go around and count individual letters in the book and try to decipher the shape of the letter 'A', you look at emerging properties of the story and how things hang together in the broadest, not the narrowest, sense of the term. Likewise when discussing morality, it probably isn't very fruitful to try looking at chemicals in synapses for the same reason it's not very fruitful to try to argue about software programs by counting electrons in semiconductors.

They are doing exactly as you say. The brain is too complex for a low level analysis. If we had the ability to do a low level analysis we would be able to build emulators or run the brain on a computer similar to how we can emulate entire computers on a computer. However because this is outside of our capabilities we come to the conclusion that morality is an instinctual phenomenon based off of high level analysis.

For example: In clinical psychology and you can actually physically identify people who lack all sense of morality and also identify the physical brain damage associated with it. The term for the condition is called "anti-social disorder" better known as "psychopathy." People who are psychopathic retain extremely high reasoning abilities with almost zero moral consciousness. See: https://www.damninteresting.com/the-unburdened-mind/ for more information.

Since we have identified people with specific regions of their brain with brain damage who exhibit behavior and lack understanding of morality and empathy we can know from this high level analysis that morality is an instinctual in inborn phenomenon and not a logical one. Your logical brain knows 1 + 1 = 2 but this part of your brain is not the part of your brain that determines how you know good from evil. Again we know this from observing people who have lost the ability to know good from evil.

leafboi··on The Recursive Universe
I try to design my programs like the game of life. I start off with some primitive axioms and build all the high level functions out of a minimal set of primitives.
leafboi··on AI Assistants Have Poor Usability: Study of Alexa, Google Assistant, Siri (2018)
It's because it violates privacy. For example if someone has a huge secret hobby of collecting dildos and suddenly on some unrelated site they see an ad for a huge dildo.. that will cause a bit of an alarm.

That's the extreme case, more than likely people are a bit unnerved when an unrelated site shows them something they looked up on amazon an hour ago.

Even so I suspect a lot of these complainers just have hidden internet hobbies they just want completely private.

← PreviousPage 3 of 7Next →