
  The cardinal programming jokes - nickb
http://www.yosefk.com/blog/the-cardinal-programming-jokes.html
======
mojuba
The analogies with programming are brilliant. The jokes probably aren't the
best jokes in the world (although I can certainly see their charm by
translating them back to Russian on the fly), but author's point is to show
the dark, depressing side of our business.

------
andreyf
This post is best subvocalized with a heavy Russian accent.

~~~
netcan
I would say a slight Russian accent.

------
felideon
_By the way, I was recently told by a very strong programmer that of all
things, he wanted to become a plumber as a kid_

Interesting analogy. Similarly, I wanted to become an inventor and invent
(mechanical) gadgets. Surely enough I ended up programming.

------
netcan
Which ones are Hebrew, which Russian?

I'm venturing this guess: 1\. Russian 2\. Russian 3\. Hebrew

~~~
cousin_it
I'm Russian, and think so too. :-)

If you don't know Russian or Hebrew, how did you tell? Just curious.

~~~
andreyf
It's the type of humor (culturally Russian/culturally Jewish), not the actual
wording.

~~~
cousin_it
Hey, that's why I asked - to learn how others see Russian culture from the
outside. What's the defining quality.

?

~~~
netcan
fatalism

~~~
YuriNiyazov
Do you mean "fatalism" (a general acceptance of fate) or "defeatism" (a
certain pessimistic variant of that acceptance) ?

~~~
netcan
More of the first. Some of the second. But the latter with a sort of sly
smile.

------
stcredzero
Poor guy. Someone should tell him about Garbage Collection.

~~~
mojuba
Garbage Collection would only inspire him to find another plumber joke, I
guess. Because GC is the same pain in the arse as malloc, except the former
gives a good excuse for writing awful applications, while the latter doesn't.

~~~
stcredzero
I've never seen an application impacted by generational GC. I have seen
Mark/Sweep slow down an application though.

I have seen Yacc/Lex based C code perform slower than Smalltalk. I also know
of instances where _block cipher_ code in C ran 3% _slower_ than equivalent
Smalltalk code.

The culprit? Malloc and free.

~~~
mojuba
When a C program is worse than its high-level counterpart, it usually means
poor choice of some dynamic data structure or algorithm on the C side. As a
rule high-level languages provide well-polished, high-quality implementations
of most common structures, e.g. all kinds of associative arrays, while a C
programmer is left with his own basic knowledge of this kind of stuff.

The garbage collector alone can't make Smalltalk better than C, it's just
impossible unless some very advanced optimizations are used, say, compile-time
decisions to allocate an object on the stack (if you look at the latest JVM,
for example). But even then in C, these decisions can be made by the
programmer.

~~~
stcredzero
In the cases I am talking about, a good C programmer would've created buffer
caches which would've pre-allocated memory and reused it. Instead the
programmers in question naively malloced when they needed it and freed when
they were done. A generational collector does something almost as good as this
for you -- they make transient objects very cheap.

Also, the Smalltalk in the block cipher case was written by a very good
Smalltalker who knows how to write code that results in fast JITed machine
code, who also had the luxury of requesting custom primitive operations like
rotations on 32 bit registers. So if the C programs in question had the same
level of programmer working on them, they would no doubt have blown away the
Smalltalk implementations.

I agree that High Level implementations just get you pretty good for a little
effort, and that C will get you darn good for a premium effort.

------
jimbokun
I liked the first and third ones.

The second, not so much.

~~~
aston
I think the second one is a "lost in translation." I can imagine that there's
way of presenting the punchline so that it'd be funny, but I couldn't give you
the words to say it in English.

~~~
mynameishere
The little girl likes to "take" a shit, but not be "given" a shit. It's funny.

Has anyone else noticed that coprophiles tend to be highly specialialized and
intelligent people? Howard Stern types.

