Omnimaga

General Discussion => Other Discussions => Miscellaneous => Topic started by: LincolnB on September 20, 2011, 06:25:29 pm

Title: Programming Analogies
Post by: LincolnB on September 20, 2011, 06:25:29 pm
Hey, anyone know any good programming analogies?

http://www.bytebrothers.org/programm.htm

and here's another good one: http://agoln.net/archives/36
Title: Re: Programming Analogies
Post by: boot2490 on September 20, 2011, 06:43:06 pm
Assembly: Shoot yourself in the {666F6F74}

That is actually "foot" in hex.

I come up with these all the time. My mom is crazy when it comes to inappropriate jokes or internet humor. I have to censor the whole internet like the examples in the second link. Here:
Mom: What is a trollface? (after I pointed it out on a sign)
Me, thinking about real meaning and how she would react, trying to tone down the meaning of trolls so she won't ban me from the internet,
Me: There are people on the internet that are called trolls. Sometimes they elongate arguments just to be mean.
*this is where she would make a generalization of the internet, that although true, i dont want her to make so I say:
 The trollface is a caricature of these trolls, showing how ridiculous they are.
And that is how you censor the internet so it is mom-appropriate.
Title: Re: Programming Analogies
Post by: AngelFish on September 20, 2011, 06:47:58 pm
Assembly is more along the lines of:

Machine the gun yourself, carve some molds for the bullets, cast the bullets, load the propellant yourself, assemble the gun, and finally shoot yourself in the foot. Machine code has you mining the materials for all of this yourself :P
Title: Re: Programming Analogies
Post by: boot2490 on September 20, 2011, 06:52:49 pm
Binary is like initiating the creation of the universe first.
Title: Re: Programming Analogies
Post by: Deep Toaster on September 20, 2011, 07:31:20 pm
Nah, it's exactly the same as in assembly, except you can't call the gun a gun. It's more along the lines of 01010100 01101000 01100101 00100000 01000111 01100001 01101101 01100101.
Title: Re: Programming Analogies
Post by: boot2490 on September 20, 2011, 07:33:08 pm
If you use the same decompression method as windows calc :P
Title: Re: Programming Analogies
Post by: Deep Toaster on September 20, 2011, 07:35:21 pm
TI-BASIC: Nerf(foot)
Title: Re: Programming Analogies
Post by: thepenguin77 on September 20, 2011, 07:50:18 pm
Well, we can't forget runer's great analogy:

You can build a statue out of either 1'x1' blocks or 12'x12' blocks. The 1'x1' blocks will take a lot longer, but the final product is worth it.

Comparing asm to anything else.
Title: Re: Programming Analogies
Post by: Builderboy on September 20, 2011, 07:54:23 pm
Well, we can't forget runer's great analogy:

You can build a statue out of either 1'x1' blocks or 12'x12' blocks. The 1'x1' blocks will take a lot longer, but the final product is worth it.

Comparing asm to anything else.

And then furthering that analogy, with the calculators, the statue is so small that it makes a big difference, but with languages like C++ , sometimes the statue can be so large that not only does it take an exuberant amount of time to build the statue with the 1x1, but it's also a lot harder to see the difference between the 12x12.
Title: Re: Programming Analogies
Post by: Yeong on September 20, 2011, 08:55:22 pm
z80 Assembly:
Let's try this one more time...
-RAM Cleared-
F***!
Title: Re: Programming Analogies
Post by: LincolnB on September 20, 2011, 09:06:51 pm
Programming is like making furniture.

Java: buying wood, supplies, and tools from IKEA and assembling from a manual.

ASM: carving a chair out of a tree with a pocket knife

Machine Code: same as ASM, but without the pocket knife
Title: Re: Programming Analogies
Post by: LincolnB on September 20, 2011, 10:36:55 pm
Does anyone carve furniture using a pocket knife? ;)
Title: Re: Programming Analogies
Post by: AngelFish on September 20, 2011, 10:42:03 pm
does anyone even program in machine code?

Xeda uses hex pretty regularly and most assembly programmers will dip into it when a good assembler is either not available or the processor has some unsupported opcodes.
Title: Re: Programming Analogies
Post by: AngelFish on September 20, 2011, 11:02:07 pm
ASM is actually easier for some problems than Higher languages :P
Title: Re: Programming Analogies
Post by: ztrumpet on September 20, 2011, 11:05:49 pm
I actually get to thinking in Asm instead of Axe sometimes when coding in Axe, and thus my code can sometimes become a weird mixture of Axe and Asm. :P
Title: Re: Programming Analogies
Post by: Spyro543 on September 21, 2011, 03:22:09 pm
Programming is like making furniture.

Java: buying wood, supplies, and tools from IKEA and assembling from a manual.

ASM: carving a chair out of a tree with a pocket knife

Machine Code: same as ASM, but without the pocket knife
BASIC256: buying a table, and all you have to do is put the legs on.
Title: Re: Programming Analogies
Post by: yunhua98 on September 21, 2011, 04:22:09 pm
Gamemaker:  Buy furniture, arrange in room.  :P

