冴えない日本語プログラミングの育てかた#

プログラミングの世界で”日本語プログラミング”はマイナーな部類だと思います。ただブログやSNSで「プログラミング」と「日本語」がキーワードの話題が挙がると、「日本語プログラミング」という単語を思い浮かべる方は、意外とたくさんいらっしゃるようです。そんな中で「実用的でない」といった意見を見かけます。

この記事を読んでいる方は、日本語プログラミング言語が具体的にどのようなもので、どんなプログラムか、ご存じの方ばかりなはずです。しかし、日本語プログラミングを知らない人に対して、「日本語プログラミングの魅力」をうまく説明するのは、難しいのではないかと思います。私もその一人です。

そこで、日本語プログラミングの魅力を説明するために、そもそも日本語プログラミングが「実用的でない」と言われてしまう理由に何があるのか、考えてみたいと思います。このことで日本語プログラミングの本当の魅力を説明するための材料になれば幸いです。

その前に、プロデルは実用的です。

プログラミング言語に最低限求められる機能は、四則演算や変数などのメモリアクセス、条件分岐などの制御構文、関数やクラスなどの構造化定義、ファイル入出力、ライブラリへアクセスです。

プロデルはもちろんこれらの機能を備えています。プロデルでは実用的なWindowsデスクトップアプリや実用的なWebサーバアプリを作るのに必要なライブラリが用意されています。プログラミング環境としては十分実用的なプログラミングが可能です。

 

ではなぜ、日本語プログラミングを見て「実用的でない」と言われてしまうのでしょうか。Twitterを見ていく中で、いくつかの理由を推測してみました。

「日本語+プログラム=ネタ言語」

所謂ネタ言語の存在があるからかもしれません。

代表的なネタ言語であるBrain●ack系のプログラミング言語には、日本語の単語を組み合わせるものがあります。英数字や記号を使わずに日本語を使うことで、プログラムらしくない独特な雰囲気となり、面白い表現が可能となります。ただ、これらは本来記号でも良いものに、あえて日本語を使っているだけです。コンピュータが識別できれば、アルファベットでも数字でも記号でも、空白でも構いません。ネタとして以外に日本語を使う必要性はありません。

プログラミングに興味のある方は、日頃からこういったネタ言語を目にする機会があり、無意識に、日本語+プログラム→ネタ言語→「実用的ではない」と刷り込まれているのだと推測します。

ネタ言語はプログラミングの原理を理解する良い題材でもあり、ネタ言語そのものは勉強になる事柄がたくさんあります。ただ、それらの識別子に、たまたま日本語が使われていたために「これが日本語プログラミングだ」と思われてしまっていることが若干あるように思います。

もし日本語プログラミング言語で書かれたプログラムを見かける機会が増えれば、こういった刷り込みもなくなるのでは無いかと思います。

プログラムの動作を日本語で書いたExcel仕様書

ソフトウェア開発の現場では、Excel等で書いた仕様書に、日本語でプログラムの振る舞いを書くことがあります。

実際にプログラムを作る前に仕様書を書きます。この仕様書には、これから開発するソフトウェアの構成や動作を日本語の文章として書いていきます。仕様書には、プログラムとして実装する前に、実際にプログラムで動作させることを日本語で書くことから、この仕様書を「日本語プログラミング」と言っている方もいるようです。例えば「F社が・・・」という名詞が出てくる場合にはこのタイプです。

仕様書はあくまでも設計図なので、実際に動かすことはできません。ですから「日本語プログラミング=実際に動くプログラムでない」と思っているのではないでしょうか。

「日本語プログラミング」がマイナーである故、どうすることもできないですが、日本語プログラミングの魅力を説明する上で、このタイプを知っておいた方がよさそうです。

(※仕様書をプログラムに変換する試みもあります。もしこれらの試みが実用的になれば、それもまた日本語プログラミングなのかもしれません)

日本語はキー入力が多くなる

日本語プログラミングでよく指摘されるのが「日本語はキータイプ数が多くなる」という言う点です。

確かに英単語や記号に比べて、ローマ字入力ではタイプ量が増えます。それは煩雑だと思います。しかし、最近はIMEや検索サイトに入力補完機能があるように、日本語であっても、数文字タイプすれば入力できてしまいます。充実した開発環境があれば、完全に入力したときのタイプ量の多さは、問題になりません。

