Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

That's the problem with being pedantic. Pedants are correct, but they're not curious, and they don't care about learning something because they lack humility (humility is difficult to learn and rarely encouraged).

A discussion, an argument or a debate is not meant to be some sort of confrontation quiz, where people who demonstrate they're right can win an audience. A real debate, argument or discussion is when an audience can listen, and ask questions to better understand what everybody is trying to say. A debate is a distributed way of thinking. Human thought only exists through language, un-worded ideas always die.

This mentality stems from how people views how democracy works. The Socratic method thoroughly shows that having an argument is about helping each other communicate their point of view. And this is exactly how states like Russia are able to undermine democracy, by sowing confrontation and polarization.

What is horrible is when this sort of polarization happens in your daily life, or in science or at work.



The trouble is often the listener thinks the speaker is pedantic when the speaker thinks there's a very legitimate problem the listener is ignoring. Since we're using C(/C++) as an example, I'll take a bite out of the other page that just got re-posted today. [1] Is it "pedantic" to point out that &*p is undefined behavior if p is NULL? Or is it "pedantic" to point out that uint8_t isn't a substitute for unsigned char? Lots of people who see C as something resembling high-level assembly view arguments like this as pointless pedantry, often since they haven't really across cases where the distinction has mattered. Meanwhile those on the other side of the debate feel like they're not being heard and pull their hair out trying to get people to stick to the spec of the abstract machine rather than that of their hardware, because they think (rightly or wrongly) the next compiler version will likely break their code if the existing ones already haven't.

[1] https://news.ycombinator.com/item?id=22848423


You’re on the other side of the table from the pedant in OP. You’d be responding to someone saying “It’s easy to avoid UB in C.” Meanwhile, you grep a couple popular projects and show trivially that accidental UB is extremely common in most codebases. The pedant in OP is saying, “you don’t need the guarantees provided in Rust because a careful C programmer can avoid UB, memory errors, etc.”


Ya.

Your example makes me think of error tolerances, uncertainty, fuzz factors. Sometimes precision really matters.

FWIW, If you were reviewing my code, I'd readily adopt your method, if only to expedite convergence on a common understanding, and to signal I appreciate the input.


Is it possible they would be served by a different standard where C is a high-level assembly? Although admittedly, "&*p" to me reads as 'load p' and therefore undefined behaviour


The literal sequence "&*E" is actually equivalent to E even when E is a null pointer. The spec explicitly points this out.


Why does the spec mandate support for useless bad code instead of banning it?


1. Probably backwards-compatibility.

2. While you wouldn't write &*E by hand, it can easily arise from a macro expansion.


`E` is an lvalue --- a location that only becomes a load/store when it is converted to an rvalue or assigned to. `&` takes an lvalue and gives a pointer to that location, so `E` is eliminated without being converted to an rvalue or assigned to, so no harm done.

The real question if why have "lvalues" at all. If assignment always had to have a pointer on the left hand:

    &a := ..., b := ...
rather than:

    a = ..., , *b = ...
then this problem goes away.


Oh man, I wrote that as a shorthand for something like int& v = *p; foo(&v)... is there a difference in that case (C++ I guess)? I thought it was always illegal to dereference null pointers regardless of the specific token sequence or whether it's C or C++.


Yeah, I thought that's what you meant. C++ doesn't special case &٭. C didn't before C99 either I think. It's not the exact token sequence actually; &(٭E) does the same thing.


I believe C++ does special-case that, as *foo when foo is an empty lvalue and it’s trying to assign that to an rvalue that is undefined.


I love the way this would be just as good an example for the original article as those actualy given.


To me, this demonstrates how one can completely understand something at the abstract level, but so easily "forget" when working at the object level, even when the object level discussions are related to an article about the abstract concept.

The various forms of communication between humans are chock full of opportunities for error, and I doubt there's many people that would deny it, but when a conversation is occurring at the object/instance level, and an instance of one of these abstract errors occur, enthusiasm for acknowledging it generally seems to have diminished significantly.