not trying to insult GM users, I use it too.  ;)
Title: Re: Programming Analogies
Post by: flyingfisch on September 21, 2011, 05:07:13 pm
HTML: Contrary to popular belief, HTML is NOT a programming language. LOL.
Title: Re: Programming Analogies
Post by: parserp on September 21, 2011, 05:26:52 pm
You'd have to be a non-programmer to think HTML is a language anyway.:P
Title: Re: Programming Analogies
Post by: flyingfisch on September 21, 2011, 05:30:56 pm
Well, it is a language (Hyper Text Markup Language), but its just markup (display), not a programming language. And I think that a lot of people think that jScript is part of HTML. :S
Title: Re: Programming Analogies
Post by: Deep Toaster on September 21, 2011, 08:15:28 pm
HTML: Draw a table on a poster.
Title: Re: Programming Analogies
Post by: Yeong on September 21, 2011, 08:26:32 pm
XHTML: Draw a table on a poster, but more formal and strictive.
Title: Re: Programming Analogies
Post by: Scipi on September 21, 2011, 08:30:36 pm
TI-BASIC: Put the table together via prefabbed pieces but make it very heavy, cumbersome, and large in a very small room.

TI-BASIC(nSpire): Table with only two legs.
Title: Re: Programming Analogies
Post by: Yeong on September 21, 2011, 08:33:24 pm
TI-BASIC(nSpire): Table with only two legs.
also, can't move around the table nor get out of the room because there's no getKey
Title: Re: Programming Analogies
Post by: Deep Toaster on September 21, 2011, 08:34:19 pm
XHTML: Draw a table on a poster, but more formal and strictive.
Correction: Draw the exact same table on photo-quality paper.
TI-BASIC(nSpire): Table with only two legs.
That's good :D
Title: Re: Programming Analogies
Post by: Scipi on September 21, 2011, 08:35:35 pm
Lua: Awesomest table you will ever have that can be any shape and size you want, and can hold anything. ANYTHING! :P
Title: Re: Programming Analogies
Post by: Deep Toaster on September 21, 2011, 08:35:56 pm
Lol a table-driven table :P
Title: Re: Programming Analogies
Post by: Yeong on September 21, 2011, 08:36:22 pm
Java: Coffee. :P
Title: Re: Programming Analogies
Post by: Deep Toaster on September 21, 2011, 08:37:34 pm
Java: Coffee. :P
What does that have to do with tables? ???

Java: Everybody must first define exactly what a table is, then proceed to build it to the highest quality specifications.

Python: Do whatever the hell you want and a table magically appears.
Title: Re: Programming Analogies
Post by: Yeong on September 21, 2011, 08:38:37 pm
Java: Coffee. :P
What does that have to do with tables? ???

Java: Everybody must first define exactly what a table is, then proceed to build it to the highest quality specifications.

Python: Do whatever the hell you want and a table magically appears.
Fine.
Java: Coffee table.
Title: Re: Programming Analogies
Post by: Deep Toaster on September 21, 2011, 08:39:07 pm
Still doesn't have anything to do with the language itself :P
Title: Re: Programming Analogies
Post by: Yeong on September 21, 2011, 08:40:42 pm
Brainfu*k:
<-------------->
    [            ]
    [            ]

EDIT: Java : Language you speak on coffee table. :P
Title: Re: Programming Analogies
Post by: Deep Toaster on September 21, 2011, 08:41:56 pm
Alternate analogy for brainfuck: Bash your head against the wall until it turns into a table.

EDIT: The wall, not your head.
Title: Re: Programming Analogies
Post by: Yeong on September 21, 2011, 08:43:28 pm
Alternate analogy for brainfuck: Bash your head against the wall until it turns into a table.

EDIT: The wall, not your head.
:banghead: :banghead: :banghead: :banghead: :banghead: :banghead: :banghead: :banghead: :banghead: :banghead: :banghead: :banghead:
                 :banghead:                                  :banghead:
                 :banghead:                                   :banghead:
                 :banghead:                                   :banghead:
                 :banghead:                                   :banghead:
?
Title: Re: Programming Analogies
Post by: Spyro543 on September 21, 2011, 08:56:35 pm
LOGO: Draw a table with a pen.
Title: Re: Programming Analogies
Post by: fb39ca4 on September 21, 2011, 09:35:53 pm
ASM: You clear your RAM before you can shoot yourself in the foot.
Minecraft: Your programs run on computers larger than the vacuum tube ones of the 50's.
Title: Re: Programming Analogies
Post by: boot2490 on September 21, 2011, 09:46:37 pm
Minecraft programming is shit hard.
Title: Re: Programming Analogies
Post by: BalancedFury on September 21, 2011, 09:54:33 pm
Alternate analogy for brainfuck: Bash your head against the wall until it turns into a table.

