According to this post from Stack Overflow, Perl is the most disliked programming language.
I have fond memories of writing Perl, though it’s been a long time since I used it. I mostly wrote scripts for file munging, the task it does best, and never had to maintain someone else’s Perl code. Under different circumstances I probably would have had less favorable memories.
Perl is a very large, expressive language. That’s a positive if you’re working alone but a negative if working with others. Individuals can carve out their favorite subsets of Perl and ignore the rest, but two people may carve out different subsets. You may personally avoid some feature, but you have to learn it anyway if your colleague uses it. Also, in a large language there’s greater chance that you’ll accidentally use a feature you didn’t intend to. For example, in Perl you might use an array in a scalar context. This works, but not as you’d expect if you didn’t intend to do it.
I suspect that people who like large languages like C++ and Common Lisp are more inclined to like Perl, while people who prefer small languages like C and Scheme have opposite inclinations.
11 thoughts on “The most disliked programming language”
“indent to do it”
I haven’t written perl in a while but in context this had me thinking that whitespace was significant in perl.
My guess is that you didn’t indent to type indent here.
“I have fond memories of writing Perl,…”
However, I can not seem to recall any fond memories of *reading* Perl.
I used to look at perl and think “that looks pretty close to ASCII barf”. Now I look at perl I’ve written and admire my own ASCII barf.
I have a list of “write-only” languages that is headed by Perl, closely followed by Lisp and FORTH.
The reasons are simple: It’s way too easy to write unmaintainable code in these languages. Skills developed in other languages seldom transfer well. It takes effort and discipline to *avoid* writing lousy code. It is way too hard for even a language expert to unravel some of the ugly (but working) code written by novices.
In contrast, languages like Python make it much easier to write comprehensible code, with less dependence on the writer’s skill.
python comprehensible? i use white space to make my code easier to read. taking away that degree of freedom might make sense when you’re teaching college freshman, or if you’re some uptight manager, but for someone who knows how to wield a real software tool, perl was great.
Once a line begins, white space is no longer significant in Python. You can align everything however you wish, except for the first character. A reasonable compromise in my opinion.
I’m OK with Python’s white space rule in general, but it’s a trade-off. It prevents misleading indentation (as long as you don’t mix tabs and spaces) but it can cause other problems. Several times I’ve had code on this blog lose its formatting and then I have to go back and figure out what it should be. And code generation is easier with delimiter characters. (Go Lisp!)
Perl… Now, that’s a name I’ve not heard in a long time. A long time.
I think my uncle knows him. He said he was dead.
Oh, he’s not dead. Not yet.
Perl is powerful, succinct, and easy to code with practice. If you leave it for an extended period it is difficult to read later. I worked with it for several years but was lured away when Perl 6 in Haskell was delayed for so long. Writing graphics UI modules was tedious. I moved on the C# to create graphics UIs more conveniently.
Now I am working in Python and Go. Back to some of the Perl vs C# issues again. With Microsoft offering community versions the decision of what language to use does not have as sharp a monetary focus. As an independent developer, that has been an issue in the past. The community edition of Microsoft’s 2017 VS and their languages are enticing.
What was the topic again? I am rambling as usual. That will teach me to read so much technical stuff …
I enjoy your articles and learn something from each one. I am a Developer and Doctoral Candidate. As you can imagine, I am somewhat heads-down on statistics in my dissertation manuscript. Some of your articles have provided insight for me there.
I’ve been a programmer for a while. While C was not my first language—you had to wait for BDS C (Wikipedia, look it up) it was certainly in the first 10 or so languages. I still write it, still love it and have often remarked that it and Perl are the two most comfortable languages that I know. I like both Lisp (in all it’s variants) and C++. I find that people who make remarks like I’ve seen here are similar to people who file in both directions and open paint cans with screwdrivers. As a productive member of the original C Users Group and CPAN, I have seen comments like these way more than I would like, but they are almost always made by those who don’t know what they are talking about usually because of lack of experience. For whatever reason, they didn’t stick around long enough to gain competence. And that is fine—there is no one language that is perfect for everyone, just as there is no language that is perfect for all problems. Off those languages, you are favorably disposed toward, pick the best one for the task and code away. Oh! And a well-expressed venting is always a fun thing to rail against :)
Python’s continued popularity surprises me. While I like Python and it is good for data science I don’t understand why people use it for websites. The PHP and Ruby ecosystems are far more mature if you consider ease of use and if you are going for performance, Go and Java-based frameworks are better. Even in the data world, I kind of like R over Python.