A language only feels official once JetBrains releases a dedicated IDE for it
Why is this IDEs Editors meme funny?
Level 1: Action Figure Status
Imagine you and your friends invented a cool new game on the playground. At first, only a few of you know how to play, and you just use whatever toys or tools you have lying around to make it work. Now, think about what it would mean if a big toy company noticed how popular your game was becoming and decided to create a special official toy set just for it. Suddenly, the game feels more real and important, right? You can tell it’s not just a small-time thing anymore — it’s a hit! In kid terms, it’s like how a superhero or cartoon character doesn’t feel like a big deal until you start seeing their action figures in stores and their face on lunchboxes. That’s when you know they’ve made it.
This meme is saying the same thing, but for programming languages and the tools programmers use. JetBrains is like the famous toy company in our story, and an IDE (Integrated Development Environment) is like the special toy set for a game. When a new programming language comes out, at first maybe only a few programmers use it and they might just use simple text editors to write code in it. It’s like the early phase of our playground game. But if that programming language becomes really popular — so popular that a big company like JetBrains notices — then JetBrains might create a special program (an IDE) just for that language to help people write code in it more easily. That’s the equivalent of the big toy company making an official kit for your game.
So the meme joke goes: a programming language “hasn’t arrived” (meaning it’s not seen as truly officially popular) until JetBrains makes an IDE for it. It’s a funny way to say “we know this language is really a success when even the big tool-makers are supporting it.” Emotionally, it’s the pride and validation you feel when something you like gets recognized by the big players. If you’re a fan of a new language, hearing that JetBrains is building an IDE for it is like your favorite indie game getting picked up by a big publisher, or your favorite small band getting a record deal. It just feels like, “Wow, now everyone knows this thing is awesome — it’s not just us enthusiasts anymore!” And that feeling is both satisfying and a little humorous, because it shouldn’t be the only way to measure success, but in our hearts we often wait for that kind of sign.
In plain terms: the meme is joking that a programming language becomes “officiallycool” in the eyes of developers when a top-tier company like JetBrains cares enough to make professional tools for it. It’s the programming world’s version of “Now you’re famous!”
Level 2: Tools Make It Real
Let’s break this down in simpler terms. JetBrains is a company famous among programmers for making IDEs — Integrated Development Environments — which are powerful applications for writing code. An IDE is like a programmer’s workshop: it’s a single program that combines a code editor, a debugger, build and run tools, and other handy features all in one place. For example, JetBrains makes IntelliJ IDEA (very popular for Java), PyCharm (for Python), WebStorm (for JavaScript and web development), GoLand (for Go programming), and many more. Each of these IDEs is “dedicated” to a certain language or set of languages. They’re beloved because they do a lot of the heavy lifting for you as a developer.
Think of using a basic text editor versus using an IDE. In a simple text editor (like Notepad or VS Code without extensions), when you write code you might just get plain text or maybe simple syntax highlighting (colorful keywords). But a rich IDE like the JetBrains ones gives you auto-completion of code (it suggests completions for a function name or variable as you type), it flags errors or typos in your code on the fly (so you don’t have to run the program to catch many mistakes), and it often has one-click tools to do things like debugging (stepping through your code line by line to see what’s happening) or refactoring (automatically renaming a variable everywhere it’s used, for instance). This collection of helpful features is what we call good Developer Experience (DX) — it means the tools make the developer’s life easier. For someone new to a language, a good IDE can be like having a smart co-pilot pointing out issues and handling boilerplate tasks.
Now, the meme says: “A programming language hasn’t arrived until JetBrains makes an IDE for it.” In everyday terms, that’s joking that a programming language isn’t considered truly popular or established until the JetBrains company creates an IDE tailored for it. Why would that be a measure of success? Well, it’s partly a joke about how we measure language popularity in the developer community. There are many programming languages out there, but not all of them have a huge following. Language adoption is the process of more and more people starting to use a language in projects, companies, and so on. When a language is adopted widely, an ecosystem grows around it: people write libraries for it, books are published, online forums answer questions about it, and importantly, tool makers create tools to support it. JetBrains is one of the most respected tool makers. If they decide to put effort into building an IDE (which is a pretty large project) for a language, it’s a sign that the language has a lot of users and is probably here to stay for a while. They wouldn’t do all that work if only a tiny handful of people cared about that language.
For example, consider Go (also called Golang). Go was introduced by Google and gained popularity because of its simplicity and performance for certain tasks. Initially, when Go was new (around 2009-2012), developers used basic text editors or simple plugins to write Go code. There wasn’t a full IDE solely for Go at first. As Go’s popularity grew (lots of startups and big companies began writing servers in Go), JetBrains eventually created GoLand, an IDE just for Go. That was like a stamp of approval: okay, Go has a big enough community now. Another example: Python existed for many years, but as it surged in usage in the late 2000s (thanks to web frameworks like Django and uses in science), JetBrains released PyCharm in 2010. PyCharm quickly became one of the go-to tools for Python developers because it made coding in Python more convenient (with features like quick fixes for code and easy navigation through modules).
Here’s a quick rundown of some JetBrains IDEs and the languages they serve (showing the pattern that popular languages tend to get one):
- IntelliJ IDEA – for Java and many other languages via plugins (JetBrains’s first big IDE).
- PyCharm – for Python.
- WebStorm – for JavaScript, HTML/CSS (front-end web development).
- RubyMine – for Ruby (popular for Ruby on Rails web apps).
- PhpStorm – for PHP (which powers a lot of websites).
- CLion – for C and C++ (systems programming languages with a long history).
- GoLand – for Go (a newer systems/backend language).
- Rider – for C# and .NET (an alternative to Microsoft’s Visual Studio).
- AppCode – for Objective-C/Swift (iOS and macOS development, an alternative to Apple’s Xcode).
You can see the pattern: as soon as a language becomes widely used enough that lots of developers might want specialized help, JetBrains either makes a dedicated IDE or at least a JetBrains plugin for it. (A plugin is like an add-on to one of their existing IDEs, adding support for a new language — for example, there’s a JetBrains plugin for Rust inside CLion or IntelliJ IDEA).
So the joke in the meme is a lighthearted way of saying “This language is not really considered big until it has fancy professional tools.” It reflects how developers often think. We might try out a new programming language when it’s in its early stages, but we really start taking it seriously when our favorite professional tools support it. It’s similar to how you know a smartphone is popular when lots of accessories are made for it. Here, an IDE is like an accessory (albeit a very significant one) for a language.
From a junior developer’s perspective, you might relate if you’ve ever picked up a new language and found yourself asking: “Which IDE or editor should I use for this?” If the answer is “just use a simple text editor and the command line,” it might feel a bit inconvenient compared to the nice auto-complete and debugging you’re used to in, say, Visual Studio or IntelliJ. When there is a dedicated IDE (like if you learn Java and use IntelliJ, or learn Python with PyCharm), you probably noticed you can learn and work faster because the tool gives you hints and catches mistakes. So the meme is basically poking fun at this reality — we often subconsciously judge a technology by the quality of the tools around it. LanguagePopularity and DevExperience go hand in hand: a popular language usually has a good dev experience because people invest in making great tools for it, and having great tools can further increase the language’s popularity because it’s nicer for newcomers and professionals to use.
In summary, the meme’s statement isn’t a literal rule, but it humorously captures a real feeling in developer culture. Getting a JetBrains IDE is like a language’s debut on the “big stage” of programming. It’s when a language graduates from being the new kid on the block to being part of the establishment. And for developers, it means “Yay! Now I can use this language with the same comfort and efficiency I have with others — it’s officially hassle-free (or at least, less of a hassle) to work with.”
Level 3: JetBrains Seal of Approval
On an industry level, this meme elicits knowing chuckles from experienced developers because it satirizes a real pattern in the programming world. The humorous claim is that a programming language has truly “arrived” — meaning gained mainstream adoption and legitimacy — only once JetBrains, famous for its top-tier IDEs and Text Editors, releases a dedicated environment for it. In other words, the ultimate language maturity signal is getting that JetBrains seal of approval in the form of a polished IDE. Why JetBrains? Because for many devs, JetBrains IDEs are the gold standard of developer tools. They’re robust, feature-rich, and aimed at professional development. So if JetBrains deems it worthwhile to build, say, a specialized IDE for language X, it implies that language X has a large and serious enough user base (and future) to justify the investment.
This speaks to an ide_support_threshold in the community: once a language crosses a threshold of popularity and stability, a full ecosystem of tools pops up around it — culminating in dedicated IDE support. It’s a bit of a chicken-and-egg of developer tool ecosystems. Often, developers won’t fully embrace a new language until good tools (IDEs, debuggers, libraries) exist; but tool vendors wait until the language is embraced enough. JetBrains jumping in is basically declaring, “Alright, this language is for real; time to give it professional-grade tools.” That’s the joke’s core – JetBrains making an IDE is treated like an official coronation for the language.
For seasoned engineers, there’s a subtext of truth that makes it funny. Think about the timeline of various programming languages and when JetBrains introduced support:
- Java was JetBrains’ first love (IntelliJ IDEA was one of the earliest Java IDEs in 2001), and Java’s dominance in enterprise was unquestionable.
- Python grew explosively in the late 2000s, and by 2010 JetBrains released PyCharm. That felt like a graduation moment for Python from scripting language to primary tool for serious projects, especially in data science and web dev.
- JavaScript historically was handled with text editors or simpler tools, but as JS applications got more complex, JetBrains gave us WebStorm for front-end and Node.js dev. When WebStorm arrived, it signaled JavaScript had moved from “toy scripts” to a full-fledged application language deserving its own powerful environment (with autocompletion for those crazy long
document.querySelectorcalls and real debugging). - Go (Golang) is another great example: early Go programmers used basic editors or vim/emacs with plugins. The language was gaining steam in startups and big companies alike around mid-2010s, and many folks joked “I’ll believe Go is enterprise-ready when JetBrains supports it.” Sure enough, JetBrains released GoLand in 2017. That felt like Go had been knighted. Suddenly Go had the luxury of one-click refactors, on-the-fly error detection, and all the niceties Java devs had enjoyed for years.
- Meanwhile, some languages haven’t gotten a dedicated JetBrains IDE (at least as of 2020). For instance, Rust developers have a high-quality JetBrains plugin (maintained with JetBrains’s help), but no separate “RustStorm” product yet – perhaps because Rust, while extremely popular among systems programmers, was still emerging in industry use at the time. The meme playfully implies that until there’s a full JetBrains IDE, Rust hasn’t “officially” made it. Rust fans might retort that they’re doing just fine with the community plugin and VS Code, but the jest is that true glory is JetBrains anointing you with a splashy IDE launch.
This comedic metric for success is also a commentary on Developer Experience (DX) being central to language adoption. A language could be powerful and elegant, but if writing code in it feels like chiseling stone with primitive tools, mainstream developers hesitate to adopt it. When a JetBrains IDE arrives, it usually brings superb developer ergonomics: intelligent code completion that feels like the IDE is reading your mind, reliable debugging at the click of a button, automated refactoring that can rename a function across a whole codebase in seconds, and deep integration with version control (git right in the IDE). It’s an enabler — letting developers focus on logic rather than fighting with the editor. So the meme pokes fun at our reliance on good tooling: we collectively treat JetBrains’s involvement as the moment a language is no longer “just hype” but something you can comfortably use on a big project with a big team.
There’s a shared experience hiding in this joke. Many senior devs remember learning a new hot language when it had minimal tooling: maybe editing in a bare-bones text editor or using a rudimentary plugin that crashed often. It’s exciting at first — “look, I’m on the cutting edge!” — until the friction of poor tooling hits: missing autocompletion, no inline error feedback, manual running of scripts to test changes. Then comes the “Ah, I miss my IDE!” moment. For example, early days of Ruby on Rails, lots of folks were using a plain editor. RubyMine’s release in 2008 was a sigh of relief for Rails developers who suddenly had powerful code navigation and debugging for their Ruby code. Same happened when PhpStorm came out for PHP developers who had been juggling huge codebases with only simplistic editors. The difference in productivity and confidence (less fear of breaking stuff) is huge. Senior devs know that robust tooling can make or break a project, especially in large codebases where you live and die by features like “find all usages” or “safe rename.”
Another underlying truth: JetBrains is a business. They don’t commit a team to build and maintain an IDE unless they foresee a user base willing to pay for it (or at least a strong Community Edition adoption feeding their brand). So when JetBrains backs a language, it’s a sign companies and lots of developers are using that language enough that tooling is a profitable market. It’s a bit like an unofficial market research metric – forget the TIOBE index or GitHub stars; JetBrains support is the real litmus test for some folks. In a tongue-in-cheek way, developers trust JetBrains’s “market sense.” If JetBrains is interested, the language probably isn’t a fad that will disappear next year. It’s akin to a band knowing they’ve made it big when a major label signs them – here the “label” is JetBrains, and the “band” is a programming language and its community.
Of course, the meme is exaggeration for effect. Plenty of languages thrive without dedicated JetBrains IDEs (especially now with excellent free editors like VS Code and the Language Server Protocol enabling good support quickly). But it’s funny because JetBrains’s tools are so beloved that they’ve become a cultural touchstone. In dev humor, people say things like “Is it even a real language if I can’t get IntelliJ to autocomplete it?” or “I’ll try that language when there’s a JetBrains IDE so I don’t feel like I went back to Notepad.” This meme captures that sentiment in one punchy line. It resonates with the shared pain of trying to use a language before its ecosystem is mature, and the shared relief and validation when the ecosystem finally delivers proper tools. It’s a high-five to JetBrains as the unofficial kingmaker of programming languages — a jetbrains_metric_for_success, if you will. And like all good jokes, it’s funny because it has a kernel of truth wrapped in hyperbole: we all know a language isn’t literally useless without JetBrains, but hey, it sure feels more real once that slick JetBrains IDE download is available.
Level 4: The Anatomy of IDE Support
At the deepest technical level, JetBrains IDEs operate like highly-tuned compilers running on your desktop. When JetBrains decides to support a language, they’re effectively implementing that language’s parser, type checker, and semantic analyzer inside their IntelliJ platform. An IDE such as IntelliJ IDEA or PyCharm doesn’t just color keywords for show – it constructs an Abstract Syntax Tree (AST) for your code in real-time, much like a compiler does during its front-end phase. This means the IDE is continuously lexing and parsing your code as you type. The moment JetBrains “makes an IDE for it,” a whole pipeline of language processing is put in place:
- Lexical analysis: The IDE’s engine tokenizes the source code (breaking it into symbols, identifiers, literals, etc.). This is akin to how a compiler’s lexer works.
- Parsing to AST: Those tokens are parsed according to the language’s grammar into an AST. JetBrains IDEs maintain this AST in memory, updating it on the fly. This structure is what allows advanced features: when you hit autocomplete, the IDE traverses the AST to understand context.
- Semantic analysis: Beyond just structure, the IDE performs reference resolution and type inference. For statically-typed languages (like Java or Go), the IDE’s brain figures out types of expressions or flags mismatches (much like a compiler’s semantic phase). For dynamic languages (like Python or JavaScript), the IDE uses heuristics or runtime info to give intelligent suggestions.
All this under-the-hood work is why JetBrains support is a big deal. It’s not trivial – writing an IDE plugin means writing a mini-compiler and static analysis engine that must handle all the quirky corners of the language. A new or rapidly evolving language (with unstable syntax or semantics) is a moving target; JetBrains engineers usually wait until the language spec settles down. It’s one thing for a hobbyist to throw together a simple syntax highlighter, but a full JetBrains IDE requires robust understanding of the language’s formal grammar and type system. The company often collaborates with language designers or follows the official compiler closely to mirror its behavior. This ensures features like refactoring tools (renaming a class or extracting a method) work accurately by respecting language scoping rules and dependencies.
Consider how Kotlin (JetBrains’ own programming language) had first-class support baked into IntelliJ from day one. JetBrains could integrate Kotlin’s compiler logic directly, showcasing how deep IDE support goes. In contrast, when Go first appeared, early adopters managed with basic text editors and command-line tools. As Go’s popularity surged, JetBrains eventually built GoLand. Behind the scenes, that meant implementing Go’s package system, understanding its approach to concurrency (though mostly in terms of syntax and keywords like go or channels), and even hooking into Go’s build/run toolchain so developers could compile and debug from the IDE. We’re basically talking about compiler design and runtime integration wrapped in a pretty UI.
In essence, JetBrains making an IDE for a language is a technical milestone. It implies that the language’s definition is complete enough to encode in an elaborate tool and that there’s confidence the effort won’t be wasted. This deep dive into how IDEs work under the hood reveals why the meme rings true: a language reaching the point of JetBrains support means it has a solidified core (syntax, semantics, tooling) that an industry-leading company is willing to invest in replicating. And that’s as “official” as it gets in technological terms – it’s like the language has passed an ecosystem maturity exam, where the IDE’s internal architecture is the grader verifying the language isn’t just a toy anymore.
Description
Image is a simple white background with thick black sans-serif text filling most of the frame. The text reads: “A programming language hasn't arrived until JetBrains makes an IDE for it.” There are no additional graphics, just the statement in large centered lines. The meme jokes that true validation of a programming language’s adoption happens when JetBrains - the company behind IntelliJ IDEA, PyCharm, GoLand, etc. - invests effort to ship a first-class integrated development environment. For seasoned engineers, this pokes fun at how IDE ecosystem support is viewed as a milestone of language maturity and developer-experience polish
Comments
52Comment deleted
Your language isn’t truly enterprise-grade until a fresh install of its JetBrains IDE idles at 2 GB and the architects start arguing about which Dockerfile flag will shave off 30 MB
The real Turing completeness test isn't whether you can compute anything - it's whether JetBrains thinks your language is worth a €199/year subscription model and 8GB of RAM just to open a hello world file
The real measure of a language's success isn't GitHub stars, Stack Overflow questions, or even TIOBE rankings - it's whether JetBrains' product managers have calculated the ROI on building yet another specialized IDE. Nothing says 'we've made it' quite like convincing a company to invest millions in tooling for your syntax quirks and runtime peculiarities
A language isn’t real until JetBrains ships an IDE - and your runbook includes “Invalidate Caches/Restart” as a troubleshooting step
Real adoption isn’t TIOBE - it’s when JetBrains writes a custom PSI/AST for your language and Finance approves another Ultimate seat
Forget TIOBE rankings - a language's born when JetBrains ships intention actions faster than its stdlib stabilizes
brainfuck: Am i nothing to you? Comment deleted
How about plugin?) I think there are a lot of them:D But yeah, not all of them are made by JetBrains... Comment deleted
Ide from jetbrains very poor optimised. 2 GB RAM for hello world? Comment deleted
yeah but why would you use an IDE for your hello world programs?.. Comment deleted
It's only an example, i use android studio, and with working emulator and browser it eat 7,5 GB RAM from my 8 GB Comment deleted
Wtf, show me an IDE with an Emulator which doesn't eat this Comment deleted
5 GB? Emulator eat only 2 GB Comment deleted
Also while it eats 2GB for hello world, it eats pretty much the same for a huge project. That's how stuff works 🤷♂ Comment deleted
jetbrains meh Comment deleted
Until you're learning JB refactoring tools it's yet another IDE. After you learn it your life divides in before JB and after. After that all of the other IDEs looks like prettier notepad++ with some bells and whistles. Comment deleted
+++ Comment deleted
And how often do you need it? Comment deleted
Always Comment deleted
Are you writing code that requires constant refactoring? Comment deleted
Yes Comment deleted
Yes, it's never ending evolution until you mastered the domain that initially was vague and not fully defined. If you live in the pink world where unicorns give you full-errorprone-customer-wont't-change-mind spec then you don't need. Comment deleted
Typescript? Comment deleted
CLion actually kills any will to code in C++ if you stick to JetBrains so hard Comment deleted
Can you elaborate? Comment deleted
Uses too much resources and bloats Makefile with garbage i.e. links pthread to every fking executable Comment deleted
Well macros is a bitch (и бич) of all IDEs and their devs for any programming language. Scalla IDEs sucks because of that reason too. Blame it on the C++ non-friendliness for tooling. And yeah, I do agree CMake integration was kinda cumbersome and since Gradle pick up C++ build land JB switching to Gradle too Comment deleted
I was curious about time it takes to compile simple stuff like student's exercises is so much, then I checked what's in CMakeListst and what os the output Makefile. Then it became clear and I avoided CLion. But no doubt their analyser which tells unused inclusions and members is great Comment deleted
Yep, on the build tool-chain they stated from the left foot. Maybe after switching to Gradle that horror will be in the past. They had a lot of doubts and CMake was looking promising but its support was kinda cumbersome Comment deleted
IntelliJ Rust is so great you don't even need a separate IDE Comment deleted
Missing proper Haskell IDE. Seems I'm really switching for VS Code, perhaps it would be more sleek than IDEA. Comment deleted
Oh, you’re missing stories? Comment deleted
Oh, jeez, have a mercy. I'm tired of minute-long startups. Comment deleted
Why not NodePad++? I’m dealing easily with that issue: do not close my IDE ever 🤣 Comment deleted
You might like Emacs window manager Comment deleted
Yuck! Only vim! 🏆 Comment deleted
exwm btw Comment deleted
ew light mode Comment deleted
+ Comment deleted
Dear god, there's also telegram Comment deleted
ofc, what would you expect from emacs? telega.el btw Comment deleted
ram is dead today D E A D DEAD Comment deleted
NodePad++? Is it an Atom fork? :} Comment deleted
AFAIK it's older that Atom Devs Comment deleted
Yes, I mean, Notepad++ is classic, but Windows-only, AFAIK. ...NodePad++, seems like a name of Electron-based text-editor. Comment deleted
pack up ure going to vim Comment deleted
try using any editor with haskell-language-server language server. It's great (https://github.com/haskell/haskell-language-server) Comment deleted
I know about that, can't put my hands on it. Looks like I have to try either VS Code or Vim. On NixOS, BTW, so it would be a little itty-bitty harder to set it all up properly. Comment deleted
Lol, just 3 to 5? How much RAM do you have? On my setup with 32g it's about AT LEAST 8+ Gb Comment deleted
Kotlin be like Comment deleted
xcode ide without simulator uses like 200 MiB Comment deleted
Stfu. x86 assembly is the best, especially TASM assembler because that's what TempleOS uses Comment deleted