Rosetta Code/Rank languages by number of users: Difference between revisions

Content added Content deleted
m (→‎{{header|Wren}}: Minor tidy)
Line 161: Line 161:
44= 25 AutoHotkey
44= 25 AutoHotkey
44= 25 REXX
44= 25 REXX
</pre>

=={{header|jq}}==
'''Works with jq, the C implementation of jq'''

'''Works with gojq, the Go implementation of jq'''

jq does not currently provide support for retrieving content from the Internet,
but is intended to interoperate with standard command-line tools,
so for this example we'll assume a command line invocation along
the lines of the following:
<pre>
curl -sS "https://rosettacode.org/w/api.php?action=query&format=json&formatversion=2&generator=categorymembers&gcmtitle=Category:Language%20users&gcmlimit=500&rawcontinue&prop=categoryinfo" |
jq -rf users.jq
</pre>
where "users.jq" contains the jq program shown below.
<syntaxhighlight lang="jq">
def rpad($len): tostring | ($len - length) as $l | . + (" " * $l);

def lpad($len): tostring | ($len - length) as $l | (" " * $l) + .;

def cat: sub("Category:";"") | sub(" User$";"");
"As of \(now | strftime("%A %B %d, %Y %Z %H:%M") ):",
"\n\("Language" | rpad(30)) Users",
"_" * 36,
([.query.pages[] | {title, n: .categoryinfo.size}]
| sort_by(.n) | reverse | .[:10][]
| "\(.title | cat | rpad(30)) \(.n|lpad(5))" )
</syntaxhighlight>
{{output}}
<pre>
As of Tuesday June 25, 2024 EST 06:52:

Language Users
____________________________________
C 468
Python 344
Java 343
C++ 330
JavaScript 307
PHP 200
Perl 195
SQL 177
UNIX Shell 160
Pascal 139
</pre>
</pre>