Skip to content
DevMeme
3589 of 7435
The Chad Korean Scripter vs. The Virgin JavaScript Fan
Languages Post #3926, on Nov 13, 2021 in TG

The Chad Korean Scripter vs. The Virgin JavaScript Fan

Why is this Languages meme funny?

Level 1: Same Idea, Different Language

Imagine you have two friends who both love doing magic tricks. One friend learned all the magic words and steps in English, saying “Abracadabra!” as usual. The other friend does the exact same tricks, but says all the magic words in Korean – maybe shouting “수리수리 마수리!” instead of "Abracadabra!" They’re both doing magic, making a coin disappear, but one is using the common language everyone expects, and the other is using a completely different language just because they enjoy it that way. It’s pretty surprising and funny to watch the second friend – you recognize the tricks, but suddenly everything sounds foreign and exotic.

This meme is like that. On the left side, a developer is writing code in the normal way that almost everyone does (in English, with words like “if” and “else”). On the right side, the developer is doing the same kind of coding, but in Korean words and letters. The left side is the everyday normal style – nothing unusual. The right side is the same logic (like calculating a famous sequence of numbers, called Fibonacci, and showing it) but written with Korean words, which is very uncommon. It’s like seeing a familiar story you know, but told in another language – the story doesn’t change, but it feels totally different.

The reason it’s funny is that coding is usually like a language of its own, and we almost always see it in English. Seeing it in Korean is unexpected, a bit like seeing someone play a popular song using instruments from a faraway country – it’s the same tune, but the sound is very different. In the meme, the “average fan” on the left is just a regular person doing things the usual way, and the “enjoyer” on the right is like someone who’s proudly doing it in their own unique style. It makes us smile because it shows how you can do the same thing (write computer instructions) in a completely different language and still make it work, even though it looks funny to our eyes. In simple terms: both sides want to tell the computer the same idea, but one speaks English to the computer and the other speaks Korean to the computer. It’s the contrast of the ordinary vs. the unexpected that makes it amusing and cool to see.

Level 2: English vs Hangul Showdown

Okay, let’s break down what’s happening here in simpler terms. This meme is comparing coding in English to coding in Korean (Hangul script) in a very visual way. In programming, syntax means the set of rules and keywords we use to write code. Almost all popular programming languages use English-based keywords. For example, in JavaScript (a very common language for web development), you write things like var to declare a variable, if to make a decision, else for the alternative, and so on. Even functions and classes we use often have English names (Date, window.alert, etc.). This is because the creators of these languages chose English words so that programmers around the world have one common set of terms. It’s like how airline pilots worldwide communicate in English – it standardizes things.

In the meme’s left panel, labeled “Average English based language fan,” we see a screenshot of code that looks very normal to any programmer:

  • It’s using JavaScript (we can tell by the syntax like var now = new Date(); which is how you get the current date/time in JS).
  • There are multiple if statements. For example, one likely checks if (hours == 12) ampm = 'PM'; else ampm = 'AM'; (since there’s mention of ampm and comparing hours, it’s probably converting 24-hour time to 12-hour format with AM/PM).
  • It also does things like adding a "0" in front of single-digit minutes or seconds (common when formatting time as 08:05:09 instead of 8:5:9). We see code like if (minutes < 10) minutes = "0" + minutes; and similar for seconds.
  • Basically, it’s a typical script someone might write when learning to make a digital clock on a web page. Nothing unusual – and all the keywords (var, if, else) and even the function names (getHours(), getMinutes(), etc.) are English. This is the default, everyday coding scenario, hence “average ... fan”. The word fan here is just part of the meme format – it implies someone who uses English-based languages because that’s the norm (not necessarily because they’re a “fan” like in sports, but meme language paints them that way).

