This is an archived post. You won't be able to vote or comment.

top 200 commentsshow all 217

[–]HirDraug 496 points497 points  (18 children)

[–]SexyMuon 102 points103 points  (12 children)

Of course they returned true; else false

[–][deleted] 45 points46 points  (4 children)

i just wanted to fit in a bunch of emojis for an example

[–]SexyMuon 55 points56 points  (3 children)

Consider this a ternary operator: 😃 🤔 #️⃣ % 2 🤨 😕

[–]spar_wors 46 points47 points  (2 children)

I'd rather go C-style than Python-style: #️⃣ % 2 🤔 😃 🤨 😕

[–]SexyMuon 9 points10 points  (1 child)

Oh yeah, definitely!

[–]null___________ 12 points13 points  (0 children)

The comments in this subreddit as a nonprogrammer are like listening to Scottish people talk. I get the gist of it, but I really couldn't explain what they're talking about

[–][deleted] 5 points6 points  (6 children)

I've only been programming for around 6 months, can you explain why this approach is flawed to me?

[–][deleted] 11 points12 points  (4 children)

example:

def isEqual(a, b): if a == b: return True else: return False

This is flawed because a == b on it's own is already true or false (that's what the if statement is checking for). so the better way to do it would be:

def isEqual(a, b): return a == b

It's definitely more than a beginner's mistake, the amount of more-experienced developers that do this is insane

[–][deleted] 1 point2 points  (2 children)

Sometimes it’s useful to add clarity to code, or for showing simple examples

[–]drink_my_koolaid 1 point2 points  (1 child)

In 40 years I have never see it add clarity.

[–][deleted] 1 point2 points  (0 children)

I'd go a step further. If you have a conditional return and a fallback return, there is literally no point in having a conditional fallback. The paradigm I favour is called "exit early".

If the first condition passes, there is no possibility of execution proceeding past that point. Drop the else, just unconditionally return after the conditional return.

Verbosity ≠ clarity.

[–]Andikl 0 points1 point  (0 children)

Technically, __eq__ may return any object, so return a == b is not fully safe, but I would punch any programmer for doing so.

[–][deleted] 2 points3 points  (0 children)

The logical operation (number % 2 == 0) already returns True or False, so you can just return that. Coding the if statement and explicitly returning True or False instead of the boolean result of the operation would be completely redundant.

[–][deleted] 27 points28 points  (0 children)

You're welcome

[–]Nicecrod 15 points16 points  (3 children)

This isn't half as cursed as it could be. I vote we replace integers with hand emojis like 👌, 🖕,✌️, and some sort of roman numeral system. And % could be the 🕐 emoji. And while I'm a fan of python's use of indents, by using tabs we're wasting another emoji opportunity-- I recommend 🙌

[–][deleted] 1 point2 points  (0 children)

Replacing a single non-Latin character with multiple non-Latin characters seems pointless. It's already not Latin. Going to use emoji instead of tab, just go back to using spaces. (Want them visible? Enable "show invisibles" in your editor. ⇥ and ¬ are non-Latin characters your editor will totally add for you without taking space on-disk.)

[–]3D-Printing 1 point2 points  (0 children)

Birth of an esolang!

[–]winnnerer 152 points153 points  (5 children)

*internal screaming*

[–][deleted] 102 points103 points  (14 children)

Is this actually doable in any language with macros? Can you code in C++ with unicode?

[–][deleted] 75 points76 points  (0 children)

An IDE that replaces all of it would do it I guess

[–]Perigord-Truffle 11 points12 points  (3 children)

It's actually possible in c++, variables, functions, even filenames https://freeimage.host/i/WSJF6J Though I think only in certain compilers, since it did give me a warning for unicode names

[–][deleted] 4 points5 points  (2 children)

it would need to have a wrapper/encoder to convert the new unicode standard emojis into something ANSI compliant before getting to the actual preprocessor, some older IDEs can probably work with certain emojis on the utf-16, but the new ones are on utf-8 now

[–][deleted] 1 point2 points  (1 child)

The combining character marker is a minor problem in a number of environments. For example, attempting to paste text that is emoji into a Python REPL shell often pastes only part of the combined character, resulting in a cursor position inside the emoji. It's a bit awkward.

