Perl is the Most Hated Programming Language, Developers Say (theregister.co.uk)
Thomas Claburn, writing for The Register: Developers really dislike Perl, and projects associated with Microsoft, at least among those who volunteer their views through Stack Overflow. The community coding site offers programmers a way to document their technical affinities on their developer story profile pages. Included therein is an input box for tech they'd prefer to avoid. For developers who have chosen to provide testaments of loathing, Perl tops the list of disliked programming languages, followed by Delphi and VBA. The yardstick here consists of the ratio of "likes" and "dislikes" listed in developer story profiles; to merit chart position, the topic or tag in question had to show up in at least 2,000 stories. Further down the down the list of unloved programming language comes PHP, Objective-C, CoffeeScript, and Ruby. In a blog post seen by The Register ahead of its publication today, Stack Overflow data scientist David Robinson said usually there's a relationship between how fast a particular tag is growing and how often it's disliked. "Almost everything disliked by more than 3 per cent of Stories mentioning it is shrinking in Stack Overflow traffic (except for the quite polarizing VBA, which is steady or slightly growing)," said Robinson. "And the least-disliked tags -- R, Rust, TypeScript and Kotlin -- are all among the fast-growing tags (TypeScript and Kotlin growing so quickly they had to be truncated in the plot)."
...is worse.
I still remember recoiling in horror when facing Perl for the first time. Years later, despite multiple interactions with Perl, the horror remains as vivid as the first time.
You have a problem and you think Perl provides the solution. Now you have two problems.
I guess it's gone that far out of the mainstream
Build a Man a Fire, and He'll Be Warm for a Day. Set a Man on Fire, and He'll Be Warm for the Rest of His Life.
Perl is easy to write, hard to write well.
Sort of like death metal.
It is hated because you have to use independent thought, and have quality of thought, to deliver anything but flaky gibberish.
At the same time, you can do anything with it, and across multiple platforms especially, it is the fastest way to get anything done.
So eat it, Stack Overflow commenters. You're just people googling your way to a paycheck anyway.
Alternative Right.
The CPAN library system is mature, it has ports on a ridiculous number of platforms, and the syntax isn't even particularly awful. If anything, its curse is (anecdotally) that it's everywhere and new-to-perl developers run across old code all the time and struggle to figure out the system it backs. And the fact that perl hacks had (have?) a bad habit of becoming defacto production code.
Why hate, why not dislike. I have been coding for 40 years and never came across a language I hated, just ones that weren't suited for the job. Hey, if the company is going to pay me $75 an hour to code I'll write the app in Sanskrit if they want me to.
The original study is here I found the "polarization of technology" diagram at the bottom even more interesting.
Over the last 40 some odd years I've programmed in dozens of languages. Some I liked, some I was ambivalent about, some I didn't like. But the only language I learned to actually hate is Javascript. Talk about a steaming pile of shit.
They never used pl/sql for all they development like out stupid development team... including all (buzzword) web 2.0 tools.
...but its fanboys are by far the most annoying.
isn't that the place were the copy-pasta programmers and a bunch of college kids hang around, just because documentation scares them?
Having worked in Perl (and many other languages) for about 15 years now, I'm curious how many of those polled actually use Perl regularly.
Whenever I have to introduce someone to my Perl scripts, their first reaction is usually the typical horror, which fades in a few days after they start using it. Yes, there are comments. Yes, there is decent design. No, the regular expressions are not worse than any other implementation. No, the "clever" one-liner you copied off of a PerlMonks golf challenge will not pass review.
Sure, there are a few weird warts on the language ("bless" being the most obvious example), but it's no worse than any other, and significantly better than some of today's much more popular languages. Mostly, I find that Perl just has a bad reputation because it allows you to write ugly code, just like C allows you to corrupt data and Java allows you to consume obscene amounts of memory. The language choice does not excuse being a bad programmer.
You do not have a moral or legal right to do absolutely anything you want.
Perl just looks like line noise because of the heavy use of regular expressions. Java actually sucks across multiple vectors, for example, everything is supposed to be an object. Oh yeah, except for all the built-in scalar types etc... STUPID. You also see huge amounts of boilerplate code in Java. Their garbage collection just makes the coder dumber and still eats memory (ie.. nothing reaps until it goes out of scope - which is often the source of memory being tied up just like a leak would do just via a different route). Java is also a sysadmin's most hated language because you are constantly dealing with clueless Indians and other folks on Java's level and they have no idea how to tune their app other than "Give me everything the system has." That usually includes any memory you were hoping to use for the OS caches and kernel. Finally, Java's "promise" of write once run everywhere is a total lie. It's more like write once run on the exact same version and rig as the developer and it'll work if you are really really freakin' lucky. News flash: C is actually the most portable language. You buy a devkit you can bet someone has a C compiler for that platform. A Java interpreter comes way later. C is everywhere, java is a poorly implemented pipe dream. Perl is just a utility language. If you write more than 500 lines of Perl you are probably doing it wrong.
I don't get the Delphi hate, to be honest. It is a pretty good language, comfortable to write. Well, the last Delphi I have used was Delphi 7, years ago, but from what I've heard it has become better rather than worse in the later versions.
"It's such a fine line between stupid and clever" -- David St. Hubbins, Spinal Tap
...find asbestos underwear...
I like it (C coder and Linux admin)
Deleted all the Python 3 votes!
How about most irrelevant language? Why measure the level of hate towards something that is obsolete? I know let's do a study about how many people hate using looms or how many people hate commuting to work on horseback because that's useful information.
We'll make great pets
If you want to have fun then ask the developers who "love" all of these scripting languages what kind of projects they have been working on. Perl is still great for what it was designed for--text file parsing and processing. Just like FORTRAN and COBOL in their own lucrative, highly specialized, niches. Delphi was superseded by C# when Hejlsberg moved to Microsoft. And VBA is kinda left behind but still the best option if you are one of the (99%?) working people who use Microsoft Office.
Having tried to like Java since the late '90s, I can't imagine there's a language in use less intuitive or helpful.
I'll need to check out Perl. This should be interesting.
Last language I learned was Whitespace.
The Kai's Semi-Updated Website Thingy
Is even worse than Ruby.
Perl is a wacky language and only bareable if you can handle old school unix stunts, no doubt. It gave birth to PHP, which speaks volumes. I remember reading an OReilly introduction to Perl and laughing at the wackyness. I've done the same with PHP, but I've always respected both. Sort of.
Unlike newfangled fads and desasters like Ruby, Perl is a language that remains usable. Books on Perl from 18 years ago are still valid today, just like with awk, TCL and Emacs Lisp.
Complain all you want about the awkwardness of old-school languages - they still work and many of them run on just about anything that can be powered by electricity. These days I'm still a little reluctant to say which side Javascript will come up on now that Node has it's very own version hodgepodge gumming up the works.
We suffer more in our imagination than in reality. - Seneca
Those people like, and those people use.
People hate what they don't understand.
L.
Personally I prefer Perl over similar scripting languages.
I write in KSH, CSH, Python and Perl regularly... Of the three, Perl is my hands down favorite for a scripting language.
If you are writing applications in Perl though, it sucks. The implementation of objects is obtuse, it isn't geared for User Interfaces (Perl/TK anyone?) and performance is really horrid.
But... I cut my programming teeth on C (K&R, not ANSI) so I'm one of those old grey headed guys who go "tisk tisk" at all those new fangled, it's better because it's new things you young ones think are great.
Now get off my lawn...
"File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
Funny, I quite enjoyed writing in Perl 5 and the feeling was empowerment, and the community was excellent. At the time Python was quite immature. Python has grown but Perl 5 is still quite useful.
There is also quite a difference between legacy code and code written today using modern extensions, though it seems people enjoy trashing things, instead of admitting they did not actually learn it.
I program Perl since 25+ years now, and I'm not an expert, but just very experienced. Two years ago I began to use NodeJS and use NPM, and began to code new tools with NodeJS . . . after two years I stopped and switched back to Perl, because
1) NPM packages are inmature, for example xattr, the two modules simply don't work under Linux (perhaps on a Mac), both modules are no longer maintained after a few months
2) NodeJS versioning - just awful - everything changes too fast and core API changes, that you can't keep up, while 15+ years old Perl script still works, but index.js doesn't after 4 months (yes, use NVM)
3) browser vs nodejs: we were promised to code once, but now we have 4+ transformation tools to make our code work on the browser too
4) Async hell of JS vs readFileSync() and other *Sync() calls
5) I still use NodeJS to code simple RestfulAPI servers, using "express" module (which API is changing and getting more complicate with every iteration), but soon switching back there to Perl as well . . . .
Maybe it's because I only use VBA along with Excel, but I actually really don't mind it... I can do some pretty nifty shit with it. That said, every experience I had with COBOL was fucking trash.
Mostly people who are choosing their language aren't going to hate it. We're more likely to hate languages from projects we inherited, because we're forced to work with it.
-Dave
But you can do cool stuff like play Tetris in 185 chars
{):X!-{2B{" #"=}%X" ":f*+-1%}%:P;:>.{\!:F;>P{\(@{3&\(@.2$&F|:F;|}%\+}%\+F![f]P+:P ;}do;{"= "&},.,7^.R+:R;[>0="#"/f*]*\+}0"R@1(XBc_""~\10"{base}:B/3/~4*"nIOZTLSJR "
";:"*~;n%)n*~ 10R*+n*
Here is my list of high-level & high-performance languages:
Programmers have strong preferences about programming languages, and the popularity of languages rises and falls like the rankings of Top 40 pop tunes. Film at eleven.
Proud member of the Weirdo-American community.
Execution speed is fast, and coding is succinct. The OO (Object Oriented) stuff is a bit naff, but that was just a bolt on. OO less Perl probably even more efficient.
I'm surprised that PHP isn't more hated.
I think perl is great. Python is the on that surprises me. Any language that derives significance from white space has serious issues (Makefile, Fortran and Python... all shitty to program.)
I love perl. What I don't love is the deliberately obfuscated perl written by someone trying to be clever and/or indispensible by writing code only they can (quickly) understand. A quick down-and-dirty perl script is one thing, using it in reusable scripts is just immature and pointless. Especially those who refuse to document their code.
THAT is the part I detest.
My biggest problem I find with Perl is that there were SO many ways to express a similar operations, conditionals, etc. While this may be nice for single developer projects, it is utter hell if someone has to read that code. This has happened because of Perl's long life and its iterations to add more and more contemporary programming concepts. This has made it possible (and thus it will happen) to make Perl code a spaghetti mess of syntaxes. This makes perl code difficult to read much less grok.
I'm not saying Perl is the only offender of this. PHP has the same issue with its older functional programming syntax style and its OOP syntax. But PHP has kept it mainly to two styles. Perl has way too many styles so people get lots in syntax and find it hard fallow the code.
No good deed goes unpunished.
Have you looked at Perl 6? What did you think? As a Perl programmer I have mostly moved to it for new code, It is however effectively an new if very closely related language, you will need to re-write, and Perl 5 wont be aggressively killed either. I like it's object creation system, also with optional typing and function signatures I chucked so much boilerplate code, especially for safety checking, but re-writing still hurts.
It programs for ALL the major platforms out there currently pretty much (yes, Linux now again too) https://www.embarcadero.com/products/delphi/ & from what I see? Today's "programmer" @ Stack Overflow etc. are copycat noobs (yes, there's a few folks there that KNOW THEIR STUFF, but they are by FAR a minority carrying the weight of the noobz there that think "only OUR language is good" well bullshit - Python, Perl etc. don't do a FRACTION of what Delphi can on its own).
APK
P.S.=> I program in a dozen languages fluently - Delphi knocks the piss out of most bigtime (even C++) minus their flaws (C buffer overflow null-terminated strings for one) & stole me away from MSVC++ & VB when in a competing trade rag of all places, Visual Basic Programmer's Journal Sept/Oct 1997 issue titled "Inside the VB5 compiler" (watered down MSVC++ one) Delphi took 4/6 tests 1st place (especially math & strings where it LITERALLY DOUBLED & then some MSVC++ full, & every program does those tasks)... apk
All languages suck - they only do what we say, not what we mean. For people with unclear minds, it is even harder. They don't know what they mean to start.
I've been programming perl since '94-ish. It is much better than awk, gawk, nawk. If you write crap code, you end up with crap-to0-maintain code.
Python - not enough semicolons. 'nuff said. Lots of other little issues.
Javascript - everyone should program in a language created over a weekend - nobody says they weren't drunk at the time.
Ruby is big and slow, but the OO is a joy. I find ruby to be productive, unless it is for puppet, chef, etc.
Java is bigger and slower. Met with Sun in the mid-90s. They claimed it would get faster and tighter over the years. I'm till waiting.
Rust? STFU about Rust. I just don't care. I'd rather code in R or MATLAB.
C - The perfect mix of functionality and complexity. Until you want to parse files. Then you need/want perl.
Php. Multiple times the core guys doing the release have released code with major security issues when they knew the issues existed. There are php experts who can probably make secure code. Then the other 99.9999% of php devs who write crap code that isn't secure come in to help.
Give me a harder language where someone wants to be an expert and codes like it over JS or Php or Python any day. When I need something to work, I use C++ or Perl.
I've programmed in about 40 different languages. Most you've never heard about.
I've referred to perl as 'self-obfuscating' for obvious reasons.
I am a Java developer working with a .NET team. They do the **exact** same thing with .NET. <old-coot-voice>And back in my day, they used C++ and shit randomly blew up because they didn't understand pointers, but at least we had control over memory!</old-coot-voice>
But a lot of us who use Java actually do now how to write Java code that typically doesn't leak object references and can garbage collect just fine. Pay bananas, and don't be surprised when all you get are monkeys.
You are more full of shit than an abandoned outhouse. I could run this by every Java developer I've met in the last 10 years and they'd ask what controlled substance you're high on because most of us haven't worked on even a single project where the deployment target and the workstations matched up either in OS or JVM version. The JVM is not perfect, but Java binaries are extremely portable if you fully leverage the appropriate APIs to make resource access platform agnostic. (Most of you could be a demotivator: "Hard codes Windows file path, claims it's not cross-platform.")
"Most you've never heard about." Wanna bet?
You are going into a new company, they say they have two older systems ; one written in Perl, one in Javascript. They want you to maintain and update one...
Which do you choose?
The answer to that for most devs would be Javascript, I think.
Perl itself is OK in my view, I don't mind working in it. But from experience the problem with languages like Perl is that it can more greatly deviate with how someone else might write Perl than yourself, so whenever you encounter Perl it seems even more alien and befuddling than it might otherwise.
It's interesting that Javascript, even with all the type flexibility does not seem to run into this issue as much.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
This this has more to do with developers dislike of legacy maintenance and preference to work on new projects than the language itself. It's correlation, not causation. People loved Perl when it was new.
Once upon a time, it might have been the least painful way of writing scripts but these days we have Ruby, Python, NodeJS and a bunch of others. I'd be hard pressed to want to use Perl unless there was some material reason that every other scripting language was unsuitable.
I'm old school, but I still love Perl (5, not 6). I have never had a problem that I had Perl getting in my way of what I was trying to do. I have never even encountered a problem that I couldn't solve with it. CPAN is its big selling point, a ton of code is already written (and mostly debugged). The problem is the language (as in a real language, written by a linguist) is so flexible, anyone can write it a myriad of ways. There is bad perl, good perl, terse perl, line noise perl, and going for broke golf perl. This is not good for corporate in general, and now that most of my generation of Perl has moved on or is getting older, good programmers are hard to find. The curve for perl was steep, but thankfully, the regular expressions, and a lot of the formatting styles are the same in a lot of other languages so all is not lost. Perl is dead, long live Perl!
Pretty sure slashdot is (or at least was) implemented in Perl.
Perl is best understood by people who appreciate LISP, but want to get things done.
If you think Perl is the worst from all of the programming languages, you probably don't recognize its true strengths (and weaknesses) in many of todays computing environments. Compared to bunch of proprietary languages in variety of enterprise legacy environments, Perl would be amazing tool to script and automate all kind of functions and repeating functions compared to the native scripting environments.
Perl is the most hated language by people who have never heard of ruby. Fixed the title for you. You're welcome, Slashdot.
Something about these results smells funny.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
15 years to late on that vote.
Could of told you that Perl sucked 15 years ago.
There has to be something wrong with a language when there are three different methods that change the directory.
I write a lot of Perl, and almost all of it has regexes throughout (monitoring Oracle logs, data mining, etc.) The last time I heard, Perl and Java had the most comprehensive implementation of the Regular Expression engine of all languages. It's well known for its data munging abilities. So I wonder if it's Perl that people hate, or the regexes that Perl is supporting?
https://www.regular-expression...
You all want your hands held when coding.
I used to code assembler on 2 byte registers, and I liked it.
Now go take your punchcards before I throw them on the floor in disgust.
-- Tigger warning: This post may contain tiggers! --
"and projects associated with Microsoft"
what does that even mean?
why not just say "Visual Basic" instead, or "Projects associated with Linux" (for Perl)?
The journalistic hackery at the register is as unapologetic as usual.
I just about choked on my half-cafe soy latte when I saw R was the "least hated".
R is a clusterfuck of a low-performance interpreted environment use mostly by people with little-to-no programming background.
Programmers and CS grads will recoil in horror at all the fuckitude that is R.
From a usability, Perl provides a function set that is much richer than almost every language. For this it gives us a vision of what a usable function set could look like. C++ could not even get strings correct and for this great folly, it has been hamstrung since. Add the preprocessor and STL and you get two additional shoe-horned languages with a different syntax than native C++.
Thus, we need a new language that provides the utility of C++ and the memory access functions of C/C++. It would be great IF such a language supported memory pools (C++ should have had that natively for embedded coders) and concurrency.
From the early days of usenet the Perl community has been the epitome of arrogance and rudeness. Ask a simple question and you're sure to get flamed for not spending hours searching through the documentation.
If I want to process lots of text, I do not use Python or Perl, I whip out PHP.
PHP is as good a command-line language as it is a web server language and whatever you can write in Perl or Python, I can write in half the time in PHP. PHP arrays are superior in every way for data processing because, under the hood, they combine the power of a hash and a doubly-linked list that allows both integer and string keys in the same array while maintaining fast access + item insertion order for near O(1) operations. No other scripting language comes close.
PHP devs tend to produce readable code - far more readable than what Perl devs produce.
I whip out C++ *without* STL (i.e. no std::'s for me TYVM) when I need sheer performance or direct access to rare OS-level functionality. However, you can also write extensions for PHP in C to handle the heavy performance-sensitive bits and expose the new functionality to userland.
Complaining about Perl and comparing it to Python is like complaining about Yahoo and comparing it to Google. Google learnt from all the things about Yahoo that was painful and inefficient. They had that advantage of hindsight. Yahoo paved the way for them. Google deserves a lot of credit for making things better but they didn't invent search (nor did Yahoo, they had other more primitive engines to learn from.)
Perl was a Godsend when I first used it. Parsing text was difficult back then. You couldn't just write quick dirty programs for one off tasks. You had to compile something or write unwieldy shell scripts.
Perl is awesome. I still use it and I get paid a lot of money for my trouble.
A little respect please. Now get off the lawn!
Translation: I'm too much of a pussy to research what operators like $_ mean.
,,, hate how it is misutilized. I love perl & even python, when they are being used right. Poor coding, bad documentation & shitty implementation in the wrong environment is not the fault of the code language.
ProTip: If Java docs pukes on a code crawl you are gonna be in for a bad time.
Its the best text processing language, period.
Perl simply throws your incompetence straight in your face, while other languages will not hurt your ego so much.
Yes guys & gals, complex constructs will take time to grasp. In return, Perl allows to write good & compact code and professionals will understand it much quicker compared to other languages, simply due to a smaller amount of code they have to read.
The usual remark I make about Perl is that valid Perl code is indistinguishable from modem noise. But then, I also say that Python is like somebody combined C++ and Perl. In Perl, everything is a string, whereas in Python, everything is an object -- even integers. This makes for a very inefficient language.
I've abandoned my search for truth; now I'm just looking for some useful delusions.
In years past, I often expressed a similar sentiment on threads trashing C++. The strawmen of the haters are the rarely the authentic bogie men of the proficient. Part of this is the self-selection effect, which is endlessly underestimated.
Half of all my problems with C++ in that phase of my career were due to not having this talk fully codified: CppCon 2014: Jon Kalb on exception-safe code, part I. Few of the oft-mooted C++ boogie men concern me the least. The segment in this Kalb video beginning at 13:20 explains precisely why your father's C++ still sucked, as perceived by an actual user.
For the matter at hand, as it happens, I do have fairly limited copy & paste skills using vi, which I actively dislike, but often find myself using for quick and dirty jobs at the command line.
For quick and dirty hacks at the command line to installed packages I usually align all my code insertions to column 1. This makes them easier to spot while I'm thrashing around, and easier to back out again, later, once the dust settles. Except, of course, in Python, which uniquely rejects my long-established survival toolkit.
Typical scenario: you're installing an unfamiliar piece of software, written in some scripting language, and you can't even figure out which sub-module is failing (due to a WTF error message, which is probably some lazy-ass stack dump), so you hack the source of the officially installed scripts a bit to add print statements, or remove subsystem calls, etc. in a diagnostic capacity, until you've figured out the lay of the land well enough to begin to Google an answer.
Yes, there are other ways to structure this work—all of which tend to elevate thrashing around to the level of actual software development. Man, some people out there must have extremely slight contact with the unfamiliar, who can afford to elevate every minor obstacle or setback to a formal deployment process. (So you wanted a quick solution, and now you're diving into Ant or Maven or Grunt or Ninja or Waf or Gulp or Jenkins or CruiseControl.)
Of course, once your Python script is fully imported into your favourite IDE, and wired up to the project's customary build script, and source controlled in Git, there would be no further reason for me to use my old column 1, quick-and-dirty hack at the command line fu. (If one supposes that, while installing Gulp for the first time ever, my original problem—too much balky, unfamiliar software—doesn't recurse into hyperspace.)
So I ask myself, why does this only happen to me? Do I live wrong? Did I commit some atrocity in a past life? Has gaining proficiency with C++ ruined my karma for life and beyond? Clearly, happy, shiny Pythonistas are doing something different than I'm doing, I just can't figure out what it is, or make it a go (or a go to) in my environment.
Didn't use Perl much, never found it much of a challenge, either to read or write, at my low level of usage. Those sigils, however, were always a thirty minute brainfuck while I switched gears. (LISP and APL and Erlang and JavaScript have similar gear-switching overhead.) I switch gears a lot. That bit became truly painful, when added to all the rest. I tend to forgive R, because I can bang out some incredible plots really damn fast after throwing a mental coin at the toll booth.
Has anyone else ever had a Swiss Army knife where your favorite blades change over time, or am I all alone on this axis, too?
Sadly, C# is actually a good language, once you understand it, it looks like Microsoft took all the common mistakes that programmers make using C++ and tried to design a language where all those mistakes were impossible. So, if you got idiot programmers, you're better off having them write C# and managed code. The down side, of course, is that locks you into the Microsoft ecosystem. Too bad Mono never got anywhere.
I've abandoned my search for truth; now I'm just looking for some useful delusions.
I used a lot of language perl, C, python, javascript, lisp (common, scheme, elisp, ...), haskell, ada, delphi, ruby, php, c++, java, ... R is the worst of worst. If you think javascript have got some crazy shit type system and type conversions, just try R. Most of the libraries have been written by academics for the publication of one paper, no tests, full of bugs, ugly, ... OO just plain sucks.
Still I have to use it daily, working with stats...
Yes, indentation being significant is annoying as hell, but I just edit in SciTE and constantly run the syntax checker which flags any indentation mistakes, which usually occur when doing cut/paste edits. I also found I get C++ and Python confused, e.g. writing "break;" in Python. Then I grepped through the existing code, and found out the previous author did it a lot more than I did! (For the record, a semicolon is also a statement separator in Python, so it does no harm. The difference is in C++ only the semicolon is a statement separator, whereas in Python both newline and semicolon are statement separators. Having coded C for over 30 years, I have a bias towards the C/C++ way of doing things.)
I've abandoned my search for truth; now I'm just looking for some useful delusions.
PERL was made for reporting and for some reason everybody thought that it was a general scripting language, PERL is fine for what it was meant to be, Ruby too, every single programming language has its use case in wich fits fine. I blame for this "[$LANGUAGE_NAME] . sucks" to all those programmers that are forced to use a programming language they don't understand or feel comfortable with; I had been there with PERL, C++, JAVA, FoxPro, Scala, Ocaml, Ruby, Python and a few more languages I had to deal with and learn (I like more Pascal and C).
Perl violates basic aspects of scope. I once pulled in a fellow programmer's library for a few functions which I added to my loop. It totally broke the whole thing. Why? Because a next statement in a called function affected the loop control in the calling function. That simply shows that lack of scope is broken at the language level - and that's inexcusable.
Perl makes sloppy quick scripts hard, but it makes doing the right thing in any larger project with a maintenance cycle hard. Globals are easy. Restricted scope and managed exposure between modules is hard. That's exactly the opposite of what it should be.
It is far easier to write in Python and turn to the appropriate PyPy, Cython, or however you want to wrap Rust or C++ into it where you need to.
I'll take engineering around clear design over a language designed by linguists than by programmers anyday!
Alternate explanation - they say that R, Rust, Typescript and Kotlin are the fastest growing tags on StackOverflow, therefore they must be the most liked. It seems to me that a more likely explanation is that they're newer and more confusing, and more people have questions about them. The traffic for questions about, say, Perl, is starting to taper off because it's been around so long that all of the obvious questions have already been asked and answered, and a lot of the bugs have been worked out of the recent versions.
Proud neuron in the Slashdot hivemind since 2002.
Yeah I sort of suspect that the "least hated" list just correlates with the "least known".
Proud neuron in the Slashdot hivemind since 2002.
People don't hate R, Rust, TypeScript and Kotlin because they haven't written anything it it or had to decipher something written in it.
People hate perl in this context because it's popular, and used by people who are not them. They love their language (Java, C++, Python) and hate everyone else's. If they were old enough to use perl they'd be wise enough not to hate languages, since they're good for their context. Only languages which fail everywhere deserve special hate. And by that I mean HyperTalk.
It just goes to show, some people don't know what they're talking about, but they do know what to say.
Same here... I have a lot of Perl stuff running under cgi-bin (some of it over 20 years old) and have never ever had it break because of a system update. I had one long term running script break when a bit was flipped on the drive though.
I like all variable having a $. Makes them easy to spot when looking at someone else's code. The lines ending in semi-colons is a little annoying. As much as I think Python is cool, if I see one more damn indentation error when I execute a script, I am going to scream. I'm not a programmer. Just a guy that writes scripts to get my job done. And the top of my list is vbscript. I would rather script in anything other than vbscript.
Poor programmers gravitate to trying to find the magic bullet to solve their problems. Sometimes another programmer, tired of answering their stupid Java questions will tell them -- "you know, this would only be about three lines of Perl" to get them to go away and bother someone else. It works.
Perl and Rust both have reputations for being pushed by zealots who don't acknowledge their favorites limitations or why other people don't like or "get" it.
I had a zealot boss who loved Perl and Apple with a passion. Made me learn Perl. It was a lot of effort. It was very different. I could do it but I never liked it and because there's so little demand for it when I returned to "real world" programming I quickly forgot it and never saw the need to use it elsewhere.
My boss though told anyone and everyone even in other companies "If you're not doing this in Perl your project will fail!" You lose all credibility when you take that hard a position.
No one hates Smalltalk or Assembler because people who use those languages don't ram them down your throat for inappropriate situations.
Perl is a bit like MacGuyver - can-do anything as if by magic from a little line noise. BUT, Perl looks like Quasimodo crossed with Godzilla or something. It helped me pay the bills for a decade, but then I moved on.
I get Perl being tops and PHP being fairly high up there too. Delphi confuses me. It's a really powerful language, similar, but slightly better than, others that are rated high on the "good" side. Have any of you Delphi haters ever used it? I program in the "good" languages now and long for Delphi features that it had nearly 20 years ago but still haven't made it into the mainstream...
I haven't used Perl in about 6 years, but it was one of my very favorite languages. I'd still be using it too, if my career hadn't taken me away from systems programming and into big data.
I usually hate PERL, always have. The "many ways to do something" is its biggest strength and worst weakness. However, I admit sometimes it's the best tool for the job. The problem is some sys admins see it as the answer any question, when a bash script would have been just as good. But if you're crunching massive logs or even need to think about a regex, PERL can't be beat.
That said, In my line of work, the tools you have are what's on the system. No CPAN, no EPEL... nothing. PERL in a base install is typically far more useable for most tasks, without including anything at all. Python is usually anaemic, ruby is no where to be seen, and no gcc to be found. So PERL is usually the only option for complex tasks.
PL/SQL is the worst real language (which is to say, a language I would consider actually implementing something in if everything lined up right). It's deeply married to Oracle. It only runs on Oracle databases, which in addition to the obvious lock-in potential also means you have to keep your PL/SQL up to date on a per-database level and you have to share resources with your other applications and scripts. The language itself is based on Ada, which lacks many modern features that even languages such as Java have. The only positive thing I can say about it is that it's easy to break into writing SQL at any time, though unfortunately the performance of this is miserable because it effectively calls the SQL engine like any other app would (it does admittedly have the advantage of not having to make a network call if your database is hosted separately, but it doesn't really buy you as much as you might think in most situations). Even crazier, if you can potentially get multiple rows back, it will by default fetch 1 row at a time (though it kinda makes sense due to the shared resources thing, since memory would be pretty limited on one box running many PL/SQL scripts and queries), which leads to a massive context switching overhead if you don't know exactly what you're doing.
use a vice emulator and simon's basic to draw neat litttle circles ... its not even a programming language its scripting, no?
how about using what feels right instead of wasting time hacking on shit you can't hack
Free speech was meant to be free for all... how can anyone grow up in a nanny state ?
I'm in the minority, I like PERL.
Only by those who use it.
I remember an article many years ago anout eager young people who enter the programming fieldonly to discover that programming was like working in a salt mine or worse.
The problem with;
Perl is when;
you accidentally leave
something out;
Reminds me of Unix. There's even a unix haters manual out there. Yet it's clearly the best OS out there. So the same logic goes here. Perl is very powerful. Probably just about everyone out there has used it, just like Unix. Everyone thinks there is something better out there, though they keep using Perl to get stuff done. For data processing, it's really hard to beat.
See subject: Delphi's never out of the top #20 in the TIOBE index https://www.tiobe.com/tiobe-index/delphi-object-pascal/ & #11 currently https://www.tiobe.com/tiobe-index/
As far as what you mean by "managed code", do you mean INTERPRETED (as in .NET) vs. statically compiled single .exe code? If so, I've never seen any problems in doing so (but I don't generally take interpreted code over statically compiled .exe).
* What I really LIKE about Delphi? VCL - it compiles into the program INTERNALLY (statically) so you don't have things like ActiveX controls or OLE server .DLLs (or std. ones) external to it for more "moving parts" for breakdown OR version control issues (ala "DLL hell").
APK
P.S.=> So much for Stack Overflow's "opinion" - their sampleset isn't the best one per my initial post (& yes, I've taken peeks @ what goes on there but I have YET to have to use their info. to date over what was a 24++ yr. professional programming career here)... apk
It's all good once you get your drum card set up properly, then just punch away!
Apocalypse Cancelled, Sorry, No Ticket Refunds
use(English);
not that hard.
Apocalypse Cancelled, Sorry, No Ticket Refunds
There have always been two kinds of perl. There's perl that you've written, and there's perl that someone else has written.
Perl that you've written is probably the greatest programming language to have ever lived. It looks like you, it feels like you, it smells like you. It's super-easy to follow because it follows your brain perfectly. That's its power -- it shapes itself to your way of thinking. The syntax changes shape, the logic changes shape, it becomes a perfect fit.
Perl that someone else has written is likely the absolute worst programming language that will ever exist. Not only is it as cryptic as that someone-else's brain, but reading it dedicates at least 50% of your brain to nothing but the words: "why'd he write it this way, I'd have written it the other way" for every line of code, every time, always.
The article shows a very simple block of perl code, and, as discussed, each and every single line is not the way that I'd write it. I've been programming in perl for 20 years. It's been my livelihood for 18 years. It's ultimately paid for everything I own.
It's very rare that I get to deal with other people's perl code. Not that other people's php code is fun to deal with either, and certainly other people's C++ code can be equally brutal, but at least in those cases, I have my full brain to help me read their code. Alas, as discussed, when I'm reading other people's perl code, I only get half of my brain, while the other half just sits there complaining.
Perl's awesome, when it's your own. Maybe it's like an attack-dog that way. Yours is an asset, someone else's is a threat.
I know I'm late to the party here, but I used perl extensively for maybe a year. It was the best choice for one particular task I had to do and that's also how I learned it.
I could have written the same tool in C but that would have been kind of silly and I could have written a horrible shell script but that would have been horrible.
I was parsing a lot of strings as best as I can recall and perl seemed to be good at that Use the right tool for the job.
--
To be honest and fair I had written things like that in C before. I really wanted to write this tool in Perl because I had never used it before and I wanted to learn it. Perl was well suited for that particular task though. OTOH, since then I've forgotten most of the Perl I learned but I still know C.