I think it would be incredibly useful if we could find a way to overcome this issue, kind of like error correction in TCP, but for human communication, or even discuss the notion.

Might it be interesting and fun, and maybe even yield practically useful ideas, if now and then HN was to experiment with taking an instance of one of these abstract problems we discuss every day (this one, nuclear power, climate change, wealth disparity, political polarization, etc), and rather than having our normal casual conversations (the contents of which often appear in thread after thread), instead approach it from an engineering perspective, crowdsourcing various ideas for both the diagnosis/analysis of the problem, as well as solutions (including implementation, where possible)?


@dang -2, again.

Is this not getting a little bit ridiculous? Pray tell, what guidelines have I violated this time, while everyone else is behaving perfectly fine?

Shall we continue to ignore the elephant in the room? It's fine by me, I actually get a kick out of it.


"The various forms of communication between humans are chock full of opportunities for error." Don't let it get you down.


Oh, it doesn't get me down at all, quite the opposite. It's not myself I'm worried about, it's broader mankind.

Take my suggestion at the end - does it not seem odd in the slightest that one of the highest concentrations of powerful minds on the internet seems to be more interested in complaining and pointing fingers, little different than any other social media site, rather than trying something new?

How bizarre do things have to get on this planet before a little curiosity starts to form about how we got where we are today, and if perhaps there's something HN could do to get us out?


I think this comes from a fundamental issue: the participant isn't ready and willing to understand the other participant in conversation. The goal of the participant is to smash and belittle the other person instead of trying to achieve consensus.

For example, observe more consensus-oriented cultures: You'll see people talkting to each other over and over until they chip away at the other partys position and reach a middling consensus to move ahead. It's a very slow process but generally achieves good results in practice. This is also how good functioning multi-party governments work, where parties slowly move towards an acceptable middle ground when building policy.

This breaks down if one of the parties isn't interested in building consensus - in a hyper-individualist viewpoint, the goal is to attack, bellitle and insult the other person to build your own following or ego. In that case, there's no useful resolution of that conversation - the goal of the pedant is to find something to attack and attack it with no wish to reach a productive objective. In that case, the only winning move is not to play. At least until that attitude doesn't reach your organization/government and makes the environment intolerable.


Such consensus seems to be motivated by necessity. A lot of partisanship under the guise of 'we have voting majority'


Idealistic argumentation in favor of being pedantic:

Pedantic is about being correct. There are too many misconceptions and misunderstandings around. * Being pedantic is an effort to reduce them.

So if people are pedantic out of idealism, I do not mind it. Here on hacker news it comes often in the form of a side comment "nitpick this and this is actually Y" Which I like.

It is only annoying, if people are pedantic "to win the argument" which never helps the discussion.

* even in our language. like the word atom, for example. It means undividable, but today we clearly know atoms are dividable. And millions of other examples. So a discussion never leads to anything, if all the people involved are overly pedantic ...


>Pedantic is about being correct. [...] Being pedantic is an effort to reduce them.

At the risk of my comment being pedantic about "pedantic", the context of how "pedantic" is typically thrown around is to alert readers of a hyper-correction that doesn't matter to the discussion.[0]

For example, if I say that some smarthome intelligent light switches sometimes have a 1/2 second lag instead of being "instant on" which is jarring to the user experience, a debater in pedantic mode would then say something like "even a regular dumb light switch isn't truly instant because of General Relativity, it _still_ takes picoseconds to propagate the flick of the switch action to the state change in the light radiation, blah blah blah"

That so-called "correction" is _true_ but not material to the actual type of discussion. The discussion was consumer UI and not physics. If the context is UI, it's actually ok to be a little sloppy with what "instant" means.

The underlying issue is that each commenter cannot write <billions qualifiers> before each statement. Therefore, the qualifier words we omit lets others pounce on a seemingly glaring hole in the argument (i.e. not reading with charity) and reply with something pedantic.

[0] Excerpt from MW dictionary https://www.merriam-webster.com/dictionary/pedantic#faqs:

>Is pedantic an insult? Pedantic is an insulting word used to describe someone who annoys others by correcting small errors, caring too much about minor details,


Ok, so lets be pedantic about pedantic about the argument pedantic ...

I know. Thats why I said:

" it comes often in the form of a SIDE COMMENT "nitpick this and this is actually Y" Which I like."

And "So a discussion never leads to anything, if all the people involved are overly pedantic ..."


I see what you did there.


Made an argument, a bit in the form of "devils advocate"?


I've seen ironic trend of calling someone else's assertion "pedantic" as another way to polarize and shut down debate. That "confrontation quiz" attitude is very real, and it's often a way to avoid actually listening to someone else so you get to be correct.


It's almost like there is a handbook out there somewhere on "how to win an argument on the internet" where people are using manipulative tricks to try to shut down debate and appear as the "victor".


Schopenhauer wrote a good one, his 38 Stratagems from The Art of Controversy, all of them still very relevant. e.g. I see #32 all the time:

If you are confronted with an assertion, there is a short way of getting rid of it, or, at any rate, of throwing suspicion on it, by putting it into some odious category; even though the connection is only apparent, or else of a loose character. You can say, for instance, "That is Manichaeism," or "It is Arianism," or "Pelagianism," or "Idealism," or "Spinozism," or "Pantheism," or "Brownianism," or "Naturalism," or "Atheism," or "Rationalism," "Spiritualism," "Mysticism," and so on. In making an objection of this kind, you take it for granted (1) that the assertion in question is identical with, or is at least contained in, the category cited—that is to say, you cry out, "Oh, I have heard that before"; and (2) that the system referred to has been entirely refuted, and does not contain a word of truth.

The Stratagems summarized in point form http://www.mnei.nl/schopenhauer/38-stratagems.htm

Unabridged https://www.gutenberg.org/files/10731/10731-h/10731-h.htm#li...


Oh fantastic- thanks for these. I see # 6 a lot too, especially generalizing what somebody says (eg: universal health care) into a much larger category (eg: universal socialism) that includes a lot of negative components (eg: deadbeats, corrupt governments, unremovable presidents/generals).


Welcome. :-) That could be #32 also: "I like the idea of universal health care, it's.." "That is Socialism!"


This trick works particularly well when your opponent doesn't know what that category is, but doesn't want to look stupid by admitting it.


This interesting aspect of the situation to me is: how many people have actually read such handbooks, versus how many people behave in these ways?

If hardly anyone has read these books, yet the behaviors can be easily observed in massive quantities, perhaps there is some other underlying cause.


Indeed, this submission is a textbook example, perhaps involuntarily, but still:

1) Pick an uncontroversial good cause: "Excessive pedantry is bad."

2) Associate all the arguments you want to make with the good side and the counterarguments with pedantry.

3) In the reader's mind, subconsciously all your arguments are now associated with the good side.

This is how advertising works, but the method seems to infiltrate (again, perhaps unintended) more and more technical articles.


I had a similar thought while reading this article.

A case that the article itself is "100% correct but [missing] the point" can also be made. Perhaps the speaker nitpicking garbage collectors works in a problem space prone to dangling references, which would make a "pedantic" point actually very relevant, at least to that speaker. Shutting that person down isn't helpful to that person, though perhaps in context a large number of other people would rather stay on topic.

Context and empathy are helpful. In most cases, clarification of context, especially through follow-up questions, can keep conversation healthy.


You're casting too broad a net here. I don't think this article is about pedantry. There is a time and place to be pedantic, just arguably in none of the given examples. The place to be pedantic is to point out sloppy thinking. Sometimes you just need precision, and it's not enough to be "mostly right".


I don't think "pedant" as a personality trait encompasses people, who are only pedantic in necessary context. Your answer thus might be a bit... pedantic? ;)


So I could point out that you started your comment with “You’re”. This statement is 100% correct and it’s pedantic. I bet you can’t argue that(but it’s moot! what has it to do!? Whatever the context!)