Now, the right panel is where it gets interesting. It’s labeled “Average 약속 enjoyer.” 약속 is a Korean word that literally means “promise,” but here it’s apparently the name of a programming experiment or language where all the code is written using Korean words/syntax. An enjoyer in meme terms is someone who truly appreciates something with a calm, superior vibe. So calling this person an “Average 약속 enjoyer” humorously suggests there’s a group of programmers out there who prefer coding in Korean and revel in it. The image on the right indeed shows code in an editor, but everything is in Hangul (the Korean alphabet). Let’s decipher a few parts:

  • The file is titled “피보나치,” which is just "Fibonacci" written in Korean characters. Fibonacci refers to the Fibonacci sequence, a famous sequence of numbers, and a common example for recursive functions in programming. So it suggests this code is computing Fibonacci numbers.
  • We see 만약 and 아니면 in the code. These translate to "if" and "else." So instead of the English if (condition) { ... } else { ... }, this code uses Korean words but likely in a similar structure. For example:
    만약 (숫자 < 2) ... would mean if (number < 2) ..., and then 아니면 ... means else .... The structure looks very much like an if-else for the Fibonacci base case: if the number is less than 2, maybe return 1 (as Fibonacci of 0 or 1 is often defined as 1). Otherwise, else, do the recursive sum of previous two Fibonacci numbers.
  • The symbols like := and => might be part of this custom syntax. They’re not standard in JavaScript, but the presence of them hints this is a made-up language (or a superset of JS) where assignment is done with := and perhaps => is used for mapping a condition to a result (similar to arrow functions or case expressions).
  • There’s 보여주기 which means "show it" or "display." It looks like that’s being used to output the result. Possibly 보여주기(...) is this language’s way to pop up the result (maybe it calls alert() internally). Indeed, one line in green says window.alert(입력); which mixes English and Korean: window.alert is the normal JavaScript alert function, and “입력” means “input.” That suggests that maybe the keyword 보여주기(입력) is essentially a custom thing that triggers window.alert(input) behind the scenes. So 보여주기 is acting like a print or alert command in Korean.

So, essentially the right side is the same kind of program as the left (getting or computing some numbers and showing them) but written in a hypothetical programming language entirely in Korean. This is super unusual! In real life, almost nobody codes with completely non-English keywords, because all mainstream languages are in English. There have been some attempts at creating localized programming languages (for example, there was an educational programming tool that allowed using Chinese keywords, and I’ve heard of something similar in Arabic, and here Korean). But these are niche and not widely used, mostly because it’s hard to share or collaborate globally if everyone’s using different vocabularies in code. Still, it’s a fun idea and a point of pride/curiosity: "What if I could write code in my own language?"

The meme is funny not just for the code, but because it uses a popular meme template format: “Average X fan vs. Average Y enjoyer.” In meme culture, this format jokes about contrasts. The “Average ... fan” is usually portrayed as someone kind of ordinary or sometimes overly excited in a trivial way, whereas the “Average ... enjoyer” is shown as sophisticated, content, often with a calm or smug expression (there’s a common image of a refined looking guy with a beard as the enjoyer – looks like they might have used something like that faintly in the right panel). It’s an ironic way to say: "You might like X, but this guy enjoys Y on a whole other level." Here, X is “English-based language” (basically programming in the normal way) and Y is “약속” (programming in fully Korean syntax). So the joke is implying that coding with English keywords is for the average folks, while the truly enlightened programmer enjoys writing code with Korean keywords. It’s satire – nobody actually thinks one is objectively superior in practice, but the humor comes from treating the bizarre option (Korean code) as if it’s this refined taste.

For a junior developer or someone new to coding, the meme also highlights a real aspect: English is everywhere in coding. If English isn’t your first language, you kind of have to learn a bunch of English words (or at least command words) to code. This meme exaggerates the opposite scenario – imagine if you had to learn Korean to code! It looks daunting and strange, right? Conversely, for a Korean developer, seeing their own language as the code keywords is both amusing and maybe oddly satisfying, because it’s so uncommon. The tags like LanguageComparison and LanguageQuirks are pointing out that this is about comparing language (as in programming language syntax) and an example of a quirky thing you could do with it. Internationalization in this context is about adapting software to different human languages – usually we mean translating the UI, but here it’s like they “translated” the coding language itself.

