New Programming Jargon

I’m like 4 years late to the party - but Yoda conditions were about comparisons, not assignments…
5 == value
5 = value

I was the author of this SO question. Glad to see thread lived on elsewhere for fun. Somebody just passed this blog entry around the office the other day and I immediately recognized it, including my feeble attempts to re-edit the question with justification of why it should be retained on the SO site. haha. Good times.

1 Like

I was a junior person working at Interplay in 1989 when The Duck was introduced into a game.

The story in this thread is true except for a couple of details. This would have been 1989. Todd Camasta (who had indeed been the lead artist for Battle Chess) put in the duck, but it was a still image, not animated, and it was in the NES game “Total Recall”. The duck was standing there on a Mars-scape screen – it may have been the game’s final screen – and supposedly the approver did indeed look at it and say “Looks great – just get rid of the duck.” The duck served its purpose.

Scott Bieser, another longtime Interplay artist who also worked on the game, thinks the idea came from Troy Worrell (VP of development at the time) or from Mike Quarles (a programmer on the project).

Also the stereotype that mad girlfriends are necessarily passive aggressive.

@konung Ordering them as if (CONSTANT … value) is useful for if you unintentionally type just one ‘=’ instead of two. So yes, while Yoda Conditions are about comparisons they help guard against accidental assignments which the compiler would not catch.

For number 22 ‘Protoduction’ we have our own internal word ‘Prodotype’.

1 Like

Can’t number 27 be called “ladybug”?

Prodotype sounds better!

I assume you are a girl, right? :slight_smile:
Indeed it seems offensive to say something like this.

But it’s mostly true: there is somehow this typical feminine behavior to answer “I’m fine” when she is in fact upset:

@veggen: It’s interesting, when I read InterfectP’s comment I didn’t perceive it as accusing anyone, but I perceived it as an observation of how things are in the programmers culture.
Are you sure the commenter meant it as an accusation which required a defensive fight-back? :slight_smile:

I think the “debugging egyptian code” problem is related to how you are used to seeing the brackets. I always use egyptian-brackets, and I have the exactly same experience that you described, but opposite: for me it’s a hell to “debug” the code when brackets-on-separate-lines are used, and it’s a no-brainer to “see” the code when the opening-brackets are at the end of the line.
I think it boils down to the “culture” you come form: in C/C++ it’s usual to use brackets on new lines, while in Java it’s the norm to use “egyptian style” brackets.
(And I suppose the best style is in python or ruby where you don’t use any brackets but just indentation)

You forgot “Lord of the Rings Exception Handling”: “One Try to rule them all”. Ex:

} catch(Exception ex){
    log("Something bad has happened", ex);

And that’s the last try/catch that was found throughout your entire application.

Yoda conditions are trying to solve a problem that is already solved by enabling compiler warnings in modern compilers. Furthermore, in C++, Yoda conditions can actually be a problem: if ("foo" == string) can do the wrong thing for some poorly implemented string classes (e.g. Microsoft’s _bstr_t) where the RHS is coerced to a const char* and then an unintended pointer comparison is silently performed.

At one of my first jobs, there was a Megamoth which was over 10,000 lines, and kept inside a secondary view controller (which we then had to keep alive throughout the program’s lifecycle, though its view is often not on-screen)

1 Like

Pretty funny, but don’t you think that some of the Jargon on here is sexist?

Jargon 21 onwards, the pictures don’t show and there is just a markdown picture tag.

Hi CLUSTERfoo, apologies for having to message you on this forum, but I’ve been looking for you for a while. Your words really helped me on reddit.

Really? I use C++
if ( a_str == a_bean.something())
; // If it’s null it’s not equal. Also we have operators.