How to spend the terminal

技術ブログでさえない

日本語プログラミング言語 なでしこ

この記事はSLP KBIT Advent Calendar 2015 - Adventarの7日目の記事です。

なでしこについて

なでしこはクジラ飛行机氏によって作られたインタプリタ方式のスクリプタ言語です。この言語の最大の特徴は日本語でプログラミングができるということです。
ダウンロードは次のサイト(http://nadesi.com/top/)からできます。ダウンロードをしてすぐに使えます。

日本語プログラミング

大抵のプログラミング言語はアルファベットで記述します。日本語が使えるのはコメント、文字列、変数(Javaなど一部の言語)ぐらいでしょう。
日本語でプログラミングできるのはなでしこ、ひまわり、ドリトル、Mind、プロデル、Prolog(一部の処理系のみ)ぐらいであまりありません。トミー・・・ぴゅう太・・・頭の中で何かが

日本語プログラミング言語が少ない理由として、字句解析が難しいことがあります。ひまわりでは、読点やスペースで字句を区切らないといけないです。なでしこでは、助詞区切りを用いることにより自然に近い日本語で記述することが可能です。(「こんにちは」が「こん に ちは」と区切られるという問題があったりしますが)

日本語プログラミングの利点は何でしょうか?それは日本語圏の人が直感的にプログラミングできることでしょう。アルファベットを用いてプログラミングをするとき、日本語から英語に変換する必要があります。日本語プログラミングではその手順が必要ないのです。英語の方がわかりやすいとか言わない

書き方

なでしこは日本語プログラミング言語なので演算子等は全角でも可能です。

hello world

手始めにhello worldをしてみましょう。

「こんにちは、世界」と言う。

メッセージボックスが出ます。

こんなことも出来ます。

クジラが「こんにちは、世界」と言う。

クジラが「こんにちは、世界」と言いましたね。 このように、なでしこはGUIが作りやすいです。

変数

変数は文字列、整数、数値、配列、ハッシュの型があります。動的型付けになっています。 型宣言は

aとは変数。

と書き、変数宣言は

aは10
a = 10
10をaに代入。

の3種類があります。

四則演算

四則演算は演算子を使えますし、日本語で書くことも可能です。

aは10と5を足したもの
aは10と5の和
a = 10 + 5

条件分岐

条件分岐は、もし(if)、ならば(then)、違えば(else)を使います。

もし、aが10以上ならば
    「aは10以上」と表示する。
違えば、
    「aは10より小さい」と表示する。

繰り返し

n回繰り返したいときは、

n回
    (処理)

Cのfor文のようにカウンタで繰り返したいときは、

iで0から9まで繰り返す
    (処理)

while文のように条件が真の間繰り返したいときは、

iが9以下の間
    (処理)

配列

配列のアクセスは、

a¥0
a[0]

の2種類です。多次元配列は、

a¥0,1
a[0,1]

です。

ハッシュ

ハッシュは

香川@「うどん」は「さぬきうどん」
香川@「県庁所在地」は「高松市」

と書きます。マニュアルによると"@"は日本語の「の」に似ているからとのことです。

おすすめサイト

関連製品

  • なでしこデラックス版
    機能拡張版。2015年12月現在、一般版は10800円で、学生優待版は3240円(!)。(共に税込み)
  • 日本語プログラム言語なでしこ公式バイブル
    クジラ飛行机氏による公式解説本。欲しいです。

最後に

なでしこは文系サラリーマンのために役立つ言語と言われるように、MS Officeなどでの仕事の効率化を図ることができます。
もちろんそれ以外も可能で、様々なアプリケーションを作ることが可能です。
日本語のみで書けるので、英語がわからない人でも簡単にプログラミングを行うことができると思います。僕が最初に触れたプログラミング言語はひまわりでした。
今のなでしこはWindowsでのみ動きますが、現在開発されているなでしこ2.0ではC#で書かれているので、MacLinuxでも動くようになります。楽しみですね。