プロデルから見た日本語プログラミング言語の歴史

今回は、日本語プログラミング言語の歴史をまとめてみたいと思います。

「プログラムを日本語で書く」という試みは、40年ほど前から様々な人が取り組んでいました。パソコンが大衆に普及する前から情報処理系の学会誌や専門誌などには「日本語プログラミング言語」という言葉は載っており、実際に動作する実装も存在していました。

意外かもしれませんが、日本語プログラミング言語として言われている言語は名前だけならかなり多数あります。その中でも、その時々で有名なプログラミング言語がありますが、日本語プログラミング言語を使う人が少数で情報も少ないこともあり、全部を知っている人は、いないと思います。私もその一人です。

今回は、多分に含む主観的な感想や自分語りも含めて、プロデルを使う私たちの視点から見た日本語プログラミング言語の歴史を見てみたいと思います。

“プロデルから見た日本語プログラミング言語の歴史” の続きを読む
  • いいね (26)
  • 続編を読みたい (22)

プロデルで日本語らしくプログラミング – 助詞「の」

プロデル1.7.1016にてようやく「の」の仕様が固まったので今回紹介します。

プロデルでプログラムを作っていると「の」の仕様がよく分からないと思われた方が多いかと思います。実はプロデルを設計している過程で当初から「これだ」という仕様を固めることが難しく、今日まであやふやなままでいました。

今回は、「の」についてしっかり説明したいとも思います。

“プロデルで日本語らしくプログラミング – 助詞「の」” の続きを読む
  • いいね (12)
  • 続編を読みたい (13)

日本語プログラミング言語は自然言語プログラミングを目指しているのか?

日本語プログラミング言語について話していると「日本語は曖昧だからプログラミング言語に向いていない」というコメントを頂くことがあります。

私は20年ほど日本語プログラミング言語を作って使ってきましたが、なぜ「日本語が曖昧である」ことが「プログラミング言語に向かない」ことになるのか、その思考が理解できないでいます。

“日本語プログラミング言語は自然言語プログラミングを目指しているのか?” の続きを読む
  • いいね (6)
  • 続編を読みたい (2)

プロデルとなでしこの比較

日本語プログラミング言語「プロデル」を見つけて頂き、ありがとうございます。

この記事では、なでしこと比較したプロデルの特徴をご紹介します。プロデルは、15年以上の月日を掛けて開発していますが、何故か公に取り上げられる機会がぼぼ皆無で、存在や魅力が伝わりづらいプログラミング言語かと思います。

ここでは、両者の日本語プログラミング言語を比較し、違いをご紹介します。

日本語で書くプログラミング言語

両者は、プログラムを日本語で記述する点では同じです。変数名や関数名を日本語で書くだけ、英語の予約語を日本語へ単純に置き換えるだけはなく、プログラミング言語の文法そのものが日本語で書くことを前提にしています。一番の特徴は、助詞を用いて普段の日本語の語順でプログラムを書くことです。

このような日本語プログラミング言語の取り組みは、決して少なくありません。何名かの開発者によっていくつも開発されています。中でも「プロデル」は、TTSneoというプログラミング言語を引き継いだ、長い歴史を持つ、進化し続ける日本語プログラミング言語です。

比較表

プロデルの視点から大雑把な比較表を示します。なでしこについての正確な情報はあちら側の資料をご参照ください。

プロデル / スミレなでしこV1 / V3
対象者ホビープログラマ
実用アプリ開発 (汎用用途)
IT技術者(を目指す方)
プログラミング初心者
事務処理用途
プログラミング教育向け
無料?Yes
(有料版はありません)
Yes
実行環境Windows向け
(mono版/スミレはマルチプラットフォーム)
1はWindows専用
3はマルチプラットフォーム
コンパイラか?Yes
(CIL準拠の中間言語コンパイラを選択可)
No
ランタイム環境があるYes
(ランタイム環境を選択可能)
Yes
(1のみ)
トランスレータか?NoYes
(3はJavaScript/PHP/Goに変換)
Webアプリの開発Yes
(FastCGI, 簡易Webサーバ)
Yes
(3はNode.js)
実行可能ファイルの配布Yes
(Windowsネイティブアプリ)
Yes
商用利用YesYes
オブジェクト指向Yes
(クラス型オブジェクト指向)
No
(1はグループ機能で一部対応)
Webブラウザで動く?Yes
(スミレ畑のみ)
Yes
(3のみ)
GUIアプリが作れる?Yes
(フォームデザイナにて開発可能)
Yes
(1のみ)
チャットアプリは作れる?YesYes
ゲームは作れる?YesYes
ファイル操作YesYes
Office連携Yes
(Excel, Word, PowerPoint, Access; VBAレベルの操作が可能)
Yes
(Excel,Word, PowerPoint)
データベースYes
(ODBC, OracleDB, SQL Server, MySQL(MariaDB), PostgeSQL, SQLite)
Yes
タートルグラフィックスYes
(カメ, キャンバス)
Yes
グラフ作成Yes
(チャート種類)
Yes
FeliCaYes (フリー領域の読み書き可能)No
バーコードYes (ブログ記事参照)Yes
インデントによるブロックNoYes
ここまで?終わり,もし終わり,繰り返し終わりここまで
尋ねる?聞く/確認する尋ねる
言う?表示する/報告する言う
エクセル起動?エクセルを起動するエクセル起動
母艦?ウィンドウ母艦
開発開始1999年頃~(TTSneo)2001年頃~(ひまわり)
使い方このブログ, Webマニュアル, Qiita, YouTube動画Webマニュアル, 書籍, 記事など
サポート掲示板掲示板