I agree with you, the problem is not being able to synchronize with the goal or hierarchical chain of logic behind original statements, leading to remarks that are irrelevant, and I think it’s merely considered “pedantry” here by the looks of it.


Correct vs curious. Brilliant. Thank you.

What's the opposite of pedantic? "Colloquial"? Please tell me.

Whatever we end up calling it, both Adam Gordon Bell and Ezra Klein are superior.

While listening to Abstraction and Learning with Runar Bjarnason https://corecursive.com/027-abstraction-with-runar-bjarnason... I was struck by how AGB is able to adopt Bjarnason's worldview and explore it. While I was busily compiling a list of all the ways I disagreed.

I'd like to become more like AGB.

Ezra Klein routinely does this. He's so cordial, respectful of his guests. He genuinely enjoys wearing other people's beliefs for the purpose of discussion. I got so much out of his interviews with Grover Norquist and George Will. I'm still surprised.

Klein's recent interview by Ben Shapiro (for his book Why We Are Polarized) is a master class in not being baited, staying on message, using measured humor to push back, and somehow engaging one's debate partner in a positive constructive enjoyable manner. https://www.youtube.com/watch?v=pMOUiWCjkn4

I have no idea how Ezra Klein does it. Practice, temperament, experience?

Maybe the key is to just be curious, like you suggest.


The opposite of pedantic would be "not afraid of being wrong", and also aware that truth can be subjective and never absolute.

Science and knowledge are dynamic, not static. It's hard to make science and knowledge more accurate, but it's counter-productive to not challenge old ideas, even if those ideas work well.

Pedantic, in my view, are conservative. Unpedantic is more progressive.


> What's the opposite of pedantic? "Colloquial"? Please tell me.

It's surely not the answer you want, but 'unpedantic'.

If we can extend to more than one word you could describe someone as not being too concerned with the finer detail or nit-picking, or as 'glossing over' minor errors or trivialities.


Bringing up Russia in the context of this discussion would be an example of this phenomenon methinks


A debate is a distributed way of thinking.

This is a beautiful way of putting it, but IME rarely do actual debates actually rise to this level. Typically, they just amp up our confirmation biases and cause people to dig in.

I've had a few beautiful debates/discussions with friends in my life where we took sides on some issue and by the end, had both switched sides. These are great, because we're both cracking up by the end, but they've been incredibly rare. They require a way of exploring topics in a way that doesn't require/trigger ego investment and some adherence to the principle of charity[1].

Hell, I'm practically demonstrating the wrong way to do it in this very post. ;)

[1] https://en.wikipedia.org/wiki/Principle_of_charity


I think you can explain the problems with "pedantic" arguments in a lot more rigid way.

The "technically correct" arguments are ignoring certain information that the OP argues is extremely important: How likely a certain situation is to appear in practice and how expensive or resouce-consuming a certain user actions is.

Therefore, while the facts they state (dangling pointers may happen, people can protect against buffer overruns in C) are technically not wrong, their conclusion "therefore, garbage collectors / buffer protection make no difference" is plain wrong because it ignores the difference that likelihood and cost would make.

I think this can often be traced back to inexperience: The "X can happen / people could do Y" arguments can be make simply with book knowledge - in contrast, you typically gain knowledge about likelihoods and costs from actual experience working in projects.


> Pedants are correct, but they're not curious, and they don't care about learning something because they lack humility (humility is difficult to learn and rarely encouraged).

Those are some very broad claims. Apply whatever interpretation of "broad" you feel is appropriate.


> Pedants are correct, but they're not curious

Pedants are often more curious than you are, as they were presumably curious enough at some point to look up the thing they’re being pedantic about.


This presumes that the person making the first statement was unaware of the pedantic part... that's the point of the pedant "missing the point"


> states like Russia

I wouldn't say Russia has a monopoly on this


Socratic method is not about two equals having discussion where both have different ideas. It is about one person (teacher) questioning another persons ideas. It is fundamentally unequal methodology.


