社会全体でのデジタル化が急務とされ、学校教育の場でもプログラミングというものが実施される中、プログラミング言語に対する関心も高まっていると思います。
若い世代についてはこれから学校でそれなりに学んで行く事になるワケですが、学校教育の一環としてプログラミング学習をほとんど受けなかった世代においては、今現在からプログラミングスキルを取得しようとしている方も結構多いのではないでしょうか?
世代を問わずにプログラミング学習というものを考えた時、やはり話題に上がるのが「日本語プログラミング言語」というものです。
自分自身もいくつかの言語のチュートリアルだけをかじった程度の経験値で、今現在まさにプログラミング言語の学習を久しぶりにコツコツ行っている身ではあるのですが、日本語プログラミング言語について思う所を語ってみようかと思います。
目次
日本語プログラミング言語とは?
プログラミング言語とは一般的に、英語をベースとした作りとなっています。
文法というよりは単語、語彙を英語から持ってきている事が多いと言った方が良いでしょう。
その基本語彙を日本語でプログラミングできる言語というのが「日本語プログラミング言語」です。
英語に通じていない日本人が英語ベースのプログラムソースをパッと見た印象は、「なんか分からないけど色々書いてるなぁ」といったような感想でしょう。
それに比べて日本語プログラミング言語のソースであれば、正確にどういったプログラムであるかは分からないとしても、書いてある文章をそのまま解釈する事によって、その文章単体でどういった処理をされるかという事はかなり分かりやすいと思われます。
日本語プログラミング言語の必要・不要論議
先ほども触れたように、多くのプログラミング言語は英語を前提として作られています。
英語が分かれば、書かれている事が大凡どんな内容であるのかを察する事が出来る程度には英語ライクな言語が多いと思われます。
そういった意味では、日本人にとってプログラミング言語が取っつきづらい理由の一つとしてその点が挙げられるのも自然な解釈でしょう。
そこで「プログラミング学習には日本語プログラミング言語が必要だ」という発想が出て来るのも自然なものだとは思いますが、そこは賛否両論。
英語をベースとしているとは言え、英語の文法をそのまま適用するような言語は然程多くなく、あくまで基本的な単語などが英語をベースに作られているというケースが多いんです。
ですから、取っつきやすさという点で日本語プログラミング言語の有用性が全くないとは言えないものの、そこは大した問題ではない、むしろ最初から英語ベースのプログラミング言語に慣れるためにもメジャーな言語から始めた方が良い、といった話も出て来るわけです。
日本語プログラミング言語に対する個人的な見解
プログラミング学習の入り口として
日本語プログラミング言語を語る上で絶対に上がる話題として、「日本語ベースの方が英語ベースより学習しやすい」という事。
これは一理あるとは思いますが、必ずしもそうとも言えないと考えます。
たしかに、例えば小学生にプログラミングを教えるような場合であれば、日本語ベースの方が教えやすいというのは大きなメリットでしょう。
しかし中学生や高校生、つまり英語の基本語彙を理解しているような世代に対して教える事を考えると、果たして日本語ベースである事がそれほどのアドバンテージを持つものか?とは感じます。
自分としては、一定のメリットはあるものの、最初から「パイソン」だったり「Javaスクリプト」だったりを習得する事と比較した場合、実用的な言語へたどり着く前に別の言語から覚える「遠回り」をするだけの意義があるのかという点を考えると、「どっちもどっち」な気がしてしまいます。
日本語プログラミング言語は絶対に必要
自分はプログラミング学習の入り口としてではなく、もっと実用的な言語として「日本語プログラミング言語」というものが絶対に必要だと思っています。
なぜなら、言葉を持つという事は文化を持つという事ですから、裏を返せば自分達の(プログラミング)言語を持たないという事は、文化を持たないのも同然なんです。
…と言いきってしまうと少々極端に聞こえるでしょうし、そこまで言ってしまうと流石に言い過ぎですが、しかし突き詰めて行けばそういった話になります。
いつまでも借り物の文化を拝借するだけで良いのなら話は別ですが、自分達の文化を持つという意識を持たない事には、いつまでたっても日本はプログラミングという分野において一次的な存在にはなれないでしょう。
現状求められる事は、すでに実用レベルで多用されている先進的なプログラミング言語を習得しつつ、そこから学び取ったものを日本語プログラミング言語の育成へとつなげる事です。
学ぶべき事は学びながら「自分たちの言語」を確立する事、これは絶対に必要な事です。
日本語プログラミング言語への不満点
自然な日本語である事はメリットか
自分がさわりだけ触れた日本語プログラミング言語について一様に言える事は、「日本語の文章として自然に読めるものでプログラミングする」といったスタンスが明確に存在している事です。
この点が、自分が日本語プログラミング言語に対して感じる最大の不満点です。
例えば自分が今学習し始めている日本語プログラミング言語である「プロデル」について見てみましょう。
参考
日本語プログラミング言語「プロデル」プロデル公式サイト
例えば「こんにちは、プロデルへようこそ」と表示させるプログラムは以下のように書きます。
「こんにちは、プロデルへようこそ」を表示する
まさに日本語の文章そのままですね。
たしかに分かりやすくて良いんですが、自分としてはこのような書き方をしたいと思ってしまいます。
「こんにちは、プロデルへようこそ」表示
プロデルでこの文章を実行するとエラーが発生して実行されません。
どこがエラーとなるかと言えば、【「こんにちは、プロデルへようこそ」を表示する】のをが抜けているからです。
自然な日本語の文章を意識すると、当然「を」が入っている方が自然です。
しかしプログラミング言語を記述する時、あるいは読む時においては助詞の存在が、自分にはどうも余計に感じてしまうのです。
「自然な日本語文章=読みやすいプログラム」ではない
自然な日本語の文章である事が読みやすさの最重要ポイントであるといった考え方が、日本語プログラミング言語一般には存在しているように感じます。
ひょっとすると日本語プログラミング言語を開発なさっている方々(プログラミングのプロの方々)にとってはそう見えるのかも知れません。
何となく、より自然な言語でプログラミング言語を表現する事自体に美学を持っているような印象もあるのですが、実際の所はどうなのでしょう?
自分のようなプログラミングの「プ」をかじって放置したまま数年、久しぶりにプログラミングの世界に帰って来たようなユーザーからすると、「自然な日本語文章である事は必ずしも読みやすさに繋がらない」と思えてなりません。
むしろ、より端的に記述できる方が分かりやすいと感じる事が多く、そういった点が自分にとっては非常に悩ましいというか、もどかしく思う所なんですよね。
日本語プログラミング言語の未来に期待
個人的には日本語プログラミング言語は絶対に必要だと思っていますから、今後日本語プログラミング言語を本格的に活用する事が日本のIT業界において議題として俎上に上がる事を大いに期待したい所です。
恐らくは開発現場でPythonやruby、Javascriptといった言語を駆使している方々の中には、「日本語プログラミング言語が絶対に必要だ」と言われてもピンと来ない方々も多いのではないかと思います。
そんなものをわざわざ育てなくても今ある素晴らしい言語を活用すれば良いじゃないか、その方がよっぽど効率的かつ現実的だろう、そう考えるのは当然と言えば当然かも知れません。
しかし繰り返すようですが、自分たちの言語を持たないという事は、文化を持たないのも同然なんです。
この事が、これからの世の中ではより際立って重要となってくるでしょう。
現状普及している優れたプログラミング言語を活用しつつ、日本語プログラミング言語をしっかりと育む意識を持てるか否か、日本におけるプログラミング文化の繁栄を考えると、遠回りのようで実はこれこそが極めて順接的な歩みだと自分は確信しています。
…と、なにやら偉そうに講釈を垂れたわけですが、自分自身でも日本語プログラミング言語を含めて様々な言語に触れて行きたいと思います。
今度こそは挫折せずに、趣味としてプログラミングを習得したい…!
助詞のついた日本語プログラムは短いおもちゃコードでは意味がないでしょう。
これは実際の業務で使ったりする超巨大ソースコードを作ってこそ、日本人にとっての究極の「リーダブルコード」を実現するのです。
助詞がなければ日本語だけで一意に解釈するのは不可能な場合がほとんどです。
日本語プログラムも形式言語なので日本語で一意に解釈できなくてもコンパイルが通れば動きますが、「オブジェクト指向によるカプセル化」や「リーダブルコード」の必要性は人間がでかすぎるコードのすべてを追いきるのが経済的でないからです。
助詞があれば一意に解釈可能な日本語を書け、結果としてコード内部を追わなくてもすぐに巨大コードの一部を理解可能になるのです。
もちろん、そういった利点があるからこそ採用している文体なんでしょうが、「助詞がなければ日本語だけで一意に解釈するのは不可能な場合がほとんど」とまで言えるかは疑問です。
全ての場合で助詞が不要と言っているわけではなく、必要な文脈では有効だと思いますよ。