

Ask HN: Do you swear in your code? - blang

At my company, there tends to be some bad language in our code base.  It's pretty common place to find F bombs in they comments.  Is this normal practice?
======
sah
Some of my favorites that I've written or come across...

From the BitTorrent client source, an apt comparison:

    
    
      This function is like a boat made of shit, floating on a river of shit.
    

From my .emacs file:

    
    
      ;; Fucking RMSmacs (by version 21.3, but after 21.1) doesn't
      ;; fucking make these fucking variables local where it fucking
      ;; should, so the c-set-style we're about to do below breaks
      ;; fucking fill-paragraph for fucking all non-c-like modes by
      ;; fucking default.  Someone desperately needs to die, and I'm
      ;; pretty sure it's not just me.
    

This one doesn't include swearing, but is in the same spirit. From the
Audiogalaxy server, above a huge chunk of regular-expression-based string
munging code:

    
    
      /*
    
        sah's take on all this:
    
        "Cursed the ground where dead thoughts live new and oddly bodied,
        and evil the mind that is held by no head. [...] For it is of old
        rumour that the soul of the devil-bought hastes not from his
        charnal clay, but fats and instructs the very worm that gnaws;
        till out of corruption horrid life springs, and the dull
        scavengers of earth wax crafty to vex it and swell monstrous to
        plague it. Great holes secretly are digged where earth's pores
        ought to suffice, and things have learnt to walk that ought to
        crawl."
    
        -The Necronomicon

------
Hates_
Swearing in comments is unacceptable IMO. You wouldn't write swear words in
internal documents, so why do it in code. It's unprofessional and shows a
level of dis-respect for your own code and for the people who might end up
maintaining it. Plus, heaven forbid a client happened to see it as well.

~~~
midnightmonster
True story: During a summer internship years ago, I used Foo and Bar as
placeholders throughout a web page comp. My boss sat me down for a serious
chat about professionalism. Turns out he had never heard of Foo and Bar. Prior
to that conversation, I had never heard of FUBAR.

~~~
ajross
Yes, that's the source of the symbols. Some people like them, some think
they're unprofessional, yada yada. But I've never once had someone try to
interpret "foo" as profanity...

~~~
tjr
Possibly, though it seems somewhat more complex than that.

<http://www.catb.org/~esr/jargon/html/F/foo.html>

------
ajbatac
Apparently a lot of public codes does...

[http://www.google.com/codesearch?hl=en&lr=&q=fuck...](http://www.google.com/codesearch?hl=en&lr=&q=fuck&sbtn=Search)

------
jayroh
I used to ... until about 8 years ago when I response.write'd a large "FUCK
YOU" in an asp app that I forgot to take out.

A big honkin' "FUCK YOU" that showed up during QA 5 minutes before client
showed up for review.

Never again.

~~~
ConradHex
This is exactly why I don't put curse words in code, even in comments. This
stuff really does happen, and the results can be awkward. It just isn't worth
it.

------
robinhoode
Some people don't quite get the message unless you use swear words. Especially
when the message is "this code is used to be compatible with X, and IMO, X is
not very good". 'Not very good' doesn't really describe the emotion that it
gives you. I'm sure there's probably better ways to criticize another software
system, but when you're short on time, sometimes swearing does the trick. Most
often I've deleted such comments or re-written it with a more eloquent
vocabulary. But in general, I don't think it's forbidden territory. Call it
being passionate about your craft :)

------
gaius
It's OK to do it in C++, if you must. It's very, very stupid to do it in
HTML...

~~~
angstrom
Seen more than once where a site was blocked by a filter because someone
cursed in the comments. Page looked perfectly clean otherwise.

------
andrewf
You know how some people swear casually, while others would cringe in shame if
the apocalypse happened and a curse word passed their mouth?

Same for when they're writing code.

I don't quite get the shocked reactions.. I can understand thinking swearing
is distasteful in certain contexts but would certainly never draw wider
conclusions about a person because they swear. Then again, I'm Australian.

------
kirubakaran
When /fuck doesn't find anything, I know my code is ready for 1.0

------
martythemaniak
I'll occasionally swear in a TODO comment, but all those get done and the
comment gets erased.

~~~
markbao
[http://www.google.com/codesearch?hl=en&q=clusterfuck+sho...](http://www.google.com/codesearch?hl=en&q=clusterfuck+show:hmna7hrJ9CQ:2X3ZepeLNac:Q8uZ7_ecIow&sa=N&cd=1&ct=rc&cs_p=ftp://ftp.freebsd.org/pub/FreeBSD/ports/distfiles/CleanQ3_v0.5.2-srcbin.zip&cs_f=CleanQ3/q3radiant/ECLASS.CPP#l125)

------
icey
It is a fairly common practice. That being said, it's a bad idea to allow that
to stand in your code base. It never adds anything to the clarity of the code,
other than the fact that you now know the developer writing it has a bad
temper.

While you're in there cutting out F-bombs, you should probably do yourself a
favor and review the surrounding code. Foul language in comments are almost
always put in out of frustration, so you probably have some good targets for
code refactoring.

------
sah
Fuck yes!

Just like the pros: <http://www.jwz.org/doc/censorzilla.html>

~~~
pxlpshr
I would say that's classless, engineering arrogance at best... there are
better ways to flaunt intellect and respect, like by owning a night club.

------
zbrock
This is a line from our tag unit tests: @tag.name = "this is a really long tag
name that exceeds the maximum length which is set at 65 characters, that
should do it! no wait, we changed it to 128 so now it needs to be
significantly longer so I guess I'll just throw some more text into here and
maybe a gratuitous 'fuck' for the next time someone greps for the f-bomb"

~~~
etal
I'd enjoy seeing that in a long file of otherwise stale code. I like
creative/surreal comments as well, if they fit the code.

That said, a sloppy file full of f-bombs can be annoying and repetitive, too.

------
tjr
[http://philip.greenspun.com/ancient-
history/professionalism-...](http://philip.greenspun.com/ancient-
history/professionalism-for-software-engineers)

...may be of interest. But that said, no, I don't. Furthermore, colleagues who
frequently use profanity in their everyday speech strike me as rather
disrespectful.

~~~
attack
Disrespectful to?...

------
PStamatiou
I do the occasional "here be dragons" and that's about it

------
nostrademons
I generally don't (I like my code to be clean), but I frequently swear in
commit messages, eg. "No longer fucks up selection in Firefox."

------
huhtenberg
Only in blocks that work around Vista's bugs. I do a lot of development for a
variety of platforms, but Vista is really something special.

Seriously.

Vista bugs are new, so they are a royal pain in the ass to trace. Microsoft is
typically unresponsive at best and in a denial at worst. The most frustrating
part is that bugs affect parts that were present in the OS and worked just
fine as early as Windows 2000.

Just to give an example - installing a driver or a adding a device instance
from a service causes a deadlock in the Setup module that can only be resolved
by forcefully terminating the calling process. A _deadlock_.

They broke basic stuff and these booby traps are sitting in the OS waiting for
a dev to step on them. And you bet I am going to leave a comment regarding the
IQ of whoever's responsible after I kill two weeks chasing the results of
their sloppy coding around this piece of engineering.

------
tptacek
Fuck yes it is.

~~~
tptacek
Addenda: is this perhaps the dumbest fucking question to be asked on this
board? Fuckin' A right it is. Can someone draw a line between this topic and
something that actually matters to a startup?

~~~
xlnt
if it doesn't matter, why reply?

~~~
tptacek
You might ask yourself the same.

~~~
xlnt
I replied to you because I was curious what you'd say. I am interested in
human psychology.

~~~
tptacek
And you have confirmed how easy it is to bait me into snarky responses.
Congratulations!

~~~
xlnt
Why are you getting snarky? I was perfectly serious. I think it's best to
ignore silly things. Most people seem to give them a lot of attention. That's
important. I want to know why they do that.

Possibly related, many people I know find it easier to think of things to say
in reply to stuff that's mistaken than in reply to stuff that's accurate. So
they spend more time engaging with mistakes than thinking about the good ideas
they encounter. That's important too.

~~~
tptacek
Oh. I replied because it was fun to do so, and because I'm in an epic bout of
procrastination.

------
jrockway
I have nothing against it, but I don't do it. The source code is not my blog;
if I want to rant about something, I write an article about it.

Comments are for quick explanations of things that aren't obvious.
Documentation is for explanation of the obvious. Blogs are for ranting.

------
noodle
i did in college, and also frequently used "TAMO" in comments

but then i joined a company that supplies source to customers.

------
midnightmonster
Do I swear under my breath when code doesn't run how I meant? Often.

Do I sometimes put dire warnings or florid descriptions of suckage or even
rhyming couplets in my code? Yes.

Do I swear in code? No. Swearing is easy and imprecise. If I can't find a more
useful way to convey my point, I'm obviously not firing on all cylinders and
should take a break.

To be fair, nearly everything I work on is one or both of at least moderately
interesting or for a good client. If I were working on something obnoxious for
a boss I disliked, maybe I would swear. But even then I'd be more inclined to
sarcasm.

------
jasonlbaptiste
// No fucking clue why the below line is there

~~~
gaius
Yeah, comments in my code are "notes to self" as much as anything. When I come
back, I want to know what I was thinking. If I've commented like that it means
I've thought about it and drawn a conclusion, rather than just skipped it as
unimportant.

------
gruseom
In my experience, it's not "normal practice" but it's common enough. I don't
like it, not because it's unprofessional as such but because it conflicts with
the principle of removing everything extraneous. I think the best code is code
that has been distilled to its clearest essence.

Edit: incidentally, profanity in code is not limited to comments. "White Like
[name deleted]s Balls" is a variable name I saw once and have not yet had the
good fortune to forget. I'll let you guys guess whether this was code
distilled to its clearest essence. :)

------
llimllib
This is as close as I come, a comment from a few days ago:

> <%# All acesss to the message bar should go through the message()

> function defined above or kittens will be harmed %>

------
kaens
Sometimes, but usually only in code I'm using to wrap my head around a new
concept that I'm struggling with. I generally don't swear in code that's going
live, or public at all.

------
brlewis
The only F word I ever see in my company's code base is FIXME.

------
root
It is ok as long as only friends read it, "Haha, look, Johnny used a swear-
word, he's such a witty guy" they'll say. But there may come a day that
someone who doesn't know you reads that comment, without knowing you and your
colorful personality and reading it completely out of context her first
impression of you will be that you're a cantankerous old fart and she'll hook
up with that dumb html-"programmer" instead.

------
sapphirecat
It totally depends on the culture of the company. At my last job, my boss
valued 'professionalism' to the point where even sarcasm wasn't tolerated
(even though I was right). My current employer doesn't seem to care, but most
of the swearing remains verbal instead of going into code.

I personally prefer not to swear outright, in code or otherwise, but it's only
a preference.

------
kurtosis
the only profanities in my code are throw and raise

------
pavelludiq
I don't have a habit of commenting stuff, so i do it rarely. I don't write
allot of unclear code(tanks to python) so i don't have a lot of places to
express myself in any other form but good code. I comment only hairy stuff.
But i use swear words as a variable names sometimes if im not going to show
the code to others, but they are usually not in English.

------
SteveC
No, but I make up for it when speaking normally.

------
jeroen
Always assume that what you write is read by others than you intended. That
goes for code, documents, emails, and test data.

------
underscore
I do swear in code occasionally. If the cheap laugh is enough to make me
realize that I need to step away from the computer and think about what is
making me want to swear at it (stopping me from writing desperation code that
breaks stuff and will get deleted later), then it is worthwhile, I think.

------
grimoire
For those of you who swear in your code base, I ask you this: is it ok in your
company to swear in a meeting? The code you write isn't just for you, it is
for everyone on the team, including people you haven't met yet. Is that what
you really want to communicate to others?

~~~
sah
Yes, and yes. The last time I worked at a company where people didn't feel
comfortable swearing in meetings was probably 1997. Honest and casual
communication is faster, friendlier, and more enjoyable.

------
TrevorJ
I work in post-production graphics, and when troubleshooting particularly
nasty problems I've been know to name some of my project assets things like
"WhattheHelliswrong.mov"

I would not recommend doing this, but it definitely made me feel better.

------
TrevorJ
I work in post-production graphics, and when troubleshooting particularly
nasty problems I've been know to name some of my project assets things like
"WhattheHelliswrong.mov"

I would not recommend doing this, but it definitely made me feel better.

------
tlrobinson
Back in the day when the source code to portions of Windows (2000?) was
leaked, the first thing many people did was grep for swear words. It turns out
there were quite a few.

Just Google "windows source swear words" or something.

------
scooter53080
No. Aside from the fact it's unprofessional, it makes you look amateurish if
the code ever ends up public. This happened with some YouTube code last year,
if I remember correctly, and that is exactly what it made me think.

~~~
attack
Better code than you will ever write was written by people who swear a ton.
Strange how that is.

------
keefe
I swear in code like I swear in life, only rarely and with great motivation.
If I am going through code and see an "F bomb" I know I did something
seriously wrong in that bit of code that I didn't have time to fix.

------
watmough
I have certainly disparaged the Oracle optimizer on occasion.

However, I don't believe it's appropriate to swear in code, and that any
examples would be expected to come back and bite you on the bottom.

------
MaysonL
I once inherited the maintenance of a PL/I program whose acronym was CSALDE.

The first line of source read

/* CSALDE - Custodio Sum At Lois' Defecatio Est

Is it OK if your s bombs are in Latin?

------
idigthought
i generally don't swear in code that the rest of the company will use.

more than anything else, i swear at the code.

------
st3fan
No. Because it is unprofessional and immature. It adds nothing.

------
jamongkad
Nope I personally find it distasteful to do so.

------
mkull
abso-fucking-lutely

------
magus_pwnsen
Generally, I don't, and my last job was at a hedge fund. (Sailors, I hear,
have a reputation for "cursing like a trader".) I get nervous enough about
other people reading my code as it is; no need to make the process
(imperceptibly) more volatile. In any case, swear words aren't descriptive
enough to make for thoughtful comments... usually.

