All Programming Langs are actually just C/C++

m
number of times other languages repositories used that language

Take note of how all these languages actually use C in some part of there codebase.

Besides Golang, good for you 😋

Lets do some data scraping!

I made a quick bash script to scrap popular programming langs's github "languages" stat. heres results


langs=(python/cpython" "ruby/ruby" "golang/go" "Perl/perl5" "openjdk/jdk" "JuliaLang/julia" "php/php-src" "rust-lang/rust" "nim-lang/Nim" "ziglang/zig)
for reponame in ${langs[@]}; do
     
    language=`curl -s https://api.github.com/repos/${reponame}/languages | jq`

    echo "$reponame" : $language,
done

{
"python/cpython" : { "Python": 32188651, "C": 16711336, "C++": 369586, "M4": 203654, "HTML": 188327, "Batchfile": 75043, "Shell": 57220, "Assembly": 49121, "Roff": 39480, "Makefile": 35874, "Objective-C": 26849, "Common Lisp": 24579, "PLSQL": 22886, "PowerShell": 20248, "Rich Text Format": 6936, "DTrace": 2196, "CSS": 1325, "XSLT": 1217, "VBScript": 70 } ,
"ruby/ruby" : { "Ruby": 32914747, "C": 14849831, "C++": 1555350, "Yacc": 1151497, "Makefile": 970413, "M4": 177346, "Roff": 116776, "Python": 42545, "GDB": 36134, "Ragel": 29755, "HTML": 19540, "CSS": 16546, "JavaScript": 14769, "Shell": 14361, "Assembly": 13918, "Batchfile": 12158, "Emacs Lisp": 4051, "sed": 1893, "Scheme": 557, "Raku": 497, "Perl": 187 } ,
"golang/go" : { "Go": 44330487, "HTML": 2621340, "Assembly": 2548000, "C": 106315, "Shell": 53983, "Perl": 31365, "JavaScript": 20486, "Python": 15702, "Batchfile": 8393, "C++": 917, "Makefile": 748, "Dockerfile": 506, "Awk": 450, "Fortran": 394 } ,
"Perl/perl5" : { "Perl": 25137134, "C": 15446507, "Shell": 1436240, "XS": 1225838, "C++": 477832, "DIGITAL Command Language": 238295, "PLSQL": 163742, "Makefile": 133413, "Pascal": 126071, "PHP": 116584, "Yacc": 48266, "Prolog": 24588, "Roff": 19777, "Objective-C": 4110, "Assembly": 3657, "Batchfile": 2696, "POV-Ray SDL": 2196, "TeX": 1708, "DTrace": 491, "Emacs Lisp": 312 } ,
"openjdk/jdk" : { "Java": 352745839, "C++": 60529877, "C": 26274744, "Assembly": 11161724, "Objective-C": 1930946, "HTML": 1551733, "XSLT": 1139326, "Shell": 840067, "Roff": 801118, "M4": 732602, "Hack": 589099, "Python": 240825, "JavaScript": 93945, "Makefile": 43213, "Mathematica": 33636, "DTrace": 32222, "Metal": 32216, "Awk": 28914, "CSS": 8616, "GDB": 5042, "Perl": 4708, "sed": 3129, "Batchfile": 1713, "AppleScript": 1676, "Red": 396, "SourcePawn": 222 } ,
"JuliaLang/julia" : { "Julia": 10896092, "C": 2662268, "C++": 1615855, "Scheme": 487054, "Makefile": 120494, "LLVM": 70638, "Pascal": 50776, "Clojure": 34978, "Shell": 33060, "Objective-C": 25812, "PHP": 19964, "Assembly": 13047, "Inno Setup": 7142, "Python": 6360, "JavaScript": 4687, "Rich Text Format": 2850, "DTrace": 678, "AppleScript": 215, "Dockerfile": 140, "GDB": 76 } ,
"php/php-src" : { "C": 80710828, "PHP": 26122575, "M4": 413963, "C++": 351232, "Shell": 303926, "Lua": 272151, "JavaScript": 196996, "Assembly": 189907, "Lex": 97599, "Yacc": 83601, "Makefile": 32866, "Roff": 31543, "GAP": 23475, "GDB": 13366, "Batchfile": 10885, "XSLT": 7715, "DTrace": 4514, "Awk": 2920, "HTML": 411 } ,
"rust-lang/rust" : { "Rust": 51756122, "Python": 222228, "JavaScript": 179417, "Shell": 167490, "Makefile": 165291, "C++": 145890, "CSS": 84232, "Dockerfile": 74374, "HTML": 63835, "C": 32306, "Roff": 12701, "Assembly": 11973, "RenderScript": 11434, "Pascal": 7471, "XSLT": 2439, "RPC": 863, "CMake": 640, "Puppet": 340, "Batchfile": 280 } ,
"nim-lang/Nim" : { "Nim": 11906377, "HTML": 188741, "C": 57559, "CSS": 40884, "Python": 28435, "C++": 22541, "NSIS": 10651, "Shell": 8935, "Assembly": 4495, "Batchfile": 2928 } ,
"ziglang/zig" : { "Zig": 28851186, "C++": 3668324, "C": 161614, "JavaScript": 77192, "CMake": 62145, "Shell": 31763, "HTML": 18883, "Python": 2892, "Batchfile": 1746, "Objective-C": 560, "Objective-C++": 469, "Assembly": 434 } ,
}

Here's my python notebook you can play with

Google Colaboratory

and my observable notebook for making graphs!

https://observablehq.com/@wisehackermonkey/all-programming-languages-are-just-c-lang

The GRAPHS! 

because who doesnt love graphs!

Demo 〽️🎉

static image of graph incase observablehq goes down

What does this graph mean?

answer: what is the most used languages to build other programming languages. based on a dataset of 9 langs.

Notes: see how the assembly is first, this is just because of alphabetical

I also like how it reads C/C++ 😎

More graphs!

The graph shows the number of lines of code sorted by programming language.

Analysis

hmm. first java, then c/c++. My guess is that java JVM has a lot of code

Yeah, java isnt used by other langs. used by any of the other programs langs

I was right

Takeaways...

1) graphs are cool

2) graphs are cool

3) C/C++ is a popular for building programming languages with.

4) graphs are cool 😋

Thanks for reading 😀

Author

by oran collins
github.com/wisehackermonkey