Rosetta Code/Rank languages by popularity: Difference between revisions

+Stata
m (→‎{{header|REXX}}: updated the number of computer programming languages (on Rosetta Code).)
(+Stata)
Line 4,522:
29. 431 - JavaScript
30. 410 - Jq</pre>
 
=={{header|Stata}}==
 
First we build the database:
 
<lang stata>copy "http://rosettacode.org/wiki/Category:Programming_Languages" lang.html, replace
import delimited lang.html, delim("@") enc("utf-8") clear
keep if ustrpos(v1,"/wiki/Category:")
gen i = ustrpos(v1,"title=")
gen j = ustrpos(v1,char(34),i+1)
gen k = ustrpos(v1,char(34),j+1)
gen s = usubstr(v1,j,k-j+1)
keep if usubstr(s,2,9)=="Category:"
gen lang=usubstr(s,11,ustrlen(s)-11)
keep lang
save lang, replace
 
copy "http://rosettacode.org/mw/index.php?title=Special:Categories&limit=5000" categ.html, replace
import delimited categ.html, delim("@") enc("utf-8") clear
keep if ustrpos(v1,"/wiki/Category:") & ustrpos(v1,"member")
gen i = ustrpos(v1,"title=")
gen j = ustrpos(v1,char(34),i+1)
gen k = ustrpos(v1,char(34),j+1)
gen s = usubstr(v1,j,k-j+1)
keep if usubstr(s,2,9)=="Category:"
gen lang=usubstr(s,11,ustrlen(s)-11)
drop i j k s
gen i = ustrrpos(v1,"(")
gen j = ustrrpos(v1,")")
gen s = usubstr(v1,i,j-i+1)
gen k = ustrpos(s," ")
gen t = usubstr(s,2,k-1)
destring t, gen(n)
drop v1 i j k s t
merge 1:1 lang using lang, keep(2 3) nogen
replace n=0 if missing(n)
gsort -n
save tasks, replace</lang>
 
Now some results, as of 2017-12-03:
 
<lang stata>* Total number of entries
qui sum n
di r(sum)
57210
 
* Number of languages
count
671
 
* Number of languages with at least one entry
count if n
650
 
* First 10 languages
list in 1/10, noobs noheader
+--------------+
| Racket 961 |
| Python 958 |
| Perl 6 925 |
| Tcl 918 |
| J 883 |
|--------------|
| C 874 |
| Kotlin 868 |
| Zkl 857 |
| Ruby 845 |
| Go 828 |
+--------------+</lang>
 
=={{header|Tcl}}==
1,336

edits