プログラミング言語のソースコード行数

概要

プログラミング言語ソースコード行数は、数万行から百数十万行です。

はじめに

私はプログラミング言語を作成しているのですが、一体どれくらい書けば一通りの機能を揃えることができるのか、他のプログラミング言語を調べてみました。

行数

計測は、以下のスクリプトで行いました。

find="/usr/bin/find"
xargs="/usr/bin/xargs"
wc="/usr/bin/wc"

${find} . -name "*.pl" -o -name "*.pm" -o -name "*.sls" -o -name "*.pas" -o -name "*.dfm" -o -name "*.dfm" -o -name "*.ml" -o -name "*.as" -o -name "*.cs" -o -name "*.h" -o -name "*.cpp" -o -name "*.c" -o -name "*.py" -o -name "*.rb" -o -name "*.y" -o -name "*.l" -o -name "*.tmpl" -o -name "*.def" -o -name "*.inc" -o -name "*.java" -o -name "*.scm" | ${xargs} ${wc} -l

対象には、yaccやlexが生成したコードも含まれます。結果は、以下の通りになりました。

言語 バージョン 行数 備考
Perl 5.10.0 1,101,471  
Python 2.6 1,080,858  
Ruby 1.9.0-5 816,713 鬼車を含む
Mosh リビジョン660 754,726 BoehmGC, 鬼車、R6RS Test Suiteを含む
なでしこ リビジョン43 637,399  
Gauche 0.8.14 449,833 BoehmGCを含む
Ypsilon リビジョン264 126,951  
Xtal リビジョン269 29,464  
Diksam 0.4 Unix 26,108  
Lua 5.1.4 17,086  
Crowbar 0.4.02 Unix 13,601  
Sukuna 0.4.6c 7,174  
Cyan 1.0.2 6,932  
以下参考      
BoehmGC 7.1 51,912  
鬼車 5.9.1 43,889  

雑感

Luaのスマートさには驚きです。