The Most Loved and Most Disliked Programming Languages Revealed in Stack Overflow Survey (stackoverflow.com) 268
angel'o'sphere shares a report: The annual Stack Overflow survey is one of the most comprehensive snapshots of how programmers work, with this year's poll being taken by almost 90,000 developers across the globe. This year's survey details which languages developers enjoy using, which are associated with the best paid jobs, which are most commonly used, as well as developers' preferred frameworks, databases, and integrated development environments.
Python's versatility continues to fuel its rise through Stack Overflow's rankings for the "most popular" languages, which lists the languages most widely used by developers. This year's survey finds Python to be the fastest-growing major programming language, with Python edging out Android and enterprise workhorse Java to become the fourth most commonly used language. [...] More importantly for developers, this popularity overlaps with demand for the language, with Julia Silge, data scientist at Stack Overflow, saying that jobs data gathered by Stack Overflow also shows Python to be one of the most in-demand languages sought by employers.
[...] Rust may not have as many users as Python or JavaScript but it has earned a lot of affection from those who use it. For the fourth year running, the language tops Stack Overflow's list of "most-loved" languages, which means the proportion of Rust developers who want to continue working with it is larger than that of any other language.[...] Go stands out as a language that is well paid, while also being sought after and where developers report high levels of job satisfaction. Full report here.
Python's versatility continues to fuel its rise through Stack Overflow's rankings for the "most popular" languages, which lists the languages most widely used by developers. This year's survey finds Python to be the fastest-growing major programming language, with Python edging out Android and enterprise workhorse Java to become the fourth most commonly used language. [...] More importantly for developers, this popularity overlaps with demand for the language, with Julia Silge, data scientist at Stack Overflow, saying that jobs data gathered by Stack Overflow also shows Python to be one of the most in-demand languages sought by employers.
[...] Rust may not have as many users as Python or JavaScript but it has earned a lot of affection from those who use it. For the fourth year running, the language tops Stack Overflow's list of "most-loved" languages, which means the proportion of Rust developers who want to continue working with it is larger than that of any other language.[...] Go stands out as a language that is well paid, while also being sought after and where developers report high levels of job satisfaction. Full report here.
Self Selected Survey Participants .... (Score:5, Insightful)
Always produce significant and valid results .... NOT!
Re: (Score:2)
Re: (Score:2)
They use joins so they aren't webscale.
No, the databases. Don't be silly.
Re: (Score:2)
Absolutely agree, and it's a big factor in most surveys (which is why people should take them with many grains of salt).
That said, the survey should show stats from and about those who have stronger interests / passions, and of course, those who are willing to take surveys, which I think is a big factor in and of itself.
Re: (Score:2)
But we are talking about programmers here...I don't think there is a way to produce significant and valid results with that demographic. So stuff like this is about as good as we are likely to get.
Re: (Score:2)
Always produce significant and valid results .... NOT!
Sure.. But they make for GREAT headlines...(Click bait for $$)
You want to create some fake news narrative? Conduct a POLL and publish the results.. Don't have money to pay a pollster? Do an online poll...
This technique comes right after quoting an "unnamed source" who is claiming some kind of malfeasance is taking place due to some conspiracy or something and writing a "news" story based only on the quote and a bunch of "we think it means..." logical leaps.
Re: (Score:2)
Should do bullshit yes or do bullshit no.
Just make it all up.
Gamification (Score:2)
The root problem is that SO gamification system rewards the lowest common denominator not the highest or even just professional level
Re: (Score:2)
Red bowl - salted, blue bowl sweet. You know where the fridge is.
Android? (Score:2)
*pulls out moto x pure and stares at it.* There is an Android programming language? who knew?
Re:Android? (Score:5, Informative)
I looked at the survey and it demanded a lot of random personal information, I didn't fill it in. So the data from it is biased towards people who freely give up their personal data for no benefit to themselves.
Re:Android? (Score:5, Insightful)
the benefit was it gives megaphone to those who support cute niche flash-in-the-pan fad languages
Re: (Score:3)
+1 Insightful
Everything about the list screamed "fashionable".
Re: (Score:2)
+1 Insightful
Everything about the list screamed "fashionable".
Everything? Python was released in 1991.
Guido is "fashionable"?
Re: (Score:2)
the benefit was it gives megaphone to those who support cute niche flash-in-the-pan fad languages
Python was released in 1991.
Re: (Score:2)
Clearly the parole terms weren't strict enough.
Re:Android? (Score:4, Informative)
*pulls out moto x pure and stares at it.* There is an Android programming language? who knew?
Reread the sentence
with Python edging out Android and enterprise workhorse Java
It is not well constructed but a second glance clarifies things. It would be better written, if still clunk, thus
with Python edging out Android-and-enterprise-workhorse Java
Re: (Score:3)
Or simply "with Python edging out Java, the Android & enterprise workhorse".
Loving a language? (Score:5, Funny)
"Mood? What has mood to do with it? You fight when the necessity arises — no matter the mood! Mood's a thing for cattle or making love or playing the baliset. It's not for fighting."
Similarly loving a language has nothing to do with its utilisation or benefits, it is for (well not cattle, but) cowboys who love to brag about last huge program they wrote, which contains 1.000 or more lines, even excluding whitespace that is...
Re: (Score:2)
Once Frank Herbert had Gurney Halleck to tell Paul Atreides, thus to us as reader: "Mood? What has mood to do with it? You fight when the necessity arises — no matter the mood! Mood's a thing for cattle or making love or playing the baliset. It's not for fighting." Similarly loving a language has nothing to do with its utilisation or benefits, it is for (well not cattle, but) cowboys who love to brag about last huge program they wrote, which contains 1.000 or more lines, even excluding whitespace that is...
I'm pretty sure people who "love" a programming language really love not having to use other languages. It's not that complicated and not necessarily an ego thing.
Re:Loving a language? (Score:4, Insightful)
--Donald Knuth, Seminumerical Algorithms
Re:AC is hilarious (Score:4, Interesting)
Fuck Python (Score:2, Insightful)
Folks like Python because (Score:2)
Re: (Score:2)
*Already* happened with JavaSchit, er, Javascript -- the BASIC of the new millennium! /me ducks /s =P
When you have to use string literal HACKS like "use strict"; to catch typos -- the language is fucked.
But that's what you get when a language was designed and implemented in 10 days by an amateur and learnt NOTHING about WHY professionals hated noob languages like BASIC.
Re: (Score:3)
Ummm....don't look at OpenStack then. It's all Python.
Admittedly, it's all "infrastructure automation" interfacing with hypervisors and storage arrays. But it is a large project.
Re: (Score:2)
Python kinda gives me an icecream headache. When I spent an hour trying to figure out why the code blew it's brains out when I took a three-element array and put only ONE element in it, I wanted to grab the workstation and defenestrate it.
So I started with something like: temp[-10, 50, 110]
In Python, it had to be like
Re: (Score:3)
Python kinda gives me an icecream headache. When I spent an hour trying to figure out why the code blew it's brains out when I took a three-element array and put only ONE element in it, I wanted to grab the workstation and defenestrate it. So I started with something like: temp[-10, 50, 110] ..and needed it to be something like this: temp[50] ..which, in any sane language (like C/C++), would've been fine, but in Python? Oh, no no no!
In Python, it had to be like this: temp[50,]
Mind: BLOWN. *facepalm*
None of that is true about lists - foo = [50] works just fine.
Are you thinking of tuples, maybe? If you want to create a one-item tuple, you have to put in an extra comma so that the interpreter knows that you want a tuple instead of just using parentheses for something like forcing order of operations; you have to write (50,) instead of just (50). I agree that the syntax for that is somewhat annoying, but I would also question why you're creating a one-item tuple in the first place.
Re: (Score:2)
It was someone else's test script, and I needed it to run a single temperature test on a DUT, not multiple temperatures. It couldn't be rewritten just to avoid this it had to be run with minimal modifications.
Re: (Score:2)
If the tuple was just being used as an iterable anyway (e.g. for temp in temps:), you could have replaced it with a list and it would have worked the same way.
Re: (Score:2)
Re: (Score:3)
Re:Fuck Python (Score:4, Insightful)
Re: (Score:2)
So you did not both to learn C++ just as an intellectual mind masturbation fun?
What a shame!
Re:Fuck Python (Score:5, Insightful)
Language choice is fairly subjective, so if you don't like Python, that's cool. But there are a number of solid reasons why it has grown in popularity and it's not because it's something new - the language is almost 30 years old now. I've been using it for about 20 years now and for me it has been terrific for one-off utility scripts written by one person to huge projects with many developers at a couple of different Fortune 50 companies, and everything in between.
Many of the alleged reasons why Python would be unusable for certain scenarios (e.g. large projects) tend to be fallacies or more theoretical problems than actual problems.
The choice of programming language *always* involves tradeoffs. Python isn't the best tool for every job, but in many scenarios the benefits have outweighed the costs in a pretty lopsided manner. To each his own of course.
Re: (Score:2)
Though there must be some merit to the language, because there definitely seems to be a trend toward writing big projects in that shitpile of a language, even at the expense of them running within reasonable time/resource constraints.
Re: (Score:3)
Some amount of that could be just the sucky nature to lots of large software projects - we've probably all seen big projects go bad in any number of different languages.
Like I said to the other guy, if it's not for you, great. But there's really nothing in the language that makes it inherently bad for large projects (and lots of things that makes it good for them). We've used Python on a number of very large projects and it worked out well for us.
Re: (Score:2)
I mean, I use Zenoss. It's an amazing product.
The fact that it takes 5 minutes to start up on $4000 hardware, where Nagios does it in about 12 seconds is fine. We accept the trade-off.
Personally, I wish we weren't making the performance trade-off required to use python. More and more aspects of Linux OS tooling runs slower and slower because of it.
Re: (Score:3)
Sure, it works. I've just found that where it works, you simply accept the tradeoffs.
Of course, but that's true of all languages. As an example: a good chunk of my career has been writing application servers, and years ago I stopped writing them in C/C++ because the development time was too long - with C I could squeeze out nearly every ounce of potential performance, but the cost of doing so was too high (time to dev as well as the resulting complexity). The Python versions were of course slower, but not drastically so (because the servers tended to be I/O bound anyway).
When performance is
Re: (Score:3)
Of course, but that's true of all languages. As an example: a good chunk of my career has been writing application servers, and years ago I stopped writing them in C/C++ because the development time was too long - with C I could squeeze out nearly every ounce of potential performance, but the cost of doing so was too high (time to dev as well as the resulting complexity). The Python versions were of course slower, but not drastically so (because the servers tended to be I/O bound anyway).
No doubt about it. The development cost of using C makes it unattractive where it isn't strictly needed.
When performance is the main problem, it's often easy to move a small portion of an app to a language closer to the metal, without having to port the whole thing. Last month I finished up a desktop app that takes 3D room models and generates CAD files. I wrote the app in Python but found the performance was not up to snuff (no surprise), so I moved the heavy lifting (maybe 2-3% of the functionality) to C. Performance still wasn't where I wanted it, so I moved that to the GPU.
Agreed. I do the same thing.
In terms of tradeoffs, I used Python to get the whole app working end-to-end much more quickly than I would have in some other languages (especially with the requirements changing out from under me a couple of times along the way), and then moved the little kernel of performance-critical stuff into something more suitable - paying the price for tradeoffs but doing it in a way where the cost-benefit ratio worked out pretty well.
Also no argument here.
Out of curiosity, is there any indication that the difference is actually due to Python?
The language? Na.
The implementation? Absolutely.
Python is a memory hog. Even basic benchmarks show that.
I've found that python isn't bad at all for smaller jobs, but larger ones, particularly resident ones, very often become problematic and need to be restarted, as they get slower and slower (memory fragmentation?)
I also know I'm not alone in noticing
Re: (Score:2)
Then you should learn from your experience and avoid shops that are either run like shit or run their projects like shit.
What the funk has the programming language to do with it? If it was a C++ project with unexperienced programmers, I would understand your grudge, but would still blame the shop hiring unexperienced people.
shitpile of a language, even at the expense of them running within reasonable time/resource constraints.
In the real world, no one considers it "shit" and the time / resource constraints
Re:Fuck Python (Score:5, Insightful)
Re: (Score:3)
It won't be long before people think you can write serious, user facing applications with that steaming pile.
No idea why you consider it a "steaming pile".
a) the language is beautiful, you hardly can claim that about any other language
b) the libraries are excellet
c) you are simply wrong, there is plenty of large software written in Python, e.g. Eve Online, the MMO with the biggest concurrently online community in a single game world on the planet.
d) the language is portable and has enough GUI bindings to de
Re:Fuck Python (Score:5, Funny)
Re:Fuck Python (Score:5, Insightful)
As I tell my Python-enamored son every day: "Python is just Perl with the curly bits rubbed off". What I don't say is Perl just a universal scripting language and little better than Shell Scripts on any system.
No way. Perl is grossly better than shell scripts, at least where the job is better done with perl. Some very simple jobs are still best done with a shell script. If you have to do anything complicated, though, perl is going to use a lot less resources because you're not having to construct complex pipes to do simple things.
Perl only ever made sense where there was a lot of string handling to do. Alas, people used it for other things as well because they understood perl, but not the languages they should have been using (Mostly C or C++, in Perl's heyday.)
Re: (Score:3)
But that's the problem with almost every language. It's the old saying, "If the only tool you have is a hammer, every problem looks like a nail."
Perl programmers extended Perl to be able to do stuff that it was not suited to doing.
The same thing is happening now with JavaScript and Python.
My personal problems with Perl are the hieroglyphics and the "default variable". There is an implied target variable that I don't ever actually see? Fuck that.
Re: (Score:3)
Unless you mean that you're still thinking of Perl as a glorified sed/awk? It hasn't been that for over 25 years.
Personally, I think of perl as glue. It's good at tying things together. There are modules for many things. In fact, that's one of the many things that annoys me about Python. We had perl already, and its massive library of modules, and then Python came along and had to start all over. What a waste of effort. Perl was perfectly fine for all the things being done with Python now.
Re: (Score:2)
Re: (Score:2)
Alas, people used it for other things as well because they understood perl, but not the languages they should have been using (Mostly C or C++, in Perl's heyday.)
Beg to differ. I learned C and C++ way before Perl 5, and subsequently used a lot of Perl 5 (yes, also for things other than string handling.) One thing I liked the most about it was the error messages were way better than C was at the time... something I'm glad the Perl culture is taking great pains to carry forward into Perl 6.
What people didn't understand and didn't want to use was autoconf and all the other glue necessary to make C/libc portable. Because no sane person wants to.
Re: (Score:2)
I don't remember when I used Perl the first time, probably around 1990, Perl 4.
I started with C++ a little bit earlier.
I just found this: https://en.wikipedia.org/wiki/... [wikipedia.org] I used C++ on Sun Solaris (cfront obviously, not sure when we had a g++ compiler), Think C was the first software I bought, well, cant remember what I bought for my Apple ][, probably I only used school licensed software.
So I guess I started C++ around 1989, I started studying at the university 1987 ...
Re: (Score:2)
I know what I like ... and what I hate. (Score:5, Interesting)
I like languages that let me get paid, be efficient, have unlimited control over the resulting program.
I had languages that restrict my capabilities, have obnoxious fanbois, and are slow.
Like list:
* C
* C++
* Perl
* Go
* Ruby (though it is slow, sometimes)
Hate list:
* Java
* Javascript
* Rust - hate the fans.
* C# and any other "managed" language
* ObjectiveC - sometimes hate just comes from the platform
* Php
* Cobol
Don't care list:
* python
* Pascal
* Whatever apple is pushing today.
* Whatever google is pushing today.
* Whatever MSFT is pushing today.
I've coded for almost 3 decades, using about 40 different languages. If you are a noob, stick with noob-friendly languages, please. BTW, that does NOT include php.
Hate for Java? (Score:2, Funny)
I don't understand the hate for Java.
Java is fast, secure, and compact.
With only a few cores, a few GB of disk space, and a few GB of ram, "hello world" compiles and runs in just minutes!
And it gets faster every time it's run!
Find me a language more secure.
Find me a language more compact.
Find me a language that's faster.
C is full of security holes, and slow.
ASSembly is slow, full of holes, and slow.
The minimum specs are there for a reason. If you don't have at least a few cores, and a few GB of RAM, and say
Re: (Score:2)
Find me a language more compact.
I take it you're not talking about source code.
Re: (Score:2)
I don't understand the hate for Java.
Java is fast, secure, and compact.
With only a few cores, a few GB of disk space, and a few GB of ram, "hello world" compiles and runs in just minutes!
And it gets faster every time it's run!
Find me a language more secure.
Find me a language more compact.
Find me a language that's faster.
C is full of security holes, and slow.
ASSembly is slow, full of holes, and slow.
The minimum specs are there for a reason. If you don't have at least a few cores, and a few GB of RAM, and say 100GB of disk space, go back to your speak and spell.
Shesh.. I don't know if this is a joke or not...
So wrong on every level.. Java is none of the things you claim and just about *any* compiled language will be faster than Java on the same hardware.
But.. Then there is the security thing.... C isn't full of security holes per say, nor is Assembly.. Neither language enforces the strict type checking that the Java compiler gives you I suppose, but that doesn't mean they are insecure. It just means the programmer needs to mind his P's and Q's and be careful to
Re: (Score:3)
Re:Hate for Java? (Score:4, Insightful)
Yup, exactly this...
The compiler doesn't really care if you want to multiply the letter "A" by "5" and then use the result as a pointer to a data structure. Of course, there have been improvements in the compilers over the years, where they will at least complain about type mismatches, and the ever valuable LINT program to help keep you out of the weeds. But in the end, you are free to do as you please, as fast as the machine will chew though the assembly code the compiler wrote for you (or as I've done in the past, the assembly you wrote for the compiler).
The issue most of these surveys don't take into account is which tool is suited for which job. My favorite language depends on the task at hand and the suitable tools in the my tool box. Writing a device driver? C or assembly.. Writing some GUI to run locally? C++/Java... Need to interface with some specific Java library? Then Java.... It all depends.
Re: (Score:2)
The compiler doesn't really care if you want to multiply the letter "A" by "5" and then use the result as a pointer to a data structure.
Of course the compiler does- unless you know of a magical flag to disable type checking.
It's the CPU that doesn't care, and the compiler that allows you to tell it to pretend "A" and "5" are of the same type.
Re: (Score:2)
Your previous ranting about Python was already extremely ignorant, if not even dumb.
and the compiler that allows you to tell it to pretend "A" and "5" are of the same type.
You made typo. If you want to multiply A with 5, you write 'A' * 5. And most (old school) C compilers happily compile it. Hint 'A' is a char, which is promoted to int. 5 is in an int. multiplying to ints is fine.
Even writing a * in front of it and dereferencing it is fine .... perhaps you need some casts, though.
Perhaps you should actuall
Re: (Score:2)
My point is that it fails even to be sarcastic, because on one hand the author is right, then on the other hand they are wrong...
I would expect that a sarcastic post to be 100% sarcastic, not actually valid some times and at other times not.
Re: (Score:2)
You sound like a recent graduate.
You sound like someone who likes to blindly assume, no matter how silly you may look.
I am a recent college grad, and both recognize, and embrace the benefits of assembly AND C where it makes sense (merely that I wouldn't necessarily use assembly for some things, and would use it for others) - not all people are the same.
Re: (Score:2)
Java can be fast if you just include what you need and don't pull in the entire swing.
But after 20 years, I have yet to see it. Not even once.
Re: (Score:2)
No. Just no. Java can be fast if you just include what you need and don't pull in the entire swing.
A program does not get slow just because it uses a certain GUI library, your post is nonsense.
Re: (Score:2)
Re: (Score:2)
ReXX is the Most-loved language. (Score:2)
After 35 years my love for this language (and its KeXX and ooReXX variants) has only grown deeper and more profound. Python is a funny language with white space issues.
What happened to Perl? (Score:4, Funny)
Re:What happened to Perl? (Score:4, Informative)
Count the number of times Perl is mentioned in the comments here, it will give You a hint on what it has become: irrelevant.
I am probably as sad as You are about this fact of life, let's mourn our beloved programming language together, fellow Perlist.
Re: (Score:2)
In the world of internet infrastructure, it's a requirement.
Some guy, somewhere, with perl has to make sure you can run your python scripts. That's an immutable fact.
Re: (Score:2)
Nope.
All big shops I worked for, use Shell (bash or ksh) over Perl, I did actually only once meet a company that had a small set of Perl scripts and they needed a decade to replace them with Phython.
I'm not a ware that my mac or any linux box I used recently has any init scripts or other infrastructure scripts or anything network related that is based on Perl.
Re: (Score:2)
Re: (Score:3)
Re:What happened to Perl? (Score:4, Insightful)
I wondered the same about Perl: An easy check is a job search. It doesn't look good.
I generally advise nobody ever apply to a job that lists a specific programming language as an absolute requirement, it is usually just a pathway to obsolescence. Find a posting instead that describes the types of problems they are looking to solve and then present to them why you are the best person to help solve them. The language choice is not critical, and never should be.
Just because it isn't listed as a job requirement doesn't mean it's not used, either. This shitty website still runs primarily on Perl.
Re: (Score:3)
That's a weird thing to say, I'm in the UK and the Perl job market is very competitive. Decent perl devs get snapped up immediately. My company had to offer about 20% more than we'd offer to a swift/obj-c dev of similar experience to lure our latest hire...
But I am pretty sure no Perl dev would be filling out a stack overflow questionnaire.
Re: (Score:2)
Nobody wants to admit they still use it. It's sliding into COBOL territory...
Re: (Score:3)
The Perl programmers are too busy constructing that perfect recursive regex (with look-ahead and look-behind) to be able to take part in a survey.
My Claw Hammer (Score:5, Insightful)
I love my claw hammer. It works for anything I want to build, and I never need other tools. People who use ball-peen hammers or malletts obviously don't know how to use hammers properly. Anybody who uses screwdrivers or wrenches is obviously an idiot, who doesn't really understand how to build things.
SQL #3?????? (Score:4, Informative)
"Do I think that more people will start using Python than SQL? That would be tough, SQL plays a role in huge swathes of the economy. I'd be surprised if next year Python overtakes SQL, just because SQL is so dominant."
SQL is #3 on the list. Since when did SQL become a programming language SQL us a a QUERY language.
Re: (Score:3)
Re: (Score:2)
It has syntax, stores variables, instructs a system to do things. Not seeing an issue. Especially when the "L" in SQL is for LANGUAGE.
Raspberry Pi caused the rise of Python (Score:2)
I feel like the beloved Raspberry Pi has caused the rise of Python. All these school kids are learning Python in school and they just think its the best language for everything after that.
It's why Steve Jobs gave Apple's to schools. ;-) It works.
Re: (Score:2)
I feel like the beloved Raspberry Pi has caused the rise of Python. All these school kids are learning Python in school and they just think its the best language for everything after that.
It's why Steve Jobs gave Apple's to schools. ;-) It works.
Python has been around since 1991. It has stood the test of time. Well, some time, anyway ..
Re: (Score:2)
It didn't blow up and get splattered everywhere, reducing the performance of our machines faster than the fixes for Intel's architectural mistakes, until recent history.
No it was windows (Score:2)
Poor windows folks lacked a decent Perl. So they used Python.
Re: (Score:2)
Well, my favorite language. (Score:2)
MFL is any language that lets me talk to it and have it produce code, or hardware, just the way I want it.
Enterprise NCC1701-D's Food Replicator comes to mind. I bet you could tell it to generate the software you need to deliver tomorrow.
Compiled vs. Interpreted (Score:2)
IMHO, this survey should separate languages that are compiled versus those that are interpreted.
How exciting! (Score:3)
A Slashdot snobfest!
to some of the commenters ... (Score:2)
Re: (Score:2)
A bandwagon can be jumped on long after it leaves its origin. That doesn't make it not a bandwagon.
See: Linux.
Re: (Score:2)
They should have a ranking system similar to Slashdot.
If they did that, then the results of this survey would be determined solely by the the code-of-conduct on each language's homepage.
Re: (Score:2)
The words "false" and "equivalence" spring to mind.
Re: (Score:2)
what the survey results actually say is that people who choose / have to to code in swift like it more than people who choose / have to code in some other language X. they don't say that everyone loves swift, or that swift IS the best language. self-selection.
Re: Swift should be at the top (Score:3)
Re: (Score:2)
Re: Swift should be at the top (Score:2)
Perhaps it shouldve wiped your arse for you too? If you want async go learn about threading or multiprocess with IPC FFS instead of being a coding baby and expecting some plug and play lego brick solution to every basic problem you encounter.
Re: Swift should be at the top (Score:2)
Re: (Score:2)
username or STFU.
(shut the fuck up)
Re: (Score:2)
Rubbish (Score:2)
Hoare logic is apparent off-topic, so is advocating declarative BDD over imperative BDD, quoting JUnit's documentation on Assume semantic 'proves nothing', getter and setter are not evil and 'tell don't ask' is claptrap and the java language specification is not an authoritative on parameter semantics, or even just fixing poor English grammar.
Those are all examples where I've reference recognised experts in the respective fields and had unwarranted locks and restrictions at the hands of moderation who've o