Twenty years is a fairly long time in human terms, but it’s positively eons in programming, where a language can go from everybody’s favorite to a has-been in just a few years. When Java made its debut in May 1995 (as Java 1.0a2 with the HotJava browser), its creators at Sun Microsystems doubtlessly had high hopes that the language would prove popular. It’s less clear whether they realized that Java would remain omnipresent 20 years later, topping Google’s list of the most-searched programming languages. It’s also a stalwart of GitHub, according to GitHut, and pops up frequently as a topic of discussion on Stack Overflow. What ensures a programming language’s long-term survival? That’s an important question for developers, who must devote lots of time and resources to learning a new language; if that language fades from popularity, any knowledge of its innermost workings becomes less valuable, at least in a monetary sense. As with most languages and platforms, Java survived by becoming a ubiquitous element in everything from enterprise software products to Web services. (Sun Microsystems’ takeover by Oracle, whose products power the tech underlying a vast number of enterprises and infrastructures, will only ensure that ubiquity, although the acquisition infuriated open-source advocates for a number of reasons.) But other languages either haven’t enjoyed that same degree of institutional backing, or haven’t had enough time to fully eclipse more popular languages. The relatively new Swift hasn’t yet managed to overcome Objective-C as the language of choice for those building iOS and Mac OS apps, for instance, although Apple’s backing could ensure it eventually does so; Go, a programming language developed by Google employees, has likewise enjoyed slow but steady growth, but has a long way to go if it wants to break into the top echelons of programming languages. So even in the face of aggressive upstarts, Java’s popularity could endure for quite some time. Here’s to the next 20 years.