How many programming languages is too many for one project?

It's not uncommon for modern applications to be composed of many parts, but the more languages you use, the greater the complexity.
285 readers like this.
magnifying glass on computer screen

Opensource.com

One great thing about programming languages is that there is such diversity that you can choose the best one to solve any given problem. But sometimes the worst thing can be when projects take advantage of this and build applications or systems of applications that require domain knowledge of many different languages. When this happens, it can be difficult for everyone, or even anyone, to fully understand the scope of the project.

Sometimes language diversity is fairly minor: a web application like the Drupal site powering Opensource.com is primarily PHP on the back end, with a few SQL queries to power database interactions, a JavaScript frontend, and HTML and CSS for markup.

But when you start thinking about the entire application stack, it gets more complex. What if you also need to debug the web server itself? The database server? The proxy server? The configuration scripts you used to set the whole thing up? The Bash scripts that you added to cron to do a few other tasks? The Python script you set up to pull out some key data for analysis? Pretty soon, even a fairly simple web application can get very complex.

And that's just a single application. In the enterprise, it's not uncommon to have dozens or even hundreds of related applications running concurrently, each sharing data back and forth to power all of the things that go into a modern organization. After all, that's the whole idea between microservices: breaking large monolithic applications down into smaller, more digestible chunks for better scalability, resilience, and easier management.

How many is too many? Let us know what you think, and if you starting to feel overwhelmed by the number of languages in use at your organization, take a look at today's article from Bart Copeland on How to use multiple programming languages without losing your mind.

User profile image.
Opensource.com publishes stories about creating, adopting, and sharing open source solutions. Follow us on Twitter @opensourceway.

2 Comments

The answer depends on what you want to call a programming language. Strictly spoken, XML and HTML and CSS aren't...

When I started as a programmer in the 1970s, entire suites were written in one or two languages. The most complex system that I worked on was, the suite that ran the building society that I worked for. The bits that controlled the equipment in the branches, was written in assembler, for speed. Most of the overnight processing parts, were written in COBOL, for ease of maintenance.

Of course, there were fewer languages then. The first 10 years of my career, was COBOL, assembler, MUMPS and RPGII. Now it's a mix of C, Perl, PHP, Javascript and whatever else comes my way. Give me a book of the language's syntax and I'll write you a program. It won't be the most efficient in terms of what the language can do, but it will work (well probably).

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.