So to summarize at this level: The left side is just normal JavaScript code (English-based, common style – the stuff you’d learn in a beginner class or tutorial). The right side is code doing a similar thing (calculating Fibonacci numbers and showing the result) but with everything in Hangul (the Korean alphabet) and Korean words. The meme contrasts an “average fan” of the usual way, versus an “enjoyer” of the unique way. It’s funny because it’s absurd yet technically conceivable. It’s like a light-hearted “language war” where the battle isn’t between two programming languages, but between the language of the keywords themselves (English vs Korean). And even if you don’t know Korean, you can guess from context and the structure that the right side is a parallel to normal code – which makes it click: oh, they really wrote an if/else and everything in Korean – that’s wild! It’s a programmer inside-joke about how code might look in another natural language, presented in a meme-fied way.

Level 3: Lost in Localization

This meme gets a knowing grin from experienced developers because it exaggerates a real quirk of our industry: almost all programming syntax is in English, no matter who’s coding or where. On the left, we have a JavaScript snippet – dark theme, syntax highlighting – with the usual suspects: var now = new Date(); and a bunch of if/else logic to format hours, minutes, and seconds. It’s labeled the “Average English based language fan.” This is the default programmer world we all live in – keywords like var, if, else, function, even common library names (like Date, window.alert) are in English. Most devs across the globe, whether in San Francisco or Seoul, code with these English terms. It’s so standard we hardly question it – until someone does something wild, like the right panel.

On the right, titled “Average 약속 enjoyer,” we see what looks like a completely localized Korean coding environment. The IDE tab says “약속 소스코드 피보나치,” which translates to "Yaksok Source Code – Fibonacci." 약속 (pronounced yak-sok) means “promise” in Korean – likely the name of this experimental language or framework. The code is a full Fibonacci function written with Korean keywords and identifiers. Instead of the familiar function fibonacci(n) { ... } we see things like:

  • 약(숫자)의 피보나치 – this appears to declare a function for Fibonacci of a number. It’s using Hangul (the Korean alphabet) for everything: “숫자” means number, and “피보나치” is just Fibonacci spelled out in Hangul. The syntax 약(...의 ...) is non-standard in mainstream languages, so it hints at a custom definition. Possibly, it’s this language’s way to define a function or a promise contract (약속 might imply a "promise" or function contract here). It’s dramatically different from writing function fib(n) – and that’s the joke, it’s localized syntax to the extreme.
  • The code uses 만약 and 아니면 – which mean “if” and “if not”/“otherwise” (basically else) in Korean. So instead of if (condition) { ... } else { ... }, it’s using Korean words in a very human-readable way for Korean speakers. For example, one line likely reads something equivalent to 만약 숫자 == 0 아니면 숫자 == 1 => ... which would mean if number == 0 or number == 1 then .... And 아니면 => would correspond to else =>. Seeing an => suggests a syntax for arrow or mapping to expressions (maybe like a shorthand for returning something).
  • Later, 결과 := ((숫자-1)의 피보나치) + ((숫자-2)의 피보나치) is calculating the result: it’s adding Fibonacci of (number-1) and Fibonacci of (number-2). The use of := as an assignment (like “결과 becomes ...”) is interesting – it reminds us of older languages (Pascal used :=) or some pseudo-code conventions, but here it might just be a choice to avoid confusion with =. 결과 means result. So even the variable assignment uses a symbol that’s not typically seen in JavaScript, further emphasizing this is a totally different syntax style.
  • Finally, (10의 피보나치) 보여주기 at the bottom likely calls the Fibonacci function and then “보여주기” means “show it”, akin to printing or alerting it. Indeed, earlier in the code we see window.alert(입력); (with “입력” meaning input), and comments like # 약(자바스크립트)(입력) 보여주기. It seems this environment can interface with JavaScript’s alert for output, but wraps it in a Korean semantic (보여주기 might be a built-in that internally calls window.alert). In short, the right side is doing the same job as a normal Fibonacci alert program, but with entirely Korean-language structure.

