Jump to content

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

julia example
(A Python implementation)
(julia example)
Line 162:
44= 25 REXX
</pre>
 
=={{header|Julia}}==
<lang julia>""" Rank languages on Rosetta Code's site by number of users."""
 
using HTTP
using JSON3
 
const URI = "http://rosettacode.org/mw"
const PARAMS = [
"action" => "query",
"format" => "json",
"formatversion" => "2",
"generator" => "categorymembers",
"gcmtitle" => "Category:Language users",
"gcmlimit" => "999",
"prop" => "categoryinfo",
"rawcontinue" => "",
]
 
function mediawikiquery(site=URI, type="pages", query=params, mintoshow=100)
langusers = Dict{String, Int}()
url = site * "/api.php?" * join(map(x -> x[1] * "=" * x[2], params), "&")
r = HTTP.get(url)
data = JSON3.read(String(r.body))
for page in data["query"]["pages"]
lang = occursin("User", page["title"]) ? split(page["title"], r"\:|\sUser")[2] :
page["title"]
if haskey(page, "categoryinfo")
langusers[lang] = page["categoryinfo"]["size"]
else
langusers[lang] = 0
end
end
for (i, p) in enumerate(sort!([lp for lp in langusers], lt = (x, y) -> x[2] > y[2]))
last(p) >= mintoshow && println(lpad(i, 2), " ", rpad(first(p), 30), last(p))
end
end
 
mediawikiquery()
</lang>{{out}}
<pre>
1 C 427
2 Java 310
3 Python 307
4 C++ 303
5 JavaScript 282
6 PHP 183
7 Perl 182
8 SQL 158
9 UNIX Shell 150
10 Pascal 131
11 C sharp 131
12 BASIC 130
13 Haskell 113
14 Ruby 104
</pre>
 
 
=={{header|Nim}}==
4,111

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.