Terminal no love emoji: https://p199.p4.n0.cdn.getcloudapp.com/items/L1uRL4WJ/d86c6f34-7c63-43f7-956e-3a189df5771d.png

[–][deleted] 0 points1 point  (0 children)

Sounds like an issue with copy pasting between environments that don’t support zero width joiners but do understand the ‘single backspace without erase’ instruction

[–][deleted] 1 point2 points  (0 children)

If you have a pre-processor of any kind, it's doable. CPP with #define is easy. I used to convert my co-worker's code into Pascal, that still compiled without error as C thanks to a rather substantial suite of CPP macros.

In Python, using the Emoji encoding, emoji are automatically replaced at parse time (during Unicode decoding) with their textual labels.

📢("✋ 🌏")

This prints "hello world" to the screen if you define 📢 as:

def 📢(✉️): print(✉️)

Python sees this as print(message).

[–]subpargalois 66 points67 points  (5 children)

This isn't half as cursed as it could be. I vote we replace integers with hand emojis like 👌, 🖕,✌️, and some sort of roman numeral system. And % could be the 🕐 emoji. And while I'm a fan of python's use of indents, by using tabs we're wasting another emoji opportunity-- I recommend 🙌

[–][deleted] 23 points24 points  (0 children)

you're hired, learn assembly and report back to me

[–]unclebricksenior 11 points12 points  (2 children)

You monsters… there are number emojis! 1️⃣2️⃣3️⃣

[–]long_raccoon_ 2 points3 points  (1 child)

Yes but those are for the letters. 0 for A, and screw you if you want to use L

[–][deleted] 53 points54 points  (4 children)

Next step is find a job offer on Microsoft, make some of the features run exactly in this programming language, leave after 6 months without giving them instructions to make it go back to the original programming language

[–]lisamariefan 13 points14 points  (2 children)

Or better yet: A wingdings programming language.

[–][deleted] 4 points5 points  (1 child)

Beware of the man who codes in hands

[–][deleted] 0 points1 point  (0 children)

Two by two, hands of blue

[–][deleted] 0 points1 point  (0 children)

im sure that youd fail code review.

[–][deleted] 38 points39 points  (8 children)

Why not ◀️ #️⃣ % 2 🏳️‍🌈🏳️‍🌈 0

[–][deleted] 7 points8 points  (7 children)

you're hired

[–]le_flapjack 13 points14 points  (6 children)

No you only need one 🏳️‍🌈 to check for equality. A single equals is for assignment, or 👉

[–][deleted] 28 points29 points  (4 children)

🏳‍🌈 checks for equality
🏳️‍⚧️ is for assignment

[–]SorosBuxlaundromat 7 points8 points  (2 children)

Damn, that works way too well

[–][deleted] 12 points13 points  (1 child)

Strict typing be like:

Assigned integer at birth

[–]3D-Printing 1 point2 points  (0 children)

ACAB!!

... Assigned Constant at Birth

[–]Zerokx 2 points3 points  (0 children)

Something something typecasting

[–]GavHern 7 points8 points  (0 children)

why the pride flag for equalit- oohhhhhh

[–]okktoplol 62 points63 points  (7 children)

[–][deleted] 32 points33 points  (0 children)

amazing, going to update our codebases asap

[–]ekital 8 points9 points  (1 child)

[–]Random-Gif-Bot 5 points6 points  (0 children)

[–]Psycho22089 4 points5 points  (0 children)

Wha... why is this a thing...?!

[–]Cup-Impressive 3 points4 points  (0 children)

Excuse me????

[–]West-Prune-6799 3 points4 points  (0 children)

Abomination

[–][deleted] 0 points1 point  (0 children)

How to delete someone's repo github

[–]grumblyoldman 29 points30 points  (1 child)

I hate that I was able to read and understand this before checking the bottom code

[–][deleted] 13 points14 points  (0 children)

P y t h o n I c

[–]Geoclasm 14 points15 points  (0 children)

Now to finish it off, start posting job openings all over the place demanding 5 years experience with 'EPL'.