EDIT: The wall, not your head.
:banghead: :banghead: :banghead: :banghead: :banghead: :banghead: :banghead:
                 :banghead:                 :banghead:
                 :banghead:                 :banghead:
                 :banghead:                 :banghead:
                 :banghead:                 :banghead:
?
That's pie.. not a table.
 :banghead: :banghead: :banghead: :banghead: :banghead: :banghead: :banghead: :banghead:
                  :banghead:                                                                 :banghead:
                    :banghead:                                                               :banghead:
                   :banghead:                                                                :banghead:
That's a table?
Something's wrong... It's not coming out to be a table.
Title: Re: Programming Analogies
Post by: AngelFish on September 21, 2011, 10:31:40 pm
Brainfu*k:
<-------------->
    [            ]
    [            ]

EDIT: Java : Language you speak on coffee table. :P

Brainf*ck: A large pile of wood splinters. Skilled programmers can theoretically make a table with it, but no one has ever actually managed to do it.

Java: A table made out of solid iron. Anyone can quickly start using it as a table and it can be melted down to make more tables, but only the truly deluded would seriously claim that it's elegant or efficient.

Lua: A smaller table made out of thin gauge steel. It's still somewhat heavy, but any normal person can carry it around, unlike the Java table. However, it's less likely to survive an artillery barrage.
Title: Re: Programming Analogies
Post by: Deep Toaster on September 21, 2011, 10:38:21 pm
Brainf*ck: A large pile of wood splinters. Skilled programmers can theoretically make a table with it, but no one has ever actually managed to do it.

Whitespace: Wood splinters with invisibility paint.
Title: Re: Programming Analogies
Post by: z80man on September 21, 2011, 10:47:15 pm
Casio-BASIC: make as many tables as you'd like but have no way to remove old ones because you cannot draw with the color white
Title: Re: Programming Analogies
Post by: boot2490 on September 22, 2011, 07:27:42 pm
Stagecast: Make a table from a children's "build your own table" kit but if you make one mistake it doesn't work. And sometimes it just doesn't feel like working.

TI Basic:
Easy to make table, but you can only see seven pieces at a time

Python: Planning out a table.. oh wait it is already there

Game Maker:
Draw a table and then when you put it in the room it works

DS Game maker:
Like game maker, but with many more obscure errors

Pseudo Code: Making a hypothetical table

Basic256/KidBasic:
Learn how to build tables and make a nice model of one in the process
Title: Re: Programming Analogies
Post by: Scipi on July 10, 2012, 06:21:03 am
Yay necroposts that actually contribute to the conversation!

http://wheresmysammich.com/picture/16084/programming/ (http://wheresmysammich.com/picture/16084/programming/)

Just saw that on FB :P
Title: Re: Programming Analogies
Post by: Yeong on July 10, 2012, 09:32:36 am
lol HTML XD
Title: Re: Programming Analogies
Post by: Juju on July 10, 2012, 09:42:37 am
Oh yeah, I saw that one a while ago. Pretty funny, I would say.
Title: Re: Programming Analogies
Post by: Sorunome on July 10, 2012, 04:53:22 pm
Already saw it a while ago :P
Title: Re: Programming Analogies
Post by: Deep Toaster on July 10, 2012, 11:02:58 pm
Well, let's go with that theme.

TI-BASIC: I've been reading your essay for half an hour, and I'm still on page 1?
Prizm BASIC: Ditto, plus you used eight different-colored pens.
Title: Re: Programming Analogies
Post by: blue_bear_94 on July 11, 2012, 12:27:46 pm
Axe: This is on a calculator.
Title: Re: Programming Analogies
Post by: Scipi on July 11, 2012, 12:56:03 pm
Nspire-C: This is fine and all, but I need special glasses to read it.
Title: Re: Programming Analogies
Post by: Juju on July 11, 2012, 12:59:48 pm
Nspire-Basic: This is written in Simple English.
Title: Re: Programming Analogies
Post by: blue_bear_94 on July 11, 2012, 01:04:01 pm
TI-89 Basic: I can't understand half of the words.
Title: Re: Programming Analogies
Post by: Scipi on July 11, 2012, 01:12:41 pm
Btw, here is the original strip http://www.somethingofthatilk.com/index.php?id=135 (http://www.somethingofthatilk.com/index.php?id=135)

Definitely some funny stuff there XD
Title: Re: Programming Analogies
Post by: pdfavenger on July 11, 2012, 02:33:19 pm
hahahaha these are great

what is latex?
Title: Re: Programming Analogies
Post by: AngelFish on July 11, 2012, 04:07:00 pm
LaTeX is a text markup language a bit like HTML that's used to format documents.
Title: Re: Programming Analogies
Post by: Deep Toaster on July 12, 2012, 02:19:15 am
PHP: This is a flower pot. Made from a 3D printer.
CSS: Ah, there's the flower.
TI-BASIC#2: You left off half your punctuation.
Brainf*ck: This is all punctuation.
Title: Re: Programming Analogies
Post by: Scipi on July 12, 2012, 06:14:07 am
Whitespace: This paper is blank.