Hopefully in a few decades the last of the people who think that using respectful discourse means no fun can be had will be gone and we can stop rehashing these threads.
You're contributing to something that runs on billions of devices across the world and is maintained by people around the world of all types. If you can't describe your code, your reasons, and your notes politely, do better.
I contend that you are slipping in the words "respectful" and "professional" and assuming the benefit of their positive connotations without an argument that simply omitting the occasional well-placed curse is indeed "professional".
I think so-called "professional" speech - which I'd call bland and often ineffective speech - is professional in the same way that a suit and tie is professional. It's a uniform to ensure nobody stands out, and the corporation can absorb everybody's personality, like flour incorporated into bread dough. White bread, no seeds.
Cursing adds nothing to the code. "// Stupid fucking hack" is worse than "stupid hack" (more characters while conveying no extra information) and much worse than "work around Lotus 123 leap year calculation bug"
//hack = I have found a way around the problem that was probably necessary to use and could even be arguably clever under the circumstances where a hack is required Example: When I suggested using data uri as source of iframe to get around domain security restrictions in FF and still allow you to click on links and scroll in iframe which using about: uri scheme did not (long story involving national security and identity platforms)
//stupid hack = somewhat ugly thing I am doing to somewhat solve problem because I am perhaps not clever enough to think my way to solution at this time. Example - when I set the center of the map to be a couple decimal points of latitude off from where the address actually was because the designer wanted the address to be not in the center of the map, because then it would be covered by the search box, but slightly above the search box. Stupid because I bet there was another way to do it, also stupid because it was not exact and so we did not know exactly where the address was going to be drawn in relation to the search box, but we knew pretty closely where and that was good enough.
//stupid fucking hack = ugly thing I am doing that must be done to get around problems even though as well as being ugly it is also less than optimal in multiple ways, requirement for this hack caused by third party who have screwed us over by their very existence which makes me incredibly angry Example: put span around any text node inside of an element rendered by React using a Ref to get around the Google translate bug and similar problems.
Your definitions are entirely arbitrary and certainly not even remotely universally understood.
I'd much rather a comment that succinctly but thoroughly describes what is going on and why a hack is necessary.
they are contextual expressions often emphasizing an abstract though equally shared reality -- emotional states. sorta like how "doch" functions in german sometimes. and i definitely will debate it being universally understood semantics, esp for native english speakers.
do you know many people who interpret the emotional weight of "that's fucking stupid" versus "that's stupid" as the same?
anecdotally everyone in my worldview would react differently to both, and further reactions will depend largely on how it is said -- not because of some ambiguous meaning collectively (mis)understood.
i have always found people who want to wipe clean the slate of language and all its slang and "offensive" words in favor of established definitions and order -- contextually or otherwise -- often lack a lot of emotional expression in their correspondence.
people emote. physically and verbally. and we have all kinds of mechanics to capture the nuances in contextual languages -- slang is one of the best features, and the nuances can run super deep, nuances a lot of formal writing or correspondence can lose in its rigor and strictness. especially not withstanding cadence and emotion.
youre going to have vastly different experience reading stevenson and then say twain, for example. even speaking it aloud -- but i encourage you to spot a common denominator.
their dialogue often reflects the character, the context, and the emotional state, and largely not formal. and there's a heft amount of literature that utilizes formal writing in its dialogue, and one of the first things lost in the narrative is cohesion, and therefore immersion, bc that's not how most people speak -- only a distinct subset talks like that culturally and even then it is still not totally real life.
humans are very rarely strictly formal in correspondence in practice -- we only established professional dialogue as a norm to separate the haves from the have-nots, and then made it a moral high-ground to keep the "peasants" in line.
express yourselves. say what you mean. stop letting people convince you that you should be scared of saying something like "that's fucking stupid" bc it means more for you to say "that's stupid" for the sake of arbitrary professional standards.
you're right, nobody that has ever written "stupid fucking hack" has ever followed that preamble with a description of why it was necessary.
There's degrees of hackyness. Tone and emphasis are important parst of clear and effective communication.
Something that's a mere "hack" might be something I don't mind, but worth being aware of and revisiting if and when the code becomes more complicated and has to do more things.
A "stupid fucking hack" indicates something that could have only come about by a whole chain of stupidity and mistakes, inflicting brain damage that we're now stuck with, to great anguish and misery.
Those things are important to highlight, if only as lessons in what not to do.
I don't agree. If I saw "stupid fucking hack" in a comment, I don't think I'd necessarily view that as a worse hack than if it just said "stupid hack". My main assumption would be that the author was in a bad mood or was feeling cheeky or something like that.
In fact, if I was reviewing a code change with "stupid fucking hack" or "stupid hack" in it, I'd ask the author to remove it and actually explain what was going on. Comments should detail the "why", not the "what". "Stupid hack" is the "what", but I want to know why the hack is necessary.
Then write that, none of that information is conveyed otherwise
And yet
Similarly, "stupid hack" adds nothing that just "hack" doesn't say. And in that case, why have a comment at all? The code is likely obviously hacky.
At least I can have a laugh while looking at the hack someone came up with...
I contend there is a significant difference between a stupid hack, and a better one. The negative adjective is meaningful in the comment.
Meaningful, perhaps, but not at all precise enough to be understood by everyone who might read your code in the future. Many people will understand the difference between "hack" (or even "clever hack") and "stupid hack" in a variety of different ways, many of them not in the way you intended.
When I was in my 20s I would write comments like that, but now what I'm in my 40s I see them as entirely useless, aside from a way for the author to blow off steam. Code that others have to read is not the place for that.
Adds some humanity and soul to it.
> is professional in the same way that a suit and tie is professional. It's a uniform to ensure nobody stands out, and the corporation can absorb everybody's personality, like flour incorporated into bread dough. White bread, no seeds.
I take you also strongly believe then that when I waltz up to work in some random hoodie, sweatpants and running shoes, that's actually some bespoke eloquent expression of self, full of meaning?
Reminds me to all those "he/she is wearing this/that kind of glasses/shoes, that means <extremely specific personality trait>" scenes from older movies and shows. Holy hyperbole.
Why would you take it that I "strongly believe" that? I said nothing of the sort, and jumping to that conclusion is a reflection of your own biases, not mine.
> Why would you take it that
Because you believe the quoted part according to your own admission.
> jumping to that conclusion is a reflection of your own biases, not mine.
Could you kindly clarify what that bias is? I'm too biased to see it apparently, so I'll not know until you put it into words.
Vulgarity is a crutch used by those without the ability to communicate effectively.
https://www.scientificamerican.com/article/is-swearing-a-sig...
You should really read the literature you try to post. From the abstract of the study the article cites (~and the article itself implies agreement with~):
"Overall the findings suggest that, with the exception of female-sex-related slurs, taboo expressives and general pejoratives comprise the core of the category of taboo words while slurs tend to occupy the periphery, *and the ability to generate taboo language is not an index of overall language poverty.*" [* Emphasis mine]
Edit: realized the article does make the distinction between the ability to generate profanity and the willingness to do so, which while interesting is mere conjecture propped up by an anecdote within the article. I contend there are times for profanity and times for avoiding it, but suggesting that because someone chooses profanity they must be less intelligent is perhaps a comfortable idea, but it may also be an elitist one.
It's actually a mid-elite idea, I'd say - that novice/mid/elite programmer meme springs to mind. For sure profanity is used a ton by those some would consider the rabble. Then there's medi-elite who are very pure in their language.
And then there's the academics, surgeons, and nuclear physicists who use quite a bit of profanity (especially the surgeons!) and teach their kids that profanity is a linguistic tool that is often super effective.
I think that's totally plausible! Especially because the fact is that "intelligence" is an incredibly fuzzy concept, such that one could be extremely intelligent in the STEM fields, as you mention, but then be simply average in linguistic ability.
Accordingly, even IF the willingness and ability to use profanity indicated a lesser linguistic intelligence, one would be mistaken to then assume that a person with that willingness is any less of a capable professional in non-linguistic fields
Swearing linked to more intelligence, not less [1]
[1] https://www.sciencealert.com/swearing-is-a-sign-of-more-inte...
It happens to run on billions of devices, after corporations realized they can profit from "a (free) operating system (just a hobby, won't be big and professional like gnu)".
> and is maintained by people around the world of all types.
You seem to think that the whole world shares your definition of "polite". After living in a few quite different countries, I have to disagree. The diversity out there is huge. There's no point trying to solve this "problem", it's an impossible task.
There's huge diversity out there in coding styles as well, but I'd be rightfully derided or ignored if I suggested that meant that Linux shouldn't have a style guide.
For some reason, "tabs are banned" and "curly braces must be on their own line" are acceptable rules, but "no curse words" is Oppressive Corporate Soullessness.
> You seem to think that the whole world shares your definition of "polite"
Doesn't the opposite hold true? That is, assuming the whole word feels the same way about swear words?
> It happens to run on billions of devices, after corporations realized they can profit from "a (free) operating system (just a hobby, won't be big and professional like gnu)"
While hordes of people peddle that everyone should be using it like gospel.
> After living in a few quite different countries, I have to disagree.
Yeah dude, tell us about all the countries where cursing isn't impolite and unprofessional.
While in formal professional settings it is rarer (and swearing at each other vs about a thing is generally always impolite) Russia, Australia, Iceland, Scandinavian countries generally have fewer issues inherently treating swearing as impolite vs a strong expression of emotion.
There’s even a comic about how common swearing is in a professional coding environment: https://www.osnews.com/story/19266/wtfsm/
> While hordes of people peddle that everyone should be using it like gospel.
You don't get that kind of widespread usage by mere faddism and preaching. A lot of people had to find it to be genuinely better than the alternatives.
Maybe the unprofessional hackers knew what they were doing after all.
Not consistently mutually exclusive. I consider Linux awful, but that doesn't mean I'd advise us to migrate to Windows Server.
So... you badmouth Linux, in a thread about politeness, and you don't even have anything positive to say about anything? That's some delicious irony.
Maybe you thinking that false positive remarks are a necessary part to politeness is your real issue with it? Ironic in its own way, although at this point I'm just consumed by the despair.
No, but I do think that generic badmouthing adds nothing to the discussion.
Saying that you think Linux is awful without saying why is just... vacuous. It's pointless complaining.
So it has nothing to do with politeness then?
> awful without saying why
Why would I need to elaborate? You expressed that a lot of people hold it in high regard, I expressed I don't. That was exactly the extent I wanted to address it and I think it's a perfectly reasonable stopping point. I don't need to explain myself about my own impressions. To the extent it was relevant, I played along and that's it.
Hello from Spain, you cultural colonialist. Here it is pretty typical to curse in professional environments.
Just typical? There are places where writing down passwords to post-it notes is typical too, doesn't make it very professional, not without a great deal of sarcasm at the very least, or some good old bikeshedding about semantics.
> you cultural colonialist
Well at least you got that part of your insult quota completed for the day. People throw around terms like "colonialist" way too easy these days. One would think if colonialism of any kind, geopolitical or cultural, was so important to you, you wouldn't so casually dispense it. Or is this part of your professionalism too and I'm just being given a taste?
Gotta say, pretty weird though, the Spaniards I work with are normal people who can distinguish just fine when it is appropriate to use foul language (like in informal discussions between colleagues or even to clients) and when it is not appropriate (like in codebases or in formal business communications). Maybe you just work somewhere where the standards are low? I know that a lot of our own small / medium sized companies usually have such poor standards too, frequently accompanied by e.g. using native language identifiers instead of English ones. Product quality usually correlates, though not always and not consistently. Doesn't make me want to call the practice any more professional here, everyone understands that this is subpar lowbrow behavior.
I'm assuming you're not Spanish, and work with some Spaniards in the context of a company that's not Spanish, or is multi-national, or something like that.
Perhaps the difference you see is that the Spaniards you work with censor themselves because they believe you or others will be offended. But perhaps when it's just those Spaniards together, or when, say, they are working for a Spanish company where everyone else is Spanish, they let loose and are quite vulgar, because that's socially and professional acceptable in those contexts.
I'm not Spanish either. I'm American and am very aware of the polite sensibilities you're talking about in professional settings. But even that can differ. I joined a previous company when it was around 50 people in total, and stayed with that company as it grew to around 10,000. When we were 50 people there was lots of in-person swearing and poor-taste jokes, because we were small enough to know what most/all people would be comfortable with. But as the company grew, that happened less and less, because people could never be sure of the audience for what they were saying. (I had a similar, if less drastic, experience at another company that grew even just from 15 people to 200.)
This phenomenon seems entirely normal, in pretty much any place, though the details of what is and isn't offensive can be different depending on region or culture.
I'm indeed not Spanish, and I'm not particularly close with any of my Spanish colleagues either. This means we do not chat informally, and as such, I do not expect foul language - and indeed, they do not engage in any towards me. This very strongly indicates to me that they're perfectly aware what is the standard, where the lines lie, and what manner of conduct they should hold themselves to in a formal, professional setting. So we're culturally on the same page. They did not need any special training that I'm aware of to not push up foul language comments or commits either.
This is not about informal conduct. If they cuss among themselves or towards other colleagues who they are close to, that's completely of no interest to me, and as you say, is just plain normal. I do it with my closer peers as well all the time. This is about the work delivered and the formal communications. And I can understand if this informal speech seeps into work stuff at smaller scales, but that doesn't mean it's right. As you say, it's about everyone being on the same page and cutting themselves slack - but that does mean they are cutting slack, and so that there's a shared understanding of it not being proper, just being okay. According to the GP above though, this is not how it goes in Spain specifically, and it's an alternate reality there where commit histories and code comments will be full of cheap innuendo and cursing, and that that is somehow still completely professional there supposedly.
Well I'll be damned and be the ""cultural colonialist"" then, but I just do not buy that for one second. These standards were not invented yesterday, are not even specific to our industry, and are not nearly geo-localized enough for that to happen.
> Just typical? There are places where writing down passwords to post-it notes is typical too, doesn't make it very professional...
Nice, now with extra patronizing, just the flavor we inferior cultures apparently crave.
> Gotta say, pretty weird though, the Spaniards I work with are normal people who can distinguish just fine...
Ah yes, the Spaniards you work with. Let me guess, you can count them on one hand, right?
> Maybe you just work somewhere where the standards are low?
And there's the second scoop of condescension. Maybe I just work in real places with real Spaniards, not in whatever sanitized fantasy you’ve constructed.
Let’s be clear: I've been working in Spain for nearly 25 years. Cursing is common here. It’s a cultural norm, not some "unprofessional lapse" waiting to be corrected by the wisdom of outside standards. If you'd ever had an honest, open conversation with one of your Spanish coworkers (the kind where people don't filter themselves for fear of offending delicate American sensibilities) you might have figured that out.
> Nice, now with extra patronizing, just the flavor we inferior cultures apparently crave.
Oh no! Sounds like somebody just figured out that insults work both ways!
> Let me guess, you can count them on one hand, right?
If I needed two, would that help? Three? Four? [0] Would it? Really?
> Let’s be clear: I've been working in Spain for nearly 25 years. Cursing is common here.
Let's be extra clear then! That's not what's being discussed!!!
Are you deliberately missing the point somehow? Do you see parentheses and skip right on?
> waiting to be corrected by the wisdom of outside standards
And this is especially not what's being discussed. What's being discussed is if it's waiting to be corrected by the wisdom of inside standards. If people there think they're being unprofessional when using foul language in codebases or formal corporate communications, and if that even happens. An event of mere (albeit severe) disbelief. Although if I were to believe you, an event of "cultural colonialism". Because apparently having an assumption or a negative impression is somehow inherently oppressive (???), and like how do I even dare to think that way? Sensitivities, huh?
Except you keep not talking about that for whatever reason. You keep going off about how people curse all the time. Of course they do. That was never the question! Do you include foul language when sending out advisories or quotes or other formal documents, to clients or internally? Do you include foul language and rants in the work you deliver, be it in commit messages, tickets, ticket comments, release notes, checklists, or code comments? That's what I want you to tell me, with every single one of those amazing, one of a kind, definitely maximally representative of everyone and everywhere else in the country 25 years of experience.
Because supposedly, according to you, all of these will be chock full of cursing!
> the kind where people don't filter themselves for fear of offending delicate American sensibilities
The delicate American sensibilities of a Central-Eastern European. Of not including foul language in code comments and such. Are you actually taking a piss? This is a fever dream, it has to be. You're acting as if I could drive for a few days and enter a foreign planet. You guys are not nearly that special and different, I'm sorry. Maybe except for turrón, no idea how to enjoy that with or without having my dentist on speed dial, I'll admit to that much.
[0] https://knowyourmeme.com/memes/oh-you-love-x-name-every-y
There are two types of people: the ones that write the code, find the bugs (including hardware ones), find the bad design decisions (including the ones they wrote themselves)... and the ones that complain that they found a swearword in the source code they never see because compilation step.
Or as they say in the army: do, lead, or get out of the way.
Total non-sequitur - it's entirely possible to be highly productive and also moderate your written language for a wider audience. What a ridiculous distinction to make.
In a world where code is written more and more by LLMs, these random human generated comments might hold anthropological value in some future.
Think of it akin to us studying cave paintings, wondering what whoever left their handprint on the cave wall was thinking when they did it. So these ancient lines of code might be studied in some future by our descendants, or whatever form we'll take. Interesting to perceive the author's frustration with said bit of code.
By comparison LLM generated code is neat and tidy with clean and clear comments. Plenty of that to go around for the future. No need to suck the soul out of every bit of code we currently have.
> do, lead, or get out of the way.
lead, follow, or get out of the way
There are far more than two types; all of the most effective programmers I've ever worked with can do everything you mentioned and write professionally.
If we have to boil it down to two types, however, I'd split it as "people who think they can do everything themselves and only the code matters" and "people who build effective teams capable of far more than themselves solo", and it's the second group that does the most impressive things. Being professional and respectful is quite beneficial for that group.
It's great that you can do/lead and write professionally. But, in any case, writing professionally shouldn't take priority over doing/leading.
Otherwise we wouldn't have the Linux kernel; and I bet the swearing guy behind it got more stuff done and made a bigger difference than the combination of the most effective programmers you have ever met.
Yeah, if only Linux could be built by one swearing guy with no external contributors like Linux instead of being a bland swear-free corporate hellscape like Linux then it could be successful like Linux.
False dichotomy. "Writing professionally" is also known as "communicating effectively" and it is part of doing/leading.
Linus made an enormous impact, certainly. He'd have had an even bigger impact if he was less of a caustic dick.
And before you say that there's a tradeoff involved and that genius technical people are just that way, look up Berkson's paradox.
Linus is a great example actually, because people pointed out he was being too much of an asshole, and he eventually agreed, and he reduced the toxicity of his rhetoric, but you can bet if the situation called for it, he would still use vulgarity to get his point across.
If you totally ban profanity or vulgarity, all you do is force other words to take up the slack of what people use those words for, and therefore increase ambiguity.
Don't lazily add profanity to the code base because you are a child (ie no, don't use "fuck1" as a variable name FFS) but if there is something truly insane going on, I'm going to write "This is fucking magic" in the code, and my coworkers will know to give that code the respect it deserves.
Consider the fast inverse square root code. Most people only know it because "what the fuck" in a comment. Intensifiers are useful in communication.
https://tvtropes.org/pmwiki/pmwiki.php/Main/PrecisionFStrike
Your code SHOULD have few swears because few situations deserve an intensifier like that, but some situations absolutely call for it.
Funny, I think Linus is a great example for the opposite reason. He shows that if you stop tolerating bad behavior, people will often change how they behave.
The idea that removing vulgarity will increase ambiguity in this context is very strange. In terms of communication, the only use for vulgarity is to convey emotion. That's not relevant here. If we ban it, maybe people will explain why something is shit, instead of just saying it's shit. Forcing other words to take up the slack is a feature, not a bug.
I know about the fast inverse square root code. I could probably give a decent if somewhat vague overview of how it works from memory. I don't recall the WTF comment, and that certainly isn't why I heard about it.
This is a great example of what I'm saying. Commenting 0x5f3759df "what the fuck?" isn't useful. It tells me the author was confused or amazed or something. Imagine if instead they had commented, "Compute an initial guess by negating and halving the exponent. 0x5f3759df was found by experimenting and seems to give a good guess in the mantissa bits."
I'm going to write "This is fucking magic" in the code, and my coworkers will know to give that code the respect it deserves.
This is so weird to me. You won't find blueprints (at least not the copies that will be handed around across teams and companies) marked up with "this is fucking magic" when an architect or structural engineer design something amazing. In a DM/email/SMS? Sure, that's the correct place to put that message.
I'm sure many of us have worked with that type of person who is very good at what they do, but also a massive asshole, and then people put up with it, because, well, that's just part of being a genius (as an aside: this sentiment is often applied to other disciplines too; see, Max Verstappen in F1 or Magnus Carlson in chess.)
I learned long ago that no matter how good they are, it's not worth it.
Agreed. And one thing people seem to miss in this argument is that people can change, and generally will if they're in an environment that facilitates it. If a skilled programmer gets constant pushback because they act like a jerk, they'll probably figure out how to behave.
I would say that a swearword where a swearword is due is actually effective and professional. Dancing around an issue and trying to be polite wastes time and effort, a well-placed swearword directs eyes, ears and effort to where they need to be.
It doesn't. There are words explicitly to draw attention. There's TODO and IMPORTANT and WARNING. A swear is inferior to any of these.
Personally, I think the nicest thing I can do, for my users, and for the engineers who come after me, is to write code that works, and write it in such a way that other people can figure out what it does without wanting to gouge their own eyes out.
Clearly, we do not have the same goals.
It is not mutually exclusive tho
It's about priorities. I value clear and direct communication, and getting the job done, way more than mere politeness.
Politeness is not the end goal. It is a means to that goal, if and when it enables people to communicate more effectively and with less friction.
> do better
I find that expression far more offensive than ‘fuck’ or ‘shit’. Similarly (and non-exhaustively): ‘bad take’; ‘not a good look’; ‘this ain't it’; ‘… not the … you think it is’; ‘…, actually’. They're all personal insults. “This code is crap” is fine; “You're crap” is not.
As I see it, there's nothing offensive about "do better" - it's just asking the person to not repeat the same (ostensibly misguided) thing they did before.
On the other hand, there's Kratos's “Don't be sorry, be better”, which did hit me hard when I reached that part in God of War 2018. That one hit me on a very personal level.
"Do better" when used in an online debate forecloses discussion. It implies that the one saying "do better" is the authority on what "better" is. What if I disagree?
Then you reply with "Because of the following reasons, doing better must entail the following actions...", rather than argue against the need to do better
It's annoying in the same way gish gallopping is annoying: you're giving me nothing except resistance in a way you've formulated to appear as though it's in good faith, even though it's not.
Yeah, you tell 'em! Anyone who doesn't conform to Corporate Culture and treat the dress code and code of conduct as their own personal Bible, upheld even on their time off, they're all terrible engineers and should go work on some script kiddie project.
Forget "fun". Profanity is a signal of honesty. Which I much prefer to hiding behind patronizing, obfuscatory euphemisms like "verifying the security of your connection" and processes that diffuse responsibility out of existence.
>people who think that using respectful discourse means no fun can be had will be gone
It's not zero fun, but everyone understands it's a sign the vibes will be up-right, right?
edit: that's not to say you don't want that, but that's what it is
*up-tight (too late to edit)
> Hopefully in a few decades the last of the people who think that using respectful discourse means no fun can be had will be gone and we can stop rehashing these threads.
More likely, in a few decades what you consider today to be "respectful discourse" will be seen as extremely offensive and the latest generation of fearful moralistic pearl-clutchers will be hoping that in the near future it's people like you who will be soon be gone. As long as people keep looking for new ways to be offended and continue wanting to police the language of others these kinds of topics will continue.
> do better
No.
This condescending tone is what really needs to go away. It reminds me of the 90s right-wing, religious puritanism about swears in music and movies just repurposed for a secular audience.