日本語プログラミング言語(にほんごプログラミングげんご)は、日本語風のプログラミング言語である。ソースコードを日本語の文字(仮名や漢字)で記述したり、文法に日本語の語順・規則を採用していたりする。なお、この記事で扱う言語のほとんどは、あくまで通常のプログラミング言語と同様の(形式言語としての)ベースがあるものであり、形式言語ではない自然言語によるプログラミング(w:Natural language programming)の一種としての「日本語によるプログラミング」ではない。

特徴

自然言語としての日本語の知識を使って、日本語話者がソースコードを読むことが可能であり、また語順も日本語と同じであるものもあり、解釈に必要なコストが低くなる。そのため(日本語話者の)プログラミング初学者には受け入れられやすい、などと主張されている。

日本語にはわかち書きの習慣がないため、既存の字句解析器の適用が難しい。あえてわかち書きを必須としているものもある(Mindなど)。日本語として自然な表現を行うためには自然言語処理の技術を援用している処理系もある。

その一方で、日本語プログラミング言語には、シンタックスなどの業界統一規格がなく、ほかの既存言語の資産(業界標準のオープンソースライブラリなど)を活用しづらいとの批判もある(なお、例えば他の既存言語に「オブジェクト指向言語のシンタックスなどの業界統一規格」といったものも存在しないので、これに関してはおそらく他の既存言語でも全く変わることなく同様に活用しづらいと思われる)。

歴史

1980年代に開発された言語に、1983年に国際データ機器株式会社の鈴木孝則が商品化した『和漢』や、『Mind』がある。

『和漢』は、日本語ワープロを中心にコンピュータの利用が広まっていたことを受け、「ワープロ感覚で日本語でプログラミングができれば」という考えで制作された。

また、当時はマイコンも一般に広まりつつあり、BASICなどの既存言語の予約語を日本語に置き換えただけのような作りで、構文などは日本語の構文とは似ても似つかないものであったが(参考:G-BASICの主なステートメントとコマンド)、マイコンでもそういった試みが行われている。

1980年代に開発が始められた『Mind』は、日本語の語順との類似が指摘される逆ポーランド記法のForthをベースとして、日本語に近い記述を可能とした。

日本語プログラミング言語のベースに使われる言語には、前述のBASICやForthの他に、LOGOなどもある。

大岩元らは、初心者に対するアルゴリズム教育のためのプログラミング環境として『言霊』と『ことだま on Squeak』を設計、開発している。

言語の例

Category:日本語プログラミング言語も参照のこと。

  • 朱唇(水谷静夫)
  • カナ文字FORTRAN
  • 和漢
  • 日本語AFL(共立出版『アルゴリズム辞典』 pp. 587-589)
  • G-BASIC(ぴゅう太に搭載)
  • Mind
  • Ring
厳密には、日本語プログラミング言語ではないが、キーワードや演算子の再定義機能、または自然言語プログラミングライブラリの使用により、日本語プログラミングも可能である(UTF-8 の範囲内でならば日本語以外の使用または日本語との併用も可能である)。
  • 論理的プログラミング言語「論具」(LONG、LOgical Natural lanGuage description)
  • TTSneo、プロデル
  • ドリトル
  • ひまわり、なでしこ
  • 言霊、ことだま on Squeak
  • まほろば
  • DNCL(大学入試センター試験「情報関係基礎」)およびTUAT-LE(農工大)
  • つちのこ
  • AppleScript(Mac OS 8.5 より前)

記述例

Ring

ChangeRingKeyword see さあ、
の時間だ。 = "" // これは無視されます。
挨拶 = "Hello
World" // 複数行リテラル
さあ、 挨拶 の時間だ。 // コード本文

TTSneo

「Hello[改行]World!」を表示

※[改行]の"["は全角で記述する。

なでしこ

「Hello {改行} World!」と表示 ’母艦(メインフォーム)に表示。
「Hello {改行} World!」と言う ’ダイアログボックスで表示。

その他

難解プログラミング言語の記号を特定の日本語に置き換えたプログラミング言語が、しばしば遊びで作られる。(→Brainfuck#派生言語など)

脚注


日本語プログラミング言語 なでしこ3

50年前のプログラミング言語 50年後のプログラミング言語 ppt download

初めにどのプログラミング言語を学ぶべき?言語を選ぶポイント! 文系アラフォー女がプログラミングを勉強してみたら!

「日本語プログラミング言語」を徹底解説 Reゼロから始める文系プログラマ

プログラミング言語入門 2013 (C言語 初級) 演習期間 担当 参考資料 採点 10/24 1/23 (全10回) 松澤,鈴木,児玉