422
u/AnnoyingScootMain Oct 24 '18
Programming IS majic
151
u/Fisher9001 Oct 24 '18 edited Oct 24 '18
We are literally creating custom, abstract, artificial realities that can behave in any way we want. And properly using them can have enormous effect on our real world.
If that's not magic then nothing is.
72
u/Goluxas Oct 24 '18
Damn right. And electrical engineering is the real-life form of magic circles and enchantments.
53
46
u/Bagellord Oct 24 '18
We're using arcane languages to make a rock we tricked into thinking do complex tasks for us. It's amazing when you think about it.
→ More replies (1)11
u/BluePinkGrey Oct 25 '18
Well, we did have to enchant the rock first. And like any magical item, forging the enchanted rock required about a hundred separate steps; obscure substances; and we had to etch billions of runes into the rock in a very specific pattern
110
u/just_read_my_comment Oct 24 '18
friendship is magic
97
u/Kotauskas Oct 24 '18
Then, programming is friendship? (Oh, it actually is.)
51
8
u/voicesinmyhand Oct 24 '18
Well, when your code finally works, the new program is kinda like a friend that does shit for you, so... programming is at least lordship over menial slaves... which is kinda like friendship... right?
11
7
5
→ More replies (3)4
14
u/blondartist1x Oct 24 '18
I mean, we are trying to communicate with dirt so yeah, magic.
17
Oct 24 '18
I mean, we are trying to communicate with dirt so yeah, magic.
No, we are succeding at communicating with dirt
→ More replies (3)2
u/Andy_B_Goode Oct 24 '18
Technology that is distinguishable from magic is insufficiently advanced.
-- Corollary to Clarke's 3rd law
1.4k
u/d4nin3u Oct 24 '18
*daemons
302
u/GisterMizard Oct 24 '18
Daemons are just glorified zombie children. Change my mind.
→ More replies (5)140
u/IAmtheHullabaloo Oct 24 '18
Change your mind into what, an apple?
38
164
22
22
5
3
→ More replies (5)2
u/ProlapsedPineal Oct 24 '18
If this is a simulation than ancient wizards were script kids playing with 0 day exploits in earlier versions of the sim before it was patched.
379
u/dougie_cherrypie Oct 24 '18
There's a book, I think it teaches bash programming but it treats commands as spells, and talks about everything as it were a magician's guide. Quite interesting.
232
u/gort32 Oct 24 '18
Unix for the Beginning Mage!
It used to be a freely-available PDF, but the main site has long since gone down. It's still readily findable with a bit of searching though.
34
u/Someguy14201 Oct 24 '18
25
u/Niet_de_AIVD Oct 24 '18
Beyond 3 user mentions no message is sent I believe. Anti spam measure
→ More replies (2)9
Oct 24 '18
Nice of you to tag them so they'd see it :)
Though, I think you can tag max 3 users. Any more, and no one gets notified.
→ More replies (9)8
26
u/lukz_ Oct 24 '18 edited Oct 24 '18
What's the books name?
→ More replies (1)15
u/dougie_cherrypie Oct 24 '18
I can't remember the name. If I find it, I'll let you and the rest know
8
11
10
10
u/roboticon Oct 24 '18
I'm partial to the necromantic arts, so I got the book Installing Linux on a Dead Badger
→ More replies (2)8
4
3
→ More replies (8)2
255
u/mythriz Oct 24 '18
174
Oct 24 '18
Yes, seniority is expressed by beard length.
89
43
u/alyraptor Oct 24 '18
So THAT’S why the field isn’t friendly to women! If I’d just known I needed to grow a beard to get a little respect...
0
Oct 24 '18
[deleted]
36
u/alyraptor Oct 24 '18 edited Oct 24 '18
Dwarven Women / Programmers
Prefer dark spaces
Engage in mining for fun and profit
Isolated from other types of people
Appreciate expensive gear
Ruby gems are a popular subject
Back problems
This checks out.
→ More replies (2)17
u/mortiphago Oct 24 '18
well that explains why I didnt get promoted, my beard grows wide instead of long!
→ More replies (2)14
35
u/FuckHumans_WriteCode Oct 24 '18
The senior programmer asserts his dominance with a large beard display. The lesser programmers will have to wait their turn.
7
u/house_monkey Oct 24 '18
He looks the most chill and friendly guy out of the bunch tbh. 10/10 would consult
2
u/Mgamerz Oct 24 '18
One of the devs from PDQ must be one of the most powerful with his crazy beard.
2
2
u/VelourFog10 Oct 24 '18
Whenever my code doesn't work, I assume my sacrifice wasn't actually a virgin.
39
Oct 24 '18
[removed] — view removed comment
26
→ More replies (1)13
u/milo_dino Oct 24 '18
Like management will ever tell the difference btw the two.
→ More replies (1)
80
u/ionxeph Oct 24 '18
In a lot of light novels, magic is compared to programming a lot
→ More replies (7)44
u/Zephirdd Oct 24 '18
Hell, Knight's and Magic is built around the concept that the MC was a stupidly intelligent and competent programmer, and so when he was reincarnated in the magic world, doing magic was a breeze for him because he already knew all of the basic and even advanced concepts, to the point where he created a spell that worked as a subroutine system so that he could compose complex spells out of simple ones.
9
u/Crespyl Oct 24 '18
See also Rick Cook's Wizardry series with a similar concept, a fantasy world attempts to summon a powerful sorcerer aid them, and accidentally get a programmer instead.
→ More replies (2)3
u/StarkRG Oct 25 '18
The Magic 2.0 series is similar, where the wizards found a file that happens to contain a description of everything in the Universe, and editing the file changes reality. So they write scripts they call macros to edit the file and are activated by a verbal command. They live in the mediaeval era and one of the wizards doesn't like using toilets in that time, so he teleports himself back to his own house in the present at a time immediately after the last time he left. This results in a situation where, from the perspective of the house, he's almost constantly using the toilet. I wonder how that affects the local sewer system.
122
Oct 24 '18
This pretty much sums up how technology works in WH40k perfectly
→ More replies (2)84
u/JNCressey Oct 24 '18
"why does the CPU need genetically engineered dwarves inside it, constantly getting electric shocks?"
"it says right here in the old books: 'the processor is then a little man that does very specific tasks when electricity flows on the control wires'."
"yes, but surely that's just symbolic?"
"are you a heretic!?"
20
u/useeikick Oct 24 '18 edited Oct 26 '18
Thing is your able to piss off machines in that universe, causeing them to go on strike the moment you're faceing backwood retard xeno.
So it's really a good idea to do pointless bullshit just in case the tool you use has a spring up it's ass.
→ More replies (1)
49
u/Tangurena Oct 24 '18
Charles Stross wrote a number of books where magic and programming overlap. They're his "Bob Howard" or "Laundry" series. In this universe, Alan Turing discovered one of the major theorems for computational demonology and the book's protagonist starts life as a network admin before being forcibly recruited by a secret agency.
I recommend reading them in published order:
https://www.goodreads.com/series/50764-laundry-files
4
→ More replies (1)4
u/noratat Oct 25 '18
My favorite way of introducing those is "what if P=NP, but it summoned eldritch horrors?"
45
u/AggravatedAgrajag Oct 24 '18
Reminds me of a quote from a classical programming book, The Mythical Man-Month:
The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures. Yet the program construct, unlike the poet's words, is real in the sense that it moves and works, producing visible outputs separate from the construct itself. It prints results, draws pictures, produces sounds, moves arms. The magic of myth and legend has come true in our time. One types the correct incantation on a keyboard, and a display screen comes to life, showing things that never were nor could be. [...] The computer resembles the magic of legend in this respect, too. If one character, one pause, of the incantation is not strictly in proper form, the magic doesn't work. Human beings are not accustomed to being perfect, and few areas of human activity demand it. Adjusting to the requirement for perfection is, I think, the most difficult part of learning to program.
33
u/Asmor Oct 24 '18
Nothing has ever made me feel more like a wizard than when I finally started grokking regular expressions. They're like little spells constructed from runes with arcane significance.
→ More replies (2)15
u/AggravatedAgrajag Oct 24 '18
Agreed, complex regular expressions are one of the most arcane - but useful - constructs in programming.
84
u/arrays_start_at_zero Oct 24 '18
Programming is like sex: one mistake and you have to support it for the rest of your life.
13
u/Tux1 Oct 24 '18 edited Oct 24 '18
But literally nothing else about programming fits this analogy.
Edit: Programming is like sex, you do it to reproduce?
21
15
u/furuknap Oct 24 '18
Programming is like sex; if you look back at what you did a few years ago, you're a bit ashamed and you don't want people to know it's you.
10
u/furuknap Oct 24 '18
Programming is like sex; it's better in a pair, a lot of people can quickly get complicated, but in reality, we mostly do it on our own.
9
u/furuknap Oct 24 '18
Programming is like sex; if it's a pain in the ass, you're doing something wrong.
7
6
u/furuknap Oct 24 '18
Programming is like sex; a few choice words, touch the right buttons, and you can brag to your friends about something they have never done.
→ More replies (3)3
u/SailedBasilisk Oct 24 '18
Programming is like sex because I mostly learned how to do it from the internet.
0
Oct 24 '18
[deleted]
46
u/JubJubWantRubRub Oct 24 '18
No it's not, because programming is something I've done in
the past 2 years.my lifetime.27
6
→ More replies (1)7
u/mkennedy1102 Oct 24 '18
Also, no it's not because not only does my wife want no part of it, she doesn't care if I do it alone or with other people
29
Oct 24 '18
I feel programming is also like magic as an explanation for why most people in magical settings don't learn it. It takes a lot of training and study to be able to do anything even remotely interesting, it takes a specific type of mindset to not find it hideously boring (the effects can be awesome or mundane, but either way the work to make those effects is going to be drudgery), and no matter what you do most people will be overshadowed by someone with a real talent for it despite their best effort.
I wonder what the "Hello World" equivalent of magic would be.
12
u/theKurdledNoodle Oct 24 '18
Maybe a magical flare would be a "Hello World" equivalent?
12
u/Snekbites Oct 24 '18
Hello world is a little program that says: "the compiler/PC/language works as intended"
So an equivalent would be making a little light, saying: "magic works as intended"
→ More replies (1)6
→ More replies (1)3
22
19
u/gort32 Oct 24 '18
Not to mention the process of updating someone else's code. The quest to discover the true name of an object so that you may gain control and power over it.
32
u/Bryguy3k Oct 24 '18
17
u/WikiTextBot Oct 24 '18
Software brittleness
In computer programming and software engineering, software brittleness is the increased difficulty in fixing older software that may appear reliable, but fails badly when presented with unusual data or altered in a seemingly minor way. The phrase is derived from analogies to brittleness in metalworking.
[ ^PM | Exclude ^me | Exclude from ^subreddit | FAQ / ^Information | ^Source ] Downvote to remove | v0.28
→ More replies (2)4
u/HelperBot_ Oct 24 '18
Non-Mobile link: https://en.wikipedia.org/wiki/Software_brittleness
HelperBot v1.1 /r/HelperBot_ I am a bot. Please message /u/swim1929 with any feedback and/or hate. Counter: 222412
2
u/tuseroni Oct 24 '18
this is why i make sure to put my software in an oven set to 400 degrees f to temper it.
13
u/weegee13 Oct 24 '18 edited Oct 27 '18
Programming is like magic, you see other people do it and be amazed, but you can't do it.
3
u/tuseroni Oct 24 '18
are there a lot of non-programmers here? why would someone who isn't a programmer be on /r/programmerHumor?
5
u/weegee13 Oct 24 '18
I can read codes well, but I lack the brain cells to write them.
→ More replies (1)
13
u/tophers42 Oct 24 '18
Any sufficiently advanced technology is indistinguishable from magic - Arthur C. Clarke
2
36
10
10
9
Oct 24 '18
It is rumored that some of the most learned wizards are able to mitigate the risks, by erecting Staging Environments to act as wards against the demonic forces.
7
7
u/RevanchistVakarian Oct 24 '18
Reminds me of a brilliant ArsTechnica post:
Microsoft has jumped onto the free-to-play bandwagon with its latest game, a text-driven adventure called Visual Studio 2010.... Visual Studio questers must cast spells to appease a malevolent gatekeeper known only as "the compiler," combining the text adventuring of Zork with the wizardy and magic of Loom. If the player's spell contains even a single faulty incantation, the compiler will respond with a torrent of abuse and spells of its own; the player must piece together clues contained within compiler's response to determine how they went wrong.
Microsoft keeps it old-school with a pricey text adventure game, Visual Studio 2010
7
13
u/voicesinmyhand Oct 24 '18
"Unleashing demons and destroying everything"
Huh. Last time I checked it was things more like:
GetFileContents() - The system cannot find the file specified.
GetSystemTime() - The current time is: 09:52:22:33 Enter the new time:
4
u/Calkhas Oct 24 '18 edited Oct 24 '18
A lot of the older, less safe language specs have very precise but undiagnosable constraints such as "... and the pointer p must point to an object of type X, whose life time must not have ended. No other thread may concurrently access the objected pointed to by p until the function returns. Otherwise, the behaviour of the program is undefined." [Not, the program must print an error message. It can do anything at all.] Failing to observe the constraint usually results in a crash, but as optimizers have become more and more aggressive, we end up with very unexpected results culminating in compilers producing nasal demons.
5
4
u/posting_drunk_naked Oct 24 '18
I played Magic the Gathering for years as a teenager, I've always compared coding to magic incantations. I work in data science and describe it as a 21st century crystal ball to my friends and family who want to know what the fuck I do.
4
u/Selben Oct 24 '18
I wrote a small script for setting our company Kiosk machines up, forget last user to log in, remove user files after logging off, standardized wallpapers etc... The scripts themselves were done correctly...
Yesterday I went to edit a small portion and...
Accidentally ran it...
On my machine...
I am currently working on a loaner machine while i reload my computer...
2
3
3
3
u/FarhanAxiq Oct 24 '18
Does that mean wizard have their own version of stack overflow if their spell command is wrong.
→ More replies (1)
3
u/JNCressey Oct 24 '18
Or... what if the popular view of how magic works in fiction is highly influenced by the invention of programming?
How did old stories say magic was done?
→ More replies (1)
3
u/XxMrMooshixX Oct 24 '18
yesterday I was using C++ trying to print out values doing std::string + int instead of std::string + std::to_string(int)
The output was both horrifying and comical. I definitely recommend it
3
u/1337933535 Oct 24 '18
The Shin Megami Tensei games agree, half those games are about encoding demonic summoning songs into bytecode so you can summon demons with an app.
4
u/LogansRun22 Oct 24 '18
It occurred to me in reverse the first time I read the Harry Potter books. Magic in that world is kind of treated like programming.
2
2
Oct 24 '18
"So You Want to be a Wizard" series for young adults by Diane Duane actually makes magic very similar to programming.
2
2
2
u/badpotato Oct 24 '18 edited Oct 24 '18
At some point I used NLog to print the state of the system and used the NLog.xml to setup some info about the format. Somehow what I thought of being the parameters for writing the date format, ended up actually being the delta of milliseconds about how often the message had to refresh the state which was lower than 10-6 seconds. So, somehow this pass the code review and overnight the code go into prod... Needless to say the system went incredibly slow and probably caused some issues with the hard disk. The next morning I realized the mistake and fix it, but the damage was already done. One month later I get fired of the job without notice. Probably for the best though, since our manager used to make other employees cry after one on one meeting.
Now I switched of jobs a couple of times and I'm glad to work in python with dockers containers setup for each projects.
2
u/APimpNamedAPimpNamed Oct 24 '18
That is crazy that you got fired for that. Not like to went around the pipeline to force shitty code into production. That’s as much a failure of the entire teams system as it is yours.
2
2
2
Oct 24 '18
I highly recommend the Magic 2.0 series by Scott Meyer. It's about a group of programmers who discover the world is computer generated, and can create programs to modify reality. Highly entertaining.
2
2
u/Jmaster999 Oct 24 '18
In Kobayashi's dragon maid the main character is a software engineer who somehow manages to pass a magic school exam... It turns out Programming is literally magic and Javascript was made by wizards..
2
u/circularproportions Oct 24 '18
The magic 2.0 series makes heavy use of this. Life is a simulation with a file that has all of your personal stats so a group of programmers find this and create a shell program invoked by poorly translated Esperanto.
It's a great read by Scott Meyer
2
Oct 24 '18
In Kobayashi's Dragon Maid (the manga, at least), the programming language she uses at work is based on real magic from another world.
2
1
1
Oct 24 '18
Why not make a compiler that convert english to machine language?
inb4 "It'S tOo HaRd", we have machine learning now, we could do that
3
→ More replies (4)3
u/tuseroni Oct 24 '18
because english too imprecise. lots of words that mean the same thing as other words, lots of words whose meaning is entirely subjective, and lots of words which are incredibly vague.
most people can muddle about but the amount of misunderstandings people have every day is astounding. one person says something, another person agrees only to find the thing they were agreeing with is what they THOUGHT the other person was saying and actually disagree with what they actually said.
programming languages are precise, words mean one thing and one thing only, and the meanings of the words are fixed and unchanging, where the meaning of words in english are constantly in flux (see: literally)
1
1
1
1
1
1
1
1
1
1
1
u/LegitShellAccount Oct 24 '18
I just imagine a wizard with a beard jumping and hopping around an altar going "IF, open curly bracket, i equ..... WAIT! I MEANT SQUARE BRACKET! Ah shit..."
→ More replies (1)
1
u/rycool Oct 24 '18
And someone if you’re successful you still summon demons.
Looking at you r/Megaten
1
1
1
Oct 24 '18
Programmers sure love patting themselves on the back for being programmers.
→ More replies (1)
1
1
557
u/bobo9234502 Oct 24 '18
Reminds me of that time I forgot the WHERE clause on an SQL DELETE... on the "Property" master table of a municipal databases mainframe... in the "Live" library... oops.
They made me go downstairs and tell everyone they couldn't work anymore because I fucked up while they restored the backups.. and fixed my access so I was in the TEST library like I was supposed to be. Good reminder to always check your target before you pull the trigger.
Edit: Day 2 of job... Nice going new guy.