はじめに
本記事は「なぜ、そら豆スクリプトは、自然な日本語をめざさないのか」という開発者さんの記事に感銘をうけたお話から、同じテーマについて考察し、「日本語トランスコンパイラ言語 Re:Mind(リマインド)」という自作トランスコンパイラ言語の企画意図をまとめています。
参考リンク
なぜ、そら豆スクリプトは、自然な日本語をめざさないのか catch.jp catch.jp-wiki 2012-12-02
↑こちらが直接感銘を受けた記事です。記事の発信者は日本語プログラミング言語「なでしこ」1の開発コントリビュータさんっぽい感じのスクリプト言語開発者さん。
BingのCoパイロットに記事を要約していただき、さらに私の方で要約しました。
・そら豆スクリプトとは:
日本語っぽいプログラミング言語であり、自然な日本語を目指さない。
・自然な日本語を目指さない理由:
ほとんどのプログラミング言語は自然言語ではなく、自然な正しい日本語を定義するのは難しいから。
・なぜ日本語っぽいプログラミング言語を使う/作るのか?:
たとえ一部でも、見なれた言葉がまざっていたほうが、プログラミングが圧倒的にラクになる。
・プログラミングの本質:
コンピュータやネットワークをどのように動かすか、きちんと考えて表現することだ。
どこに感銘を受けたか
「なぜ、日本語っぽいプログラミング言語を使ったり作ったりするのかというと、たとえ一部でも、見なれた言葉がまざっていたほうが、プログラミングが圧倒的にラクチンになるからだ。」というお言葉。ここで言われている「見なれた言葉」とは日本語の単語のことと解釈できます。
このあたりは人による「好み」で、だいぶ意見が分かれるでしょう。私は日本プログラミング言語ユーザーでもあるので、半角英数字記号のASCII文字だけの実装言語にはこだわりはなく、可能な限り業務単語や用語を原語のままソースコードにそのまま持ってきたいクチなので、この方の感覚やおっしゃりたいことに強く同感してしまうのです。
「記号と略号だけで、ほぼ作れるプログラミング言語もあるけれど、覚えたり使いこなすのに、時間がかかる。」いやいやそれは「あなた」だけでしょ!とみなぎる自信から異論を感じるデベロッパーさんもたくさんいらっしゃるでしょう。
私も英語の読み書きはそれほど抵抗がある方ではないのですが(すらすら読めるという意味ではない)また、記号と略号だけの言語も大好きなのですが、日本語がなんだか好き。
納得したところ
「自然な正しい日本語(のプログラミング言語)を定義するのはカンタンじゃない」というお言葉。本文ではだいぶ大きな見出しヘッダになっています。
日本語プログラミング言語Mind2のように逆ポーランド記法とスタック処理を使ったForth言語をベースとした例を除くと、その後の世代の「なでしこ」や「プロデル」3は語順や助詞の扱いなどで、そうとう苦労されていると拝察いたします。
記事の結論
「そら豆スクリプトでは、あえて自然な日本語によるプログラミングを目指していない。自分のアタマで考えて自分のアイデアをカタチにする、それをラクにする道具を目指している。」と、おっしゃっていると解釈しました。
とにかく、別にいまでもラクですよと思われる方はたくさんいらっしゃると推定されます。別にASCII文字言語でラクに書けるし、アイデアもまとめられるしと、強めの自信を持たれている方は多いと思います。
ただし、結果はどうあれ形式言語として日本語を採用したプログラミング言語はもっと百科繚乱であってよいと思っておりまして、著者の方のご努力に敬服する次第です。
わたしの方向性
やはり、プロフェッショナルなデベロッパー、プログラミングを生業とするような方は、地頭もよい目で英語単語の読み書きも抵抗がない方が多いと思います。
とはいっても、そのような感覚はけっこう若めの脳をお持ちの方で、それは実年齢とは関係ないかもしれませんが、システム開発業界の中では経験とともにあるいは実力高めの理由により、システム全体を見る立場に移っていってしまうと、なかなか細かい実装言語にタッチする機会といいますか、実務時間としては実装作業は消失し、細かい実装言語のライブラリまでは覚えていないし、なにか動くものを書けるというところまでのスキルを消失している方はざらにいらっしゃるかと。
ので、そういう層とばりばり現役実装担当者層とのコミュニケーションツールとして日本語プログラミング言語が生かせないかなと考えております。また、現役プログラマと元プログラマの共有ツールとしての位置づけなので、日本語らしさにはこだわらず、一般的なC/C++由来の構文を許容しています。(ただし、ブロック文の波かっこは使わない。)
おわりに
「『〇〇〇〇』という〇〇さんの記事に感銘を受けた話」も実は今回で3回目となります。この記事のシリーズ化は最初の記事投稿時から想定しておりました。2回目の記事4を投稿したときは、もうそんなに反響ないだろうと思っていましたが、1回目5を上回るView数といいねをいただき驚いています。
今後も似たテーマ
母語でのプログラミング言語って必要なの?
で記事をあげていくと思いますが、お付き合いいただけると幸いです。
-
Qiita なでしこでもっと美しくFizzBuzzを書く 参照 ↩
-
Qiita 日本語プログラミング言語「Mind」最新版をリリースしました 参照 ↩
-
Qiita 日本語プログラミング言語「プロデル」でズンドコキヨシ 参照 ↩
-
Qiita 「『プログラミング=英語』という状況は正しくない。多言語でコードを書ける世界が求められている」という言語学者さんの記事に感銘をうけた話 参照 ↩
-
Qiita 「日本語プログラミング言語は 日本人にとって可読性が高いが、 なぜあまり普及していないのか」という学生さんの卒論に感銘をうけたお話 参照 ↩