このように両者の共通点、違いもありますが、プログラミング言語としての十分な機能を備えており、優劣は付けなれないはずです。あなたにとってどちらが良いかは、前提や対象によって異なり、ケースバイケースです。ぜひ気になったプログラムをご自身で作ってみて比較してみてください。

プロデルは難しい?

プロデルは、日本語で書く点以外では、よく知られる有名なプログラミング言語と基本的な機能に違いはありません。プログラミングで有名なアルゴリズムはプロデルでも実装できます。プロデルなら、複雑で実用的なプログラムも十分に作ることができます。

一方で、プロデルではオブジェクト指向という考え方を導入しているので、少し覚えることが多く、難しいと感じるかも知れません。このブログには、初心者向けの入門記事を投稿していますので、初心者でも記事を読めばプロデルやプログラミングの勉強が可能です。

プロデルのミッション

プロデルは、本当の日本語プログラミング言語を模索し提案しています。日本人であれば日本語でプログラムを書きたい・表記したいと思うのは、至極、自然な発想だと思います。しかし、これまでずっと「プログラムは英単語や記号で書くもの」「日本語プログラミング言語=初心者向け」という考えがプログラミング界隈に染みついてしまっています。安易に思いつくデメリットに捕らわれて、日本語でプログラミングをする本質的な良さを追求する人がいません。

プロデルのミッションは、日本語でプログラミングする良さを引き出し、日本人にとってのプログラミングの選択肢を増やすことです。ITが進歩しコンピュータが普及していく中で「日本語で書ける実用的なプログラミング言語を提供すること」は意味があると思っています。

日本語プログラミング言語に真剣に向き合ってきた「プロデル」をぜひご体験ください。

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

プロデルの配列の添字が1から始まる話

今回は、プロデルの配列の添字が1から始まる話を書きたいと思います。プロデルでは、配列の添字が1から始まります。身近な多くのプログラミング言語では0からはじまりますので、プロデルのクセがある所の1つだと思います。なぜ1から始まるのかの理由やその利点と欠点をまとめられればと思います。

“プロデルの配列の添字が1から始まる話” の続きを読む
  • いいね (5)
  • 続編を読みたい (2)

日本語プログラミングを研究テーマにしたいと思った時に

今回は、普段の話題とは違って、大学や高専の卒業研究で、日本語プログラミングを研究テーマにしたいと思った方のための入り口を紹介できればと思います。

なお筆者は研究者ではないので、最近の研究分野の事情についてはよく知りません。あくまでも参考程度に読んで頂ければと思います。 “日本語プログラミングを研究テーマにしたいと思った時に” の続きを読む

  • いいね (5)
  • 続編を読みたい (8)

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

広いプログラミングの世界で“日本語プログラミング”はマイナーな部類だと思います。

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

“冴えない日本語プログラミングの育てかた#” の続きを読む

  • いいね (12)
  • 続編を読みたい (13)

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

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

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

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

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

  • いいね (19)
  • 続編を読みたい (55)

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

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

そういった中でソフトを作るプログラミングという作業でも、「英単語を使わずに日本語を使いたい」と考えることは自然なことのように思います。

ところが実際は最初に述べたような英単語主体のプログラミング言語が主流で、日本語を話すプログラマでも多くは英単語主体のプログラミング言語を使っています。そこには既に習得したプログラミング言語から移行してまで日本語でプログラムを書きたいとは思わない。という背景もあるのかと思います。

そこで、日本語プログラミング言語が必要な理由を挙げてみることにしました。

“日本語プログラミング言語が必要な理由” の続きを読む
  • いいね (18)
  • 続編を読みたい (9)