プロデルでは入力補完機能を用意して、快適にプログラムを入力できるような工夫をしています。日本語プログラミング言語に適した実用的な開発環境を用意していくことも大切です。

実例が少ない

実際に日本語プログラミング言語を見たことがあっても、日本語プログラミング言語の実績の少なさが理由で、学習用や研究用として受け取られてしまっているかもしれません。

マイナー言語である故に、コミュニティが小規模で、関連する情報が少ないという点です。未知のプログラミング言語やライブラリを利用する際に、作るために参考となる情報が少なければその言語でプログラムを作ることは諦めてしまうでしょう。実例が少ないことで、バグ取りや優れたライブラリの開発も行われる機会が少なく、実用的でないと思われる可能性があります。

最近ではIT系ニュースサイトに取り上げられる日本語プログラミング言語もあります。こういった機会に恵まれることは素敵なことだと思います。一方で実績については、(見えないだけかも知れませんが)同じような現状を抱えているように思います。

プロデルに至っては、関連する情報を得られる場所が殆ど無く、実績の少なさが一番の課題です。このブログを通じて、プロデルでプログラムを作るための情報を書きためて行くことで、実績を溜める努力ができればと思っています。

実用的かどうかは作りたいもの次第

プログラミング言語には各々得意不得意があり、すべての要求に応えることは難しいです。たまたま作りたいものが日本語プログラミング言語に不向きなこともあります。

プログラミング言語そのものだけでなく、提供されているライブラリの有無によって、作れる物の向き不向きがあります。これは日本語プログラミング言語に限った話ではありません。

プロデルでは、Windows向けデスクトップアプリを作ることが最も得意です。一方で今流行のスマフォアプリやWindowsアプリは作れませんし、LinuxやMacOSでも利用できる機能がコンソールアプリやWebアプリなどに限られます。

ムリしてプロデルで作らなくても、プロデルが得意な分野で、作りたいものがあれば、積極的に使うのが良いと思います。

まとめ

こうして、いくつかの点に分けて考えると「実用的でない」と思われる理由は、単に「日本語であるから」だけではないように思います。推測がたくさん含まれる内容でしたが、個人的な実感として、一言で「日本語プログラミング」といってイメージするものが人それぞれ違うことは、間違えないと思います。

日本語プログラミングの魅力を伝える上で、日本語プログラミングを冷静に見つめて、良い点・悪い点を知ることで、日本語プログラミングの本当の魅力を主張することが一番大切だと思います。

今この記事を読んでいる日本語プログラミング言語ユーザの方々には、否定的な意見を並べ立てる人に負けず、自分が素敵だと思う魅力をたくさんの方に紹介して頂ければ嬉しいです。

  • いいね (0)
  • 続きを読みたい (0)

プロデルが輝く10のポイント

プロデルが輝く10のポイント

「プロデル」は、本当の意味での日本語プログラミング言語を目指して、ずっとコツコツと開発を進めてきました。

プロデル開発途上版を見た方や、かつてTTSneoを使っていた方は、久しぶりにプロデルを見て「今、何が変わったの?」という疑問を持ったかもしれません。

この記事では、そんな方にプロデルが輝く10のポイントと題してプロデルの技術的な特徴を紹介します。

“プロデルが輝く10のポイント” の続きを読む

  • いいね (9)
  • 続きを読みたい (29)

日本語プログラミング言語が必要な理由

多くのプログラミング言語では、英単語や記号の羅列によって定義や動作を記述する言語仕様です。
ただ日本語で読み書きし話し考える日本人にとって、義務教育の中で英語を学ぶとは言え、英単語を扱うことは日本語を扱うよりも難しいように思います。多くの日本人は日本語だけで物事を理解して考えているからです。

そういった中でソフトを作るプログラミングという作業でも、英単語を使わずに日本語を使いたい、考えることは自然なことのように思います。
ところが実際は最初に述べたような英単語主体のプログラミング言語が主流で、日本語を話すプログラマでも多くは英単語主体のプログラミング言語を使っています。そこには既に習得したプログラミング言語から移行してまで日本語でプログラムを書きたいとは思わない。という背景もあるのかと思います。
そこで、日本語プログラミング言語が必要な理由を挙げてみることにしました。

“日本語プログラミング言語が必要な理由” の続きを読む

  • 続きを読みたい (1)
  • いいね (8)