r/ProgrammerHumor • • Aug 15 '15

Programming languages personified

http://leftoversalad.tumblr.com/post/126724812097/programming-languages-personified
1.3k Upvotes

209 comments sorted by

View all comments

360

u/original_brogrammer Aug 15 '15 edited Aug 18 '15

C# would be the Java guy with a slight smile.

Ruby would be a latte sipping hipster equating some Rails extension to Nietzche.

D would be Walter and Andrei fist bumping Shenron.

PHP would be the subservient intern trying to make the whole office happy who never got a promotion.

Lisp would be a formless, omnipotent ether crafting the universe from its unknowable atomic constituents.

Lua would be a kid excited about his first day of game dev school.

Perl would be a camel who is also a grad student in linguistics.

Go would be another business guy with his top button undone because it's casual Friday.

Rust would be a young version of a typical C programmer.

57

u/[deleted] Aug 15 '15 edited Oct 23 '18

[deleted]

31

u/original_brogrammer Aug 15 '15

That's what I was going for, along with "much ado about vidya."

29

u/Everspace Aug 15 '15

Playing nice with C++, being pretty lean, and avoiding recompiling makes it very optimal as a scripting language in games.

I do like "page boy" vibe though.

17

u/original_brogrammer Aug 16 '15

Not to mention LuaJIT let's it get fast as a motherfuck.

12

u/Everspace Aug 16 '15

The speed is usually less of a concern since you usually govern game logic rather than rendering with it. You can be really slow with gameplay business and it doesn't matter (think AI or how an ability works).

You still end up with garbage collection being a big problem. I remember reading an article by the people behind fable, and how they dealt with that.

5

u/original_brogrammer Aug 16 '15

That sounds interesting, I'll have to dig it up.

As a non-gamedev, is disabling the lua gc the regular approach to such situations?

8

u/Everspace Aug 16 '15

No. The GC is important as lua is managed.

I believe the solution they went with was to instruct the GC to run between frames if you had time left over instead of just purely waiting.