プログラミング言語を社会言語学的視点からも見る ― Haskell, ANSI C, JavaScript (ECMA-262) の事例を通じて by hsjoihs

関数型まつり2025
公募セッション25分
公募セッション

プログラミング言語を社会言語学的視点からも見る ― Haskell, ANSI C, JavaScript (ECMA-262) の事例を通じて

hsjoihs hsjoihs hsjoihs
5

対象とする聴衆のレベル

  • Beginner: 分野の前提知識を必要としない
  • Intermediate: 分野の基礎知識を持っている

セッションのテーマ

  • 理論
  • 入門

セッションの概要

本セッションでは、プログラミング言語の標準化を、人間が話す言語における「標準語」「言語規範」と類比させ、社会言語学的視点から考察します。具体的には、Haskell・ANSI C・JavaScript (ECMA-262) という 3 つのプログラミング言語の標準化プロセスを取り上げ、それぞれが「複数の実装・方言が先に存在し、それらをまとめるために標準化を行った」という共通点を持つことに着目します。

Haskell は当時数多くの非正格な純粋関数型プログラミング言語が乱立していた状況を収斂させるために、ANSI C は初期の多様な処理系を政治的にまとめて権威ある承認 (imprimatur) を得るために、そして JavaScript (ECMA-262) は本来の意図を超えてブラウザ間の実装の差に留まらない範囲にまで活用範囲が拡張していったという混沌を統治するために、いずれも大きな労力と妥協を経て標準化されました。
ところで、一旦規格が制定されてしまうと、世の中に「正しい処理系」と「正しくない処理系」が誕生してしまうことになります。今までは「まあ、こんな感じに動くものがこのプログラミング言語だよね」だったのが、規格化以降は「この処理系は正しい」「この処理系は規格非準拠であり、誤っている」という価値観に晒されることになってしまいます。
人間が用いる言語においては、こういった「標準語の威信 (prestige)」というテーマは、社会言語学という分野において頻繁に取り上げられる定番のテーマとなっています。本セッションでは、プログラミング言語の標準化プロセスおよびその後のプログラミング言語コミュニティに対してこういった論じ方を試み、プログラミング言語の標準化がどのような社会的・文化的背景を持っているのか、その過程で生まれた数多くの、よく「歴史的経緯」という言葉で十把一絡げで扱われる事象について、より深く理解することを目指します。