It’s the programming equivalent of the circle of life: programming languages are created, gain popularity, hit their peak, and slowly degrade until nobody uses them anymore. With some languages, this process is fairly rapid, especially if the language in question never sees much adoption; others are decades old and still going strong.

For developers, knowing which languages will fade is a crucial issue: It’s hard to earn money off programming in a language that nobody really uses anymore. Here are five languages that won’t disappear tomorrow, but the long-term trends definitely don’t look good.

R

In the TIOBE Index, R has tumbled from 15th to 18th place over the past year. There’s a solid reason behind this: although it emerged as a strong language for data analytics (itself a burgeoning field), R has lost ground to Python, which has proven as useful for data analysis as it has for other kinds of programming work.

R faces the same situation as many highly specialized languages: a steady rise thanks to a relatively small group of loyal specialists and subject-matter experts—many of whom begin to drift away once they realize that they can use another programming language that works roughly as well. In addition, workers entering the field for the first time may choose to go with the more general-purpose language over the specialized one, figuring they can use the former for other functions, besides.

Like other, highly specialized languages, R probably won’t disappear completely. But if Python becomes data analysts’ language of choice, it could end up reduced to relatively few users.

Objective-C

In 2014, Apple launched Swift, its general-purpose language for building iOS, macOS, and watchOS apps. It was meant to work with Apple’s existing frameworks and programming infrastructure; more to the point, the company wanted its developer ecosystem to use it in place of Objective-C, which is over three decades old.

But a funny thing happened on the way to Objective-C’s predicted obsolescence: the language refused to die. Maybe that’s due to the enormous number of apps written in it, or maybe because developers who learned Objective-C aren’t quite ready to commit to learning Swift yet; maybe it’s a combination of both. Whatever the case, Objective-C has maintained a (slowly declining) presence on various popular-languages lists.

All that being said, Apple is determined to replace Objective-C with Swift. It’s going to happen. It might just take longer than the company expects.

Visual Basic

R might have tumbled quite a bit in the TIOBE Index over the past 12 months, but it has nothing on Visual Basic, which fell from 13th place to 19th over the same period. It’s also dipped in RedMonk’s long-term language rankings, although not quite as much.

In many ways, this decline isn’t surprising: Visual Basic is a really old language, having first appeared on the scene in 1991, and if there’s any truism in the technology world, it’s that older technologies are inevitably eclipsed by the new. Plus, Microsoft stopped supporting Visual Basic quite some time ago. And yet, according to the sites that monitor the relative popularity of programming languages, this platform continues to hold on—there must be a substantial number of hobbyists out there, or else tech pros tasked with maintaining legacy code.

Rather than learn Visual Basic, which will completely fade from view at some point, it’s worth your time to educate yourself in the particulars of its successor, Visual Basic .NET, an object-oriented programming language that launched in 2002 and continues to power the building of Windows apps. It’s safe to say that Microsoft isn’t going to stop supporting Visual basic .NET anytime soon, given its importance to the contemporary Windows ecosystem. (If you’re unfamiliar with Visual Basic .NET, note that Microsoft doesn’t use ‘.NET’ in its documentation, which can lead to some confusion between the contemporary .NET and “classic” Visual Basic.)

Perl

At one point, Perl seemed ubiquitous, and developers used it to build some of the biggest websites of yesteryear, including Craigslist and Slashdot. It was also useful for prototyping new, smaller programs, or creating wrapper functions.

Perl was doing so well for so long—it even broke into the top 10 of the TIOBE Index (peaking in ninth place) before tumbling to 16th. But it’s also a language in serious decline. In 2000, Perl creator (and the language’s “benevolent dictator for life”) Larry Wall announced that work had begun on Perl 6, the language’s next big iteration; it’s now 2018, and while the Rakudo Perl 6 compiler is in active development (targeting MoarVM and the Java Virtual Machine), momentum for the project seems to have frittered away. Smaller updates, meanwhile, continue on Perl 5 (which is up to 5.28).

What drove Perl’s decline? Some experts think that Python, which occupies much of the same programming “niche,” had something to do with it. “Perl’s eventual problem is that if the Perl community cannot attract beginner users like Python successfully has, it runs the risk of become like Children of Men, dwindling away to a standstill; vast repositories of hieroglyphic code looming in sections of the Internet and in data center partitions like the halls of the Mines of Moria,” Conor Myhrvold wrote for Fast Company in 2014. Not much has changed since.

COBOL

If you’re a COBOL programmer, chances are good you can land a job at a major institution that’s maintained a COBOL codebase since before you were born. Indeed, an industry-wide shortage of COBOL programmers means that such positions can provide quite a comfortable salary (the Dice Salary Calculator suggests $79,000 per year isn’t out of the question in California).

But sooner or later, COBOL is going to fade away as companies replace their tech stacks, especially if they opt for cloud-based solutions over on-premises. If you plan on having a decades-long career as a programmer, COBOL probably won’t be a factor in your mid- to late career.