Why is this funny to seasoned devs? Because it flips the script – literally. We’re so used to English-based syntax that seeing code in Hangul triggers a double-take. It’s both amusing and oddly impressive. The meme format “Average X fan vs Average Y enjoyer” usually contrasts someone who sticks with the popular, vanilla choice (the “fan”) against someone who revels in a niche or highbrow alternative (the “enjoyer”). Here, the average fan on the left likes the typical English-centric programming languages (like basically every mainstream language: JavaScript, Python, C++, you name it, they all use English keywords). On the right, the “enjoyer” has this enlightened, transcendent aura – he’s coding in 약속, fully immersed in a Korean-localized programming experience and presumably loving it. It satirizes the idea of being a connoisseur of something as esoteric as a non-English programming syntax. It’s like saying, “Sure, you could just use JavaScript like everyone else… but are you truly enjoying coding if you haven’t tried writing your if statements in Hangul?” 😄

There’s some genuine commentary under the humor. Developers from non-English-speaking countries often face a steep learning curve because all the core terminology is in a foreign language (English). There’s a bit of national or linguistic pride in imagining a language like JavaScript entirely in Korean – it’s empowering (no need to think in English keywords) and also a tad absurd (since almost all documentation, libraries, and community Q&A are English-based). Internationalization of software usually means translating the user interface or messages, but here we’re joking about internationalizing the programming language itself. In reality, a fully localized programming language is rare – it would isolate you from the broader dev ecosystem. (Who else can read your code if it’s written in, say, pure Korean syntax? Code reviews would require bilingual programmers or translation!)

So experienced devs see both the LanguageQuirks and the impracticality. It’s a LanguageComparison taken to an extreme and a gentle poke at LanguageWars: instead of arguing Python vs Java, we’re playfully “arguing” English vs Korean for writing code. The left code even looks a bit clunky and outdated (using a '<'IMG SRC=images/colon.gif'>' for a colon image – very 90s web style), which might imply the "average fan" is stuck in old-school ways, whereas the right side has a sleek modern editor with a custom language – the “enjoyer” leveling up their game. It’s the aesthetic contrast too: the left screenshot is fuzzy, low-quality (typical for meme portrayal of the "average fan"), and the right is crisp, dark mode, with colorful Hangul keywords, projecting that smug superior vibe of the enjoyer.

Ultimately, devs who see this might recall real instances of localized coding experiments. Perhaps they’ve heard of someone making a Korean programming language as a fun project (indeed, the meme references one). They know that under the hood, code is code – whether you write if or 만약, the logic is the same. But the sheer novelty of seeing familiar logic in an unfamiliar form is hilarious. It’s the same feeling as seeing someone re-skin a popular video game in a different culture’s aesthetic. And of course, the meme is part of TechHumor and MemeCulture, using a trending meme format to convey a nerdy joke. The phrase “Average X fan vs Average Y enjoyer” itself was a viral template: fans are depicted as boorish or low-res, while enjoyers are depicted as sophisticated (often with that image of a refined, bearded man). So applying it to programming languages, with English vs “약속,” is inherently tongue-in-cheek. Seasoned programmers chuckle because they get the double reference: it’s simultaneously parodying meme culture and poking fun at the dominance of English in coding.

To ground this in a real scenario: imagine walking into a code review where one developer has submitted a module entirely written with Korean keywords. The team’s reaction would likely be a mix of astonishment, confusion, and amused respect for the commitment to the bit. “It’s technically JavaScript... but we literally can’t read it without a translation key!” It underscores why we stick to one lingua franca in code. Yet, there’s also a secret admiration – like, what if our own native language’s words could be used to code? It’s a fun thought experiment. And some senior devs have indeed thought about it or encountered whimsical esoteric languages (Chef uses recipes, LOLCODE uses meme-speak English, etc.). 약속 is in the same vein: a quirky, culturally-specific remix of JavaScript. The meme brilliantly captures that contrast between the mundane reality (everyone uses English-based languages, yawn) and the exuberant fantasy (why not code in pure Korean and be a true enjoyer!).

For a quick visual takeaway, here’s how the same logic might look in standard JavaScript vs this hypothetical Korean-syntax style:

// Standard JavaScript (English keywords)
function fibonacci(n) {
    if (n < 2) {
        return 1;
    } else {
        return fibonacci(n - 1) + fibonacci(n - 2);
    }
}
alert( fibonacci(10) );

// Hypothetical "약속" style pseudocode (Korean keywords)
// (Note: This is for illustration; not actual JavaScript syntax)
//
// 약속 피보나치(숫자):  
//     만약 (숫자 < 2) 이면 {  
//         결과 := 1  
//     }  
//     아니면 {  
//         결과 := (숫자-1의 피보나치) + (숫자-2의 피보나치)  
//     }  
// 끝약속  
// 보여주기( 10의 피보나치 )
//
// (Above, Korean terms: "만약 ... 이면" = if ... then, "아니면" = else, 
// "결과 :=" = result =, "보여주기" = show/print output, and even "약속 ... 끝약속" 
// as a fictional way to start/end a function block. It's JavaScript logic with a Korean twist!)

Reading the second part feels wild, right? That’s exactly the feeling this meme capitalizes on. Seasoned devs find it funny because it simultaneously makes sense (it’s logically valid steps to get Fibonacci and alert it) and feels nonsensical (why complicate things with an entirely different keyword set?). It’s a celebration of LanguageQuirks taken to the max. And who knows – maybe a few devs see this meme and get inspired to try writing a simple function with localized keywords in their own language, just for laughs. (It’s possible! Languages like Python will let you use def 계산(값): for a function name or variable names like 번호 for “number”, although you can’t change if and else without modifying the interpreter.)

In summary, level 3 unpacks the inside joke: English-centric syntax is so ingrained that someone fanboying for it is basically every developer by default, whereas the enjoyer is the rare nerd who not only imagines but actually enjoys coding in a fully localized, non-English syntax. It’s funny because it’s a mix of impractical genius and tongue-in-cheek cultural pride – a perfect geeky meme cocktail.

Level 4: Tower of Babel 2.0

At the deepest level, this meme hints at the fundamental design of programming languages and the role of human language in code. Programming languages are defined by formal grammars – essentially a set of rules (often written in Backus-Naur Form, or BNF) that tell a compiler or interpreter how to understand sequences of characters. Historically, these grammars have been built around ASCII and English keywords (if, else, function, etc.) because early computing was dominated by English-speaking designers and ASCII text encoding. To create a fully Korean-syntax language like 약속, one must redefine that grammar using Hangul characters and Korean words as tokens. This is no trivial feat: the lexer (text scanner) and parser of a typical language expect certain reserved words and symbols. Replacing them with Korean equivalents (e.g. using 만약 in place of if, or 아니면 for else) means essentially building a new compiler or a translation layer that maps those Korean keywords to the underlying logic (perhaps translating to JavaScript or another engine under the hood).

This raises fascinating questions in language design and internationalization (i18n). In theory, nothing about computation is inherently tied to English – a Turing machine doesn’t care if the instruction is called "IF" or "如果" or "만약" – it’s all just symbols that could be mapped to the same operations. In practice, though, global coding standards have converged on English-based syntax for consistency. We could imagine a "Tower of Babel" scenario for programming: each natural language having its own complete programming syntax. But just as the biblical Babel led to confusion, a world where every coder writes in their native tongue would fragment the developer community and codebases. A compiler could be made to accept multiple synonyms for keywords (some languages and frameworks have flirted with this idea for teaching purposes), but maintaining and debugging code across language barriers would be extremely complex. Even encoding was a barrier until recent decades – early compilers couldn’t even handle non-Latin characters reliably. The emergence of Unicode and efforts like allowing Unicode identifiers in languages (for example, Python 3 allows variable names in languages like Korean or Chinese) have opened the door to more multilingual code, but keywords remain largely English. The meme’s fully Hangul code block, featuring 약속 syntax, is like a proof-of-concept: it shows that from a theoretical computer science standpoint, there’s nothing stopping us from redefining a programming language’s lexicon. It’s a playful jab at how arbitrary the choice of English is – reminding senior devs of academic ponderings like "Could we have had programming languages in our native tongue?" and the answer that, yes, we could, but the cost would be a maintenance nightmare and lost interoperability. In short, the meme tickles our brain’s programming language nerve: it’s a mini language war (LanguageWars) scenario, not between Python and Java, but between human languages as the basis for coding syntax – a concept both intriguing in theory and chaotic in practice.

