2014年12月17日水曜日

マルチリンガルになりたい!④ 日本語プログラミング言語編

開発チームの本田です。

12月も残り半月となり、いよいよ一年の終わりという気がしてきましたね。
年末年始は家で過ごすという方、旅行に行く方など、過ごし方は様々かと思います。
今年の悔いは残さず、来年に向けて英気を養い、新たな一年を頑張っていきたいですね。

ちなみに私の年末年始は飲み会の予定だらけです。肝臓さん負けないで!


さて、今回のテーマは「日本語プログラミング言語」です。
大学時代の研究室に言語系の研究をしているメンバーが多かった関係で、個人的には少々馴染みがある世界だったりします。

日本語プログラミング言語はその名の通り日本語でプログラムが書ける言語のことですが、読者の皆様は触ったことはありますか?
今回は様々な日本語プログラム言語を紹介してみようと思いますので、興味があれば是非実際に触ってみていただきたいな、と思います。

■ Mind

午前?とは
    時刻を得て                            
    時が 12より 小さいこと。                   
                                     
メインとは                                
    午前?
        ならば 「おはよう」を                  
        さもなければ                       
            「こんにちは」を                 
        つぎに                          
    表示し 改行すること
Mindは、恐らく最も多くのアプリケーションに採用された日本語プログラミング言語です。
今は違うようですが、2004年から2010年ごろまでのぐるなびの検索エンジンはこの言語で書かれていたとか。

Mindの大きな特徴として単語間をスペースで区切る「わかち書き」を採用しています。上のコード例の3行目をみるとよく判りますね。
わかち書きをさせると自然言語っぽさが失われるので最近の日本語プログラミング言語ではあまり採用されませんが、字句解析に苦労しないで済むので言語仕様がシンプルになります。

いち早くアプリケーションが作られた理由は、そこにありそうですね。

■ ドリトル

かめ太=タートル!作る。
カメ=タートル! 作る。
時計=タイマー! 作る 0.1秒 間隔 500回 回数。 時計! 「かめ太! 10 歩く」 実行。
左=ボタン!”左”作る。 左:動作=「かめ太! 20 左回り」。
右=ボタン!”右”作る。 右:動作=「かめ太! 10 右回り」。
ドリトルは教育用プログラミング言語です。開発現場での実用性はほぼありませんが、小中高等学校の教育現場でそれなりに活躍しているとか。

比較的有名ですが、触ったことはありません・・・。
特徴としてはMindと同じくわかち書きでコードを書くことと、教育用ということで簡単にアニメーションを動かしたりすることが出来ます。

■ なでしこ

母艦について 
  W=320。H=240。 
母艦を中央移動 
3回 
  「ボタン{回数}をボタンとして作成。」をナデシコする。 
  「エディタ{回数}をエディタとして作成。」をナデシコする。
なでしこは、恐らく現在最も元気のある日本語プログラミング言語です。2004年度のIPA未踏ユースに採択されており、それから10年経過した今でもコミュニティの動きが活発です。

わかち書きをしないのもあり、先に紹介した二つと比較するとコードが自然言語に近くなっています。後はメインフォームを「母艦」と書くあたり言葉選びに独特のセンスがあって私は好きです。
「ナデシコする」はちょっとどうかと思いますが・・・。

■ TTSneo

ウィンドウ1の表示
待機

手順は ウィンドウ1の表示
ウィンドウ1を使う
ウィンドウ1の中の大きさを312,210へ変えろ
  その名前を「ウィンドウ」へ変えろ
  その背景を&h8000000Fへ変えろ
文章テキスト1を作れ
  その位置を0,0へ変えろ
  その大きさを250,170へ変えろ
ウィンドウ1を表示
終わり
手順は ウィンドウ1の文章テキスト1でキーボードを押す
もし 押したキーは、「F1」 なら
  「ヘルプ」を表示
もし終わり
終わり
TTSneoはVisual Basicベースで書かれた日本語プログラミング言語で、Windows向けのツールを作るのに適しています。この言語で不正プログラムが作成されてしまった例があるほどです。

コードも比較的自然言語に近くて、読みやすいです。ただVBベースだからか動作がちょっと遅い気はします。後は作者さんが後述する「プロデル」の開発にシフトしたのもあって、基本的には不具合修正以外のバージョンアップは行われていない感じですかね?

■ プロデル

トラックという車を作る
トラックを鳴らす

車とは

  [自分]を、鳴らす手順
    「ブッーブッー」を表示する
  終わり

終わり
プロデルはTTSneoの後継として作られた言語で、日本語プログラミング言語では珍しい「オブジェクト指向言語」です。VBベースから.NET Frameworkベースに変わった事で、Windowsとの仲の良さはそのままに速度アップしています。
言語仕様的には日本語プログラミング言語の中で今のところ一番しっかりしているような。

正式版リリースからそろそろ2年程度の新しい言語だからなのか、まだあまり普及はしていない印象ですね。個人的に好きなんだけどなー。

■ まとめ

日本語プログラミング言語、どうでしたか?
改めて調べてみると思っている以上に進化していたり、使われていたりして、私自身も少し驚きました。

英語で書かれた言語に慣れていると最初は違和感があるかもしれませんが、ちょっとしたツール開発とかには思いのほか便利ですよ。後で読みやすいし。
面白いと思ったら是非使ってみてください。

0 件のコメント:

コメントを投稿