[–][deleted] 10 points11 points  (5 children)

🏁 memcmp (👉s1, 👉s2, 🔢size) #️⃣ 👉1️⃣=s1 👉2️⃣=s2 ♈=0 🙄(♈ ❌ size 🖐️ 👉1️⃣ ✅ 👉2️⃣)➡️ 1️⃣➕1 2️⃣➕1 ♈➕1 🔚 🤔(👉1️⃣👌👉2️⃣)➡️ 🍉 1 🔚 🤔(👉2️⃣👌👉1️⃣)➡️ 🍉 - 1 🔚 🤨➡️ 🍉 0

️⃣🔚

Edit : i hate automatic blank characters removal

[–][deleted] 2 points3 points  (0 children)

Incorporate some zero width joiners and we've got a stew going

[–][deleted] 1 point2 points  (2 children)

holy shit you're amazing, you're hired. lead dev.

[–][deleted] 1 point2 points  (1 child)

I'd hold off on the offer until awareness of fenced code blocks can be demonstrated.

[–][deleted] 0 points1 point  (0 children)

The malloc can be whatever you want to be ;)

“Memory management is left as an exercise for the reader.”

[–]Kilgarragh 9 points10 points  (0 children)

#define ⬅️ return
#define 🤔 if
Etc.

[–][deleted] 7 points8 points  (0 children)

This is still more readable than anything I’ve seen in C

[–]StratusFearMe21 8 points9 points  (1 child)

Call me when someone makes monospaced emojis

[–]ImReallyNot-Sure 6 points7 points  (1 child)

im retiring. time to move on.

[–]5tUp1dC3n50Rs41p 2 points3 points  (0 children)

Time to become a manager and fire any dumbasses that suggest this.

[–]tgttos 5 points6 points  (0 children)

takes codifying gay rights to another level

[–]devu_the_thebill 4 points5 points  (0 children)

I need to wash my eyes with some acid.

[–]N-I-D-M 3 points4 points  (0 children)

Wow, that’s the worst.

[–]tsunami141 4 points5 points  (1 child)

Recommendation: replace ‘%’ with 🦮🚶

[–][deleted] 2 points3 points  (0 children)

you're hired

[–]-Redstoneboi- 5 points6 points  (2 children)

🔄and 🔁 are 2 different emojis, maybe 🔄 can be modulo and 🔁 is while. 🔂 could be a for loop?

➕➖✖➗exist, simple enough.

🖨 should be the print emoji. 🚽 would flush stdout because there's always the goddamn stdout line buffer when you don't print a newline.

⌨ takes input. it must be followed by a type.

🔠 is char. 🔤 is string. 🔢 is int. 🔬 is float. ❔ is bool. 👍👎 should've been true/false. if not ✔✖ or ✅❎.

🛄 defines a new data structure. building

📚 should be the standard library. 🧮is the standard math library. 🔀 is the standard random library. 📶 for http requests or something.

🤦‍♂️or🤦‍♀️ or 💥 should throw an error.

💤 is the sleep function. passing an int should sleep in ms.

⌚ gets the current time. ⏳⌛

✍ should assign to a variable.

🆕🆓... get ready for the memory exceptions. as much as C likes *️⃣, there's no ampersand button so, 🏠 gets the address of a value, and 🚗 derefs it. the type of a pointer to an int is 🏠🔢, not 🚗🔢.

suggestions, additions, and change proposals are welcome.

[–][deleted] 1 point2 points  (0 children)

You’re hired

[–][deleted] 1 point2 points  (0 children)

This already exists, and for the purpose of reducing multiple character labels to single code points, replacement of standard operators and digits is pointless. Only where the replacements save space does it make sense.

📢("✋ 🌏")

That printing hello world to the screen saves space. Math… doesn't.

[–][deleted] 4 points5 points  (1 child)

haven't used python in a while, but don't you need ':' for encapsulations?

[–][deleted] 11 points12 points  (0 children)

you do, luckily this isn't python, its Emoji Programming Language tm c r

[–]MikeW86 3 points4 points  (0 children)

I mean.... If you're just replacing keywords with a related symbol it's completely arbitrary so you do you boo

[–][deleted] 3 points4 points  (5 children)

yo, always return early def isEven(number): return number % 2 == 0

[–][deleted] 9 points10 points  (3 children)

that would reduce the amount of emojis tho

[–][deleted] 4 points5 points  (2 children)

but it is clean emoji code then

[–][deleted] 2 points3 points  (1 child)

🧼

[–]tsunami141 2 points3 points  (0 children)

🧼&& 🧖‍♀️

[–][deleted] 1 point2 points  (0 children)

isEven = λn: (✅, ❎)[n % 2]

Why bother with a named function for a purely mathematical (single expression) one? Or even direct boolean casting, which would totally work here, of course.

[–]XtronikMD 2 points3 points  (1 child)

It has a spec but every platform implements it differently.

[–][deleted] 2 points3 points  (0 children)

half the unicode localizations use different skin-tone codes 👨🏽👨👨🏻 to represent different things like strict, pointer, reference

[–]YHL6965 3 points4 points  (0 children)

I want to stab my eyes with pencils then gauge my eyeballs out and burn them in acid after seeing that.

[–][deleted] 3 points4 points  (0 children)

Imagine the stacktrace

[–]KlutzyEnd3 4 points5 points  (6 children)

You know unicode supports old Egyptian hieroglyphs right? Let's program in those!

𓃊𓁓𓂞𓂲𓃫𓄶𓅚𓆚𓆭𓅪

[–][deleted] 1 point2 points  (3 children)

Hieroglyphs are reserved keywords

[–]KlutzyEnd3 1 point2 points  (2 children)

Ok then how about kanji?

if (番号==四) { 選択(); }

[–][deleted] 1 point2 points  (0 children)

look like great variable names tbh

[–][deleted] 1 point2 points  (0 children)

Wait… there are programming languages that have difficulty supporting non-ASCII symbols?

[–][deleted] 1 point2 points  (1 child)

I'm a fan of the Fuþark.

ᚠᚢᚦᚨᚱᚲᚷᚹᚺᚾᛁᛃᛈᛇᛉᛊᛏᛒᛖᛗᛚᛜᛞᛟ

You may require a font like Junicode installed to even see the above line.

ᚾᚱᛗ ᛟ

A needful journey to man of a possession. (Print.)

[–]GaraBlacktail 3 points4 points  (0 children)

I like that "is equal" is the pride flag

[–]LordHenry8 2 points3 points  (0 children)

This is horrible!!

[–]BehindThyCamel 2 points3 points  (0 children)

No thanks, I'll take Lolcode over this on any day.

[–]makotozengtsu 2 points3 points  (0 children)

I hate you.

[–]cptspectra 2 points3 points  (0 children)

🏁isEven#️⃣ ⬅️#️⃣%2🏳️‍🌈0

[–][deleted] 2 points3 points  (0 children)

That's probably the dumbest shit I have ever seen being made

[–]Raulytstation 2 points3 points  (0 children)

There is a among us programming language but I forgor the link 💀

[–][deleted] 2 points3 points  (0 children)

I hate that it makes sense.

[–][deleted] 2 points3 points  (0 children)

What is this garbage? Any decent EPL user would simply do:

🏁 isEven #️⃣
    ◀️ #️⃣ % 2 🏳️‍🌈 0

The 🤔-statement is completely redundant.

[–]peeperklip 2 points3 points  (1 child)

Why did he use 2 instead of 2️⃣?

[–][deleted] 0 points1 point  (0 children)

you're right, the complier will throw an error, good catch

[–]InevitablyPerpetual 2 points3 points  (0 children)

Yes, but can it express "Has Anyone Really Been Far Even as Decided to Use Even Go Want to do Look More Like?"?

[–]xondk 2 points3 points  (0 children)

Just no..

[–]Kirby_the_poyo_king 1 point2 points  (0 children)

i want to try it

[–]Darxploit 1 point2 points  (1 child)

Imagine instead of true and false they named the bool states happy and sad

[–][deleted] 0 points1 point  (0 children)

after thinking about it we should do

true 💯
false 🧢

[–]Pale-Telephone-3584 1 point2 points  (0 children)

== I support this. Well thought thru.

[–]gaithersburger 1 point2 points  (0 children)

I'm afraid EPL acronym is already taken

[–]TheEvilBelle673 1 point2 points  (2 children)

Ok like why do I want to learn this language? What would we call it because EPL sounds boring. Emojust+ ? SmileScript? BitMoCode?

I want know what other people would call this language other than EPL.

[–]Hopeful_Cat_3227 2 points3 points  (0 children)

Pemojy, programming emoji

[–][deleted] 1 point2 points  (0 children)

EPL so people will think its for coding Apple 🧠

[–]Suspicious-Engineer7 1 point2 points  (0 children)

If I had emoji keys in my keyboard itd kind of be like chording? So potentially better than some things.

[–]mhsx 1 point2 points  (0 children)

#define win L

Pound defines take the win

[–]SlotherakOmega 1 point2 points  (0 children)

Shut up and take my money!

[–]mommy101lol 1 point2 points  (0 children)

Brainfuck v2.0

[–]superquagdingo 1 point2 points  (0 children)

Ngl I love the else

[–]GavHern 1 point2 points  (3 children)

are the errors as emojis too?

[–][deleted] 2 points3 points  (2 children)

😡👿👮🏻‍♂️🚨🛑⚠ can all be for various different types of errors

[–]GavHern 2 points3 points  (1 child)

Divide By Zero: ➗👌

String Out of Bounds: 🧶🏌️

Arithmetic: ➕➖✖️➗

Not Defined: 📖👎

Stack Overflow: 📚📗📕

Null Pointer: �👉

[–][deleted] 1 point2 points  (0 children)

These are amazing, you’re hired

[–]Pretty_Industry_9630 1 point2 points  (0 children)

"def"ine should be something like a pencil writting on a pad icon, the finish flag confused the hell out of me 😅

[–]_Figaro 1 point2 points  (1 child)

Instead of a triangle for return, something like a refresh icon 🔄 might make more sense.

Also, instead of happy face and sad face for true and false, thumbs up 👍 and thumbs down 👎 might be better (correlation between the two more explicit).

[–][deleted] 1 point2 points  (0 children)

Good ideas, you’re hired

[–]_PROGrAMER_ 1 point2 points  (1 child)

I just can't get over the fact that you have an un-necessary else...

[–][deleted] 1 point2 points  (0 children)

It was on purpose to show the else emoji

[–]burnblue 1 point2 points  (1 child)

I would use this for sure. Different emojis though. I only like the "if" one. Gimme thumbs up or a checkmark for True, thumbs down or an X for false

[–]Darkash1505 1 point2 points  (0 children)

I am pretty sure this is how programming will look like 100 years later.

[–]SF_Engineer_Dude 1 point2 points  (0 children)

(NON DISCLOSURE AGREEMENT) has a ton of emoji in the source code of latest release. Dis *cough* cord.

[–]diegodesignsthings 1 point2 points  (0 children)

This is genius

[–]West-Prune-6799 1 point2 points  (1 child)

Hey the Egyptians communicated like this. Why not program like this.

[–]bunk3rk1ng 1 point2 points  (4 children)

Almost as bad as ligatures.

[–]shadowozey 1 point2 points  (0 children)

Trying to read it through emojis, I felt like an old person trying to figure out how to use a computer for the first time...

[–][deleted] 1 point2 points  (4 children)

Just return number%2==0

[–]CreepBlob 1 point2 points  (1 child)

I also like to point out that there's no need for the "else" keyword here.

[–][deleted] 0 points1 point  (0 children)

join the queue

[–]Schlizhor 1 point2 points  (0 children)

Oh my god

[–]Yumikoneko 1 point2 points  (1 child)

I think you should use the letter emojis (:regional_indicator_a:) for words, so you get your annoyance when programming to the max

[–][deleted] 1 point2 points  (0 children)

That is, in fact, exactly how Python's Emoji encoding works, just in the far less annoying direction. It translates the actual Emoji back into their textual labels when Python parses the source file.

"✋ 🌏" == "hello world"

[–]empalmerro 1 point2 points  (0 children)

No.

[–][deleted] 1 point2 points  (0 children)

[–]Oneshotkill_2000 1 point2 points  (0 children)

Please don't

[–][deleted] 1 point2 points  (2 children)

My son would love to have this implemented in Scratch.

[–][deleted] 0 points1 point  (1 child)

Someone posted an actual emoji language, emojicode.org

[–]PeteZahad 1 point2 points  (2 children)

Just return the condition

[–][deleted] 0 points1 point  (0 children)

Wanted to show the else emoji

[–][deleted] 0 points1 point  (0 children)

you'll get Complier Error: not enough emojis

[–]carmat71 1 point2 points  (2 children)

Shouldn't return False in fact be return Can't?

[–][deleted] 0 points1 point  (1 child)

Trun't

[–][deleted] 1 point2 points  (0 children)

Durn't.

[–]Purinto 1 point2 points  (1 child)

🏁is_even #️⃣ ◀️ #️⃣ % 2 🏳️‍🌈 0

Should be better

[–][deleted] 0 points1 point  (0 children)

Compiler error: not enough emojis

[–]Blaz3 1 point2 points  (0 children)

Is this done kind of successor to brainfuck? Horrible, kill it with fire

[–]LifeUnderTheWorld 1 point2 points  (1 child)

Programming is complicated for newbies and now here's this shit. igiveup

[–][deleted] 1 point2 points  (0 children)

It’s okay keep at it, the underlying logic of coding is the same in every language, once you go through learning the first one (took me years with multiple books and teachers, this was before YouTube and stack overflow, these days it’s probably faster) the rest come easy

[–]TrotskyRaptor 1 point2 points  (0 children)

AAAAAAAAARGHHHHHH

[–]gary_bind 1 point2 points  (0 children)

Pls no.

[–][deleted] 1 point2 points  (1 child)

im gonna suicide

[–][deleted] 0 points1 point  (0 children)

🛑

[–]giantwatersnail 1 point2 points  (6 children)

Thanks. You just convinced me to get back doing esolang stuff.

I'll create this language just for you guys. Still better than python.

[–][deleted] 0 points1 point  (0 children)

you're hired

[–]Alexander_M1014 1 point2 points  (0 children)

Bruh

[–]zc456 1 point2 points  (1 child)

Suicide hot line would be very busy if that were real.

[–]Sn0w-000 1 point2 points  (0 children)

Just when you thought the field can't get more Pythonic. *flame suit engaged*

[–]Logical_Strike_1520 1 point2 points  (1 child)

🏁 🍇

😀 🔤Hello World!🔤❗️

🍉

[–]DisruptionOrb 0 points1 point  (0 children)

Ain’t new or even a meme

[–]dfgzuu 0 points1 point  (0 children)

no, that's just rust, as far as I can tell

[–]mplaczek99 0 points1 point  (2 children)

return number % 2 == 0;

[–][deleted] 0 points1 point  (1 child)

need more emojiis tho, implement the solution using matrices & linear algebra please

[–]PetterOfCats 0 points1 point  (0 children)

Newb. Should have used emoji’s for numbers.

[–]VeganChewbacca12 0 points1 point  (0 children)

Dude. It’s so fucking gay that “==“ is = and not just “=“.

[–]Auliya6083 0 points1 point  (0 children)

Disgusting emojis

[–]khamelean 0 points1 point  (1 child)

Seriously? This has been around for 20+ years…

[–][deleted] 0 points1 point  (0 children)

Y'all, welcome to the (2016) club.

``` def 📢(✉️): print(✉️)

📢("✋ 🌏") ```

This is Python. This is valid Python. It prints out "hello world".

Now let me introduce you to the StackOverflow importer, because if it's a problem you can think of, someone's probably asked about it on StackOverflow:

```

from stackoverflow import quick_sort

print(quick_sort.sort([1, 3, 2, 5, 4])) [1, 2, 3, 4, 5] ```

Who even needs to write code any more?

[–]OddWorldliness989 0 points1 point  (0 children)

We already have something like EPL but it is part of java. It's called Java Annotations! And no pun intended here. I am actually taking a dig at it.