It can be executed by a teacher, but the method and Socratic circles are based around peer-level interlocutors. An initial questioner may exist and that is not regarded as an elevated role, merely a way to gain experience in starting off a Socratic circle.


It can be but it seems to have a strong negative effect.

I've tried it numerous times when I see something as clearly being A but someone else sees it as clearly being B. Once my initial attempts to explain why I see it as A fail, I start asking why they see it as B to understand their view point. The goal is one of three outcomes.

* Find an error in my logic. Oh, it clearly is B.

* Find an error in their logic. See, it clearly is A.

* Find a point of disagreement other than A vs B that explains the outcome. I think X, which is why I see A, but if you think Y, then I can understand why you see it as B.

But in all cases, this sort of questioning a person's logic is viewed as a strong negative of just not dropping a subject. Some instances it may be better to drop it, but when it comes to specs in what I'm building for work, just dropping a disagreement in what the intention of the widget can lead to coding the wrong widget. There seems to be a needed charisma to keeping someone engaged and one that deeply irks me is that part of this charisma seems driven off of factors that we cannot control and which we condemn discriminating upon (meaning there is active subconscious discrimination that shouldn't be happening, but because people don't realize things like how taller people are treated with more authority or how we assume better of more attractive people, the discrimination is overlooked).


You can not make that conclusion from your method. While B has to explain in details every step and fact, A does not. It is assumed that if no error was found in B, A must be true. Therefore, B must be flawless to pass, but A can have pretty much any amount of logical or factual errors in it - as long as they are not directly visible.

> There seems to be a needed charisma to keeping someone engaged

Of course people stop to be engaged the moment they realize what is going on, whether they are able to argue back and move the needle or not. And even when they are able to clearly explain what is going on, they may decide that the most rational move in that moment is for them to disengage without accusing you or furthering conflict.


>You can not make that conclusion from your method.

I think you are missing the general idea and being stuck on the details which I highly simplified. The step after identifying the difference in logic is to work back from there and establish a full chain of reasoning we both agree upon, but I cut that out in my half sentence description.

>Of course people stop to be engaged the moment they realize what is going on

So the people who have an interest in convincing me (as I'm the one building the application) have no desire to do convincing when they realize I'm trying to understand their rationale? Why? I have learned to document it well when it happens, so when the project does fail I can show their manager exactly where I built what was asked for, noted my concerns with the design, and showed where they disengaged from addressing those concerns and desired for me to just do as they asked.


1.) The issue I was pointing out at was that one of ideas has to pass much different standard then the other. You are looking at differences only in one place, not at the other.

B being faulty does not imply A being correct. B having small problem does not imply A does not have even bigger problem.

2.) What I mean is that people conclude that you play politics with rules. You don't put your ideas under the same rigorous test. That is where disengagement typically starts.

Then it makes sense to go either your way or my way, but depending on politics of the situation (who is going to be responsible, who is stronger politically). How I think your idea would be had it gone through the same test should be factor, but if that part runs without you. It does not make sense to play one sided questioning game for the person you are negotiating with.

Your idea can make the project fail too and from the point of view of the other person, was not really tested. And then if you are accountable I drop my idea and let you do your thing. If I am accountable, you did not done nothing to covince me you are right.

Through it is also unlikely that the project would fail of a single reason. So I don't think the documentation would be much of the threat. We write minutes from non conflict non hostile meetings all the time, so it does not sound like much would be changed. Not that it would be used the way you suggest often. Unless other person works in some kind of toxic company, they are fine explaining their reasoning to manager. It is quite likely they discussed your questions even before they decided to disengage.


Well the Socratic method frequently results in aporia or puzzlement for both parties and doesn’t necessarily resolve conflicts in business. When you need to discover the next step or a new direction among cooperating people it’s food for thought, but for negotiating hidden conflicts of client work a more robust method is needed.

Discrimination is a tool, being seen as ugly or short in a position of success implies you overcame difficulty and played right can enhance a specific image or personality aspect you want to use as a technique for influencing clients. That game will always coexist with high level abstracted method like the Socratic.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: