Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login
The cardinal programming jokes (www.yosefk.com) similar stories update story
37.0 points by nickb | karma 27697 | avg karma 5.06 2008-08-20 00:37:39+00:00 | hide | past | favorite | 28 comments



view as:

I liked the first and third ones.

The second, not so much.


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.

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.


Which ones are Hebrew, which Russian?

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


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

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


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

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

?


Explicitness

fatalism

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

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

The first joke - thoughtful irony (the plumber prides himself in being covered in shit - but is it worth it?). The second is very uniquely Russian (I only kind of get it) - somehow, vulgarity with a good comeback is funny. The third makes fun of overvaluing superficial social status (being in the aeroplane industry), which I could see as an internal stereotype of Jewish culture.

I speak Hebrew.

I don't speak Russian, but I had a lot of Russian friends growing up. So I've heard a lot of jokes fall flat in translation from Russian. I thought I recognised the sound.


Perfect score.

This post is best subvocalized with a heavy Russian accent.

I would say a slight Russian accent.

Poor guy. Someone should tell him about Garbage Collection.

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.

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.


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.


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.


Yosef programs real-time apps on the bare metal, GC's not so relevant to him.

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.

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.


Legal | privacy