今までFizzBuzzを書いたプログラミング言語の数すら数えられない

今までいくつかの言語でFizzBuzzを書いてきた。その成果は id:eel3:19700104:1258419993 に一覧化してある。

これ、現時点でどれくらいの数の言語で書いているかカウントしようとしたのだけど、どうにも正解が分からない。

  1. C言語ANSI C89)
  2. C++(多分C++98相当)
  3. GNU AWK(nawk相当)
  4. PerlPerl 5.8)
  5. RubyRuby 1.8.7
  6. Objective CamlOCaml 3.10.0)
  7. LuaLua 5.1.4)
  8. Tcl(Tcl/Tk 8.4)
  9. /bin/shbash 2.04)
  10. バッチファイル(Windows XP Pro SP3)
  11. Windows PowerShellPowerShell 2.0 on Windows XP Pro SP3)
  12. REXXRegina 3.5)
  13. JScript on WSHWSH 5.7 on Windows XP Pro SP3)
  14. VBScript on WSHWSH 5.7 on Windows XP Pro SP3)
  15. ActiveBasicActiveBasic 4.24.00)
  16. Hot Soup ProcessorHSP 3.21a)
  17. 秀丸マクロ(秀丸エディタ 8.03)
  18. Vim script(香り屋版Vim 7.3.154)
  19. T4 Text Template(Visual Studio 2010付属)
  20. GNU m4(GNU m4 1.4.4)
  21. Objective-CObjective-C 2.0; XCode 4.0.2, Mac OS X v10.6 SDK
  22. make編(GNU Make 3.81 && NetBSD make 1.111)
  23. COBOL編(OpenCOBOL 1.0 + MinGW 5.0.3)
  24. Fortran 90〜95編(G95 4.1.2)
  25. bash編(bash 3.1.17, 4.1.5)
  26. CASL II編(JavaCASL2 2.0)
  27. JavaScript on Rhino編(Rhino 1.7R3、Node.js 0.6.15, 0.7.8、PhantomJS 1.4.1)
  28. CoffeeScript編(CoffeeScript 1.3.3 + Node.js 0.6.18)
  29. GNU Debugger編(GDB 7.2)
  30. bc編(GNU bc 1.06)

上記のカウント方法だと30言語になる。ただ、このカウントには何点か曖昧な部分がある。

  • JScriptJavaScriptを区別しているが、同一視するべきか?
    • 現状のように区別する場合、Rhino・Node.js・PhantomJSを一括りにするのか、それとも区別してよいのか(各処理系の拡張ありありでFizzBuzzしているので)?
  • Bourne ShellBashを区別しているが、同一視するべきか?
  • makeと一括りにしているが、GNU MakeとNetBSD Makeを区別するべきか(各処理系の拡張ありありでFizzBuzzしているので)?

この解釈の差によって、最小で28言語、最大で33言語と5言語ぐらいの差異が生じてしまう。うーん、正解はどれなのだろう?