Description

This meme uses the 'Average Fan vs. Average Enjoyer' two-panel format. On the left, under the text 'Average English based language fan', is a screenshot of verbose JavaScript code for a digital clock, superimposed over the unimpressed 'fan' character. On the right, under 'Average 약속 enjoyer' (Yaksok enjoyer), is a screenshot of code implementing a Fibonacci sequence in the Korean-based programming language 'Yaksok', superimposed over the stoic, muscular 'GigaChad' enjoyer character. The joke contrasts the ubiquitous, practical JavaScript with a niche, non-English-based educational language, ironically presenting the latter as the superior choice. For senior developers, it's a satirical commentary on programming language elitism and the English-dominated monoculture of software development, finding humor in the absurdity of glorifying such an obscure language

Comments

17
Anonymous ★ Top Pick Sure, your JavaScript has a million frameworks, but my Yaksok code is so exclusive the only dependency issue I have is finding a keyboard with Hangul
  1. Anonymous ★ Top Pick

    Sure, your JavaScript has a million frameworks, but my Yaksok code is so exclusive the only dependency issue I have is finding a keyboard with Hangul

  2. Anonymous

    Architectural lesson: localizing keywords feels progressive right up until 3 a.m. pager duty, when you realise the runbook says “grep -i fibonacci” and the logs are screaming “피보나치 실패”

  3. Anonymous

    After 20 years of arguing about tabs vs spaces and semicolons, we finally discovered the real controversy: whether your compiler should require a TOPIK Level 6 certification just to parse your variable names

  4. Anonymous

    Ah yes, the eternal debate: should we internationalize our programming languages or just accept that 'var' is the lingua franca of variable declaration? While the left side struggles with JavaScript's Date() API quirks and AM/PM formatting logic, the right side has achieved enlightenment by writing conditionals in Hangul - proving that no matter the language, we're all just checking if (hours >= 12) in our own special way. Though I suspect the real 'average enjoyer' energy comes from never having to explain to a junior dev why 'var' is deprecated in favor of 'let' and 'const' - in Korean, you just get to invent new keywords entirely

  5. Anonymous

    English team: polyfills a full Intl.RelativeTimeFormat polyfill. Korean dev: window.alert('방금') - prod-ready i18n in one line

  6. Anonymous

    We internationalized UI strings years ago; ship one 피보나치() and every linter, grep-based runbook, and camelCase rule proves the stack never learned UTF‑8 - while 약속 keeps resolving to Promise

  7. Anonymous

    Non-English keywords are fine; the real fun is Git diffing NFC vs NFD while management thinks ‘약속’ is our SLA - only one of those promises ever resolves

  8. @saidov 4y

    What does Yaksok mean?

    1. @daniilfurgen 4y

      Google says it is Promise

  9. @NiKryukov 4y

    squid game dev idk

  10. @igordata 4y

    I see if, else if, else

  11. @Roman_Millen 4y

    That's one very weird looking switch-case.

  12. @sylfn 4y

    some kumir/1c shitcode, doesn't need a translation, only explanation; I can't understand what this code is doing

    1. @Agent1378 4y

      Don't ask me, I have just googled for 1C code 🙂

      1. @sylfn 4y

        so its reasonable to assume this code does nothing needed

        1. @Agent1378 4y

          Probably

    2. @slnt_opp 4y

      Checks access by checking wether invoice paid

Use J and K for navigation