Warning: Raw PHP tags are deprecated in /var/www/html/joshianlindsay.com/textpattern/publish.php on line 996

Warning: raw_php_disabled in /var/www/html/joshianlindsay.com/textpattern/publish.php on line 1000
Ian's Blog: Today, I rip on everyone's language

Today, I rip on everyone's language

2025-10-15 02:08 by Ian

Disclaimer: I've used all of these languages professionally, and if you are not the sort of person that can enjoy a roast, you should stop reading. Don't take anything personally. Least of all this.
Besides, you can't help that your language sucks.

Java is the language I know the most about that I never wanted to know anything about. It was the language of choice in my school's CSE program, it was used extensively in Android, and a number of academic side-projects in which I've been involved. But (like C/C++), it has some awful foundational assumptions about strings that tend to poison everything written in the language, unless the authors take explicit steps to mitigate the design faults of the language.

Rust is meant for people who want to write code that runs as well as C, but without being bothered to learn how to handle memory. I don't know why anyone would want to use Rust, especially since it doesn't allow for allocate-only or special-use heaps (IE, allocation for DMA I/O) without learning enough to just use C instead.

All the most popular/useful Python libraries are written in C.
Python is a language without a niche of its own. It was invented for children (patterned after ABC), and some adults didn't get the joke. Seriously... Python is (IMO) the _worst_ thing about Gentoo. And that's saying a lot since Rust is now a build requirement.

Javascript/ECMAScript is something I could rip on for hours. I'll simply leave this here, since it neatly summarizes any gripes I have with it (and most other soft-typed languages)...

I can't summon any flames for TypeScript. I loved having node.js with hard-types. I'll never use JS again unless I somehow need to write client-side web stuff again. Microsoft is a strange company. I think highly of their language design, but any programs that they actually write with them are so full of fail that they should carry a California Prop 65 warning.

When I began using it at version 2, PHP's biggest strength was that it wasn't Perl. So I could read my own code as opposed to only being able to write it. From my point of view, PHP was obviously meant to be a practical language, rather than a cover-all generalist. And while I'm happy to rip on any language (even my favorites), I must give credit to PHP. My code written under PHP4 works today under PHP8 by adding "

Go is pretty good for high-performance, high-concurrency tasks. It also feels like working in a straight-jacket. But its handling of strings (explicitly treated as a heterogeneous datastructure) might be my favorite among any language I've used.

C is so easy to insult that I shan't even bother repeating detraction that many others have credibly written. But FWIW, my worst complaint about C is that it gave us such cancer as null-terminated strings (which Golang fixed).
In spite of all that is ugly and difficult about C, Dennis Richie was inarguably a far-sighted genius for having designed the lingua franca for practical computer engineers. Seriously... it allows full-exercise of architectures that were invented years after his death, and 50-years after the language itself.

.

C++ is easily my favorite language. But I habitually avoid its standard library. I write what John Carmack described as "C-flavored C++" because there exist features in C++ that induce apoplexy in hard-nosed epistemologists (*cough* type auto *cough*). Despite being written in C++ and nearly ubiquitous, the standard library is not C++, and avoiding most of C++ makes C++ much easier to use. If you try to explain this to most C++ programmers, you will quickly discover who actually knows what they are talking about.

Programming memes follow

Previous:
Next: