C, Python, and COBOL: Why There's No Single Preferred Language

C and C++ dominate among veterans, Python is irreplaceable in deep learning, and COBOL remains critical: there's no preferred language, only context.

English · Original discussion in Spanish · Published

C, Python, and COBOL: Why There's No Single Preferred Language
The best programming language is the one that pays the bills

There's no such thing as a preferred programming language. There are languages people love, languages people hate, and languages that keep critical systems running without anyone wanting to look them in the eye. An open survey on a forum paints an uncomfortable picture: everyone's favorite says less about their technical judgment than about the computer they learned to program on.

The person who launched it knew this. "I know, I know. You'll tell me it depends on what you're going to program," they warned, before confessing their own list: comfort with JavaScript and Python, declared hatred for PHP, and love for C++ with an uncomfortable caveat that "it's not very practical."

What's the best programming language to start with?

Python, recommends one respondent to a beginner. And the reason given isn't elegance, but the real-time interpreter: it allows testing a snippet, changing a detail, and seeing the result without saving, running, and starting over. The second recurring virtue is older: it forces typing. "The best way to memorize is to type the code," summarizes a veteran, because the semicolons you thought you mastered disappear as soon as you write them.

The objection came quickly and hasn't aged: preferred, for what? Any honest answer starts with context — web, mobile, microcontroller, data analysis — and only then with personal taste.

Why C and C++ continue to win among veterans

When the list is answered by those who have been in the industry for decades, C wins. Not because of trends: because of memory. A good part of the conversation is actually an exercise in nostalgia for the eight bits, for the ZX Spectrum and Amstrad, for programs copied from magazines and all-nighters debugging numbered lines. And from there comes one of the tastiest threads: the hatred for BASIC. One veteran recalls Dijkstra's verdict, for whom it is "practically impossible" to teach someone to program well who has previously been exposed to that language, because they remain a "mentally mutilated programmer with no hope of regeneration." Another dismisses it in one line: assembly language amazed him; BASIC left him with a disgust that still lingers. The curiosity of the final section is that, amidst so many obituaries, someone remembers that one of the creators of BASIC had died that very week.

There are exceptions and nuances. Assembly language is defended with extreme irony among the most seasoned veterans, and among classic microprocessors, Motorola's 68000 receives the tribute, compared to an x86 that, it's recalled, was born as a dirty, quick design, with Intel never imagining it would end up powering the PC for forty years.

COBOL, the critical language no one wants to touch

The perfect counterexample to all this epic is COBOL, and it comes with a fact that dismantles the modern narrative: in two places where a participant worked over the last four years, it was still in use, and neither was a bank. Four critical things hanging by a thread, pending migration "to something more modern" year after year, with compiler licenses religiously renewed because no one dares to turn off the machine while it works. Those who master that code don't negotiate: they set the price.

For truly serious matters — tax authorities, banks, military and nuclear installations — the recurring joke is that we're still pedaling, with COBOL or punch cards. It's not entirely a joke.

Python: essential in artificial intelligence and garbage for purists

Some argue that Python is garbage, and they back it up with technical terms: dynamic typing prevents knowing the size of structures and complicates generating efficient binaries; the garbage collector requires an extra thread or a much smarter compiler; reflection pollutes debugging. And others argue, with equal emphasis, that without Python, current artificial intelligence wouldn't exist, because its libraries and frameworks make it irreplaceable in deep learning.

They don't contradict each other as much as it seems. The profile that attacks it the most admits to using it daily for deep learning while keeping an eye on Julia, which they "haven't quite gotten to grips with" yet. It's the best proof that the preferred language and the profitable language rarely coincide.

C# vs. Java: the real battle is the development environment

Here, the language matters less than the surrounding tool. Visual Studio, with LINQ and Intellisense, is described as "incomparable" and the most comfortable environment for software development; Eclipse, for an Android application, is directly called a pain. Android Studio consumes excessive resources; Flutter emerges as a lighter alternative, although the interface part is more laborious; Kotlin does the same with JetBrains' backing, but little is heard about it.

The lesson is uncomfortable for purists: half the language war is decided in the editor, not in the syntax. And someone who changes tools every three years isn't choosing a language, they're choosing ergonomics.

AI and outsourcing: the debate that wasn't in the question

In the final section, the doubt that dominates any professional conversation today appears: can you already program with artificial intelligence? The most repeated answer is a joke — "it's all logical stuff, isn't it?" — and the most cited, irony about the colleague who thinks they're indispensable. Underlying this is a warning that hasn't lost its relevance: if all you do is copy from others' repositories and adjust, your job is automatable.

Added to this is the old pull of outsourcing. Some argue that another wave is coming towards Segarro, with large consultancies already positioned there, and that the cost savings have a known ceiling: legacy code that then needs cleaning. That calculation is precisely what doesn't appear in commercial presentations.



If this conversation teaches anything, it's that the language that wins the next decade probably already exists and almost no one has voted for it. One bet points to Rust as a long-term replacement for C. We've been saying the same thing about every candidate for thirty years. And we still don't know what to do with COBOL.

Summary of a discussion on Burbuja.info - Foro de economía, actualidad y política., translated from Spanish and reviewed before publication. Read the full discussion (719 replies).

More summaries

All summaries in English →

Back