なでしこ (プログラミング言語)

なでしこは、クジラ飛行机（くじらひこうづくえ）が制作したインタプリタ方式のスクリプト型プログラミング言語である。Windowsに特化したv1系と、Webに特化したv3系の二系統がある。v1系の動作確認済みのOSは、Microsoft Windows 98/Me/2000/XP/2003/Vista/7/8/10。v3系は、クロスプラットフォームで、HTML5に対応したWebブラウザ、また、Node.js上で動作する。

概要 

ほとんどのプログラミング言語の文法は英語をベースにしているが、なでしこは日本語をベースにしているひまわりの後継プログラミング言語として、より自然な記述を目標として0から開発され、2005年2月17日に、正式版が公開された。

なでしこは、オープンソースのプログラミング言語であり、ソースコードが公開されている。なでしこ(v1)の本体はDelphiで開発された。インタプリタ方式なので実行速度は遅いが、ひまわりと比べると、実行速度が10倍以上速くなっている。なでしこ(v3)は、JavaScriptに変換されて実行される。

ひまわりと比べ、以下の改良・追加機能がある。
 実行速度が10倍以上速い
 機能がライブラリに分けられて配布サイズが小さい
 単語の区切りの句読点が不要
 インデントによる構造化表現
 コンソール版なでしこを用いたCGI実行

IPAの2004年度未踏ソフトウェア創造事業「未踏ユース」に採択されたプロジェクトの一つで、公開から15周年を迎えた2020年現在も意欲的に開発が進んでいる。また、2005年9月上旬には通称「なでしこ本」という、なでしこの公式ガイドブックが発売された。教育図書の2021年度中学校技術の教科書ではプログラミングの教材として採用され、なでしこの使い方が掲載された。モットーは「なでしこで誰でも簡単プログラマー」。

PDF関連命令、バーコード関連命令、スキャナ関連命令、積み木デザイナ（GUIエディタ）などを追加した、デラックス版（有料版）が、2019年9月19日のv1.577よりフリー版に統合された。また、スクリプト言語「Lua」や問い合わせ言語「SQL」などにも対応している。

LGPLを基本に採用し、状況により扱いが変わる、独自のライセンス形態になった。

プログラム例 
母艦（メインフォーム）に'Welcome to Nadesiko.'と表示されるプログラム
 「Welcome to Nadesiko.」と表示。
ダイアログに'Hello Nadesiko.'と表示されるプログラム
 「Hello Nadesiko.」と言う。
メモ帳を起動するプログラム
 「notepad.exe」を起動。
なでしこ3でアプリを起動する場合は、別途なでしこ3配布キットが必要になる。

文法

コメント 
「#」から行末まで
「//」から行末まで
「/*」から「*/」まで
がコメントである。
 # ここはコメントです。
 // ここもコメントです。
 /*
 ここもまたコメントです。
 */

変数 
変数名には、助詞などの予約語を除いた、英数字や「_」、日本語が使用できる。しかし、変数の先頭だけは数字を使用することはできない。
 長さは３０
通常は、変数の宣言は必要ないが、型を厳密にするために以下のように記述することができる。
 場所とは文字列
 年齢とは整数

ただし、上記の方法ではなでしこ3だと関数の宣言として扱われ、エラーになる。

数列・文字列ではJavaScriptと同じように扱うことができる。

なでしこv2 
C#でなでしこを書き直すことにより、Windows以外にMacやLinuxで動作できるようにするプロジェクト。実行方式はこれまでの、暗号化されたソースをそのまま実行ファイルに埋め込むのではなく、抽象度の高いバイトコードに変換して実行ファイルに埋め込む。開発は途中で中断している。

なでしこv3 
なでしこを、Webブラウザ上で動かせるように開発された。なでしこのコードは随時Javascriptに変換されて、HTML5に対応したモダンブラウザ上であれば、PC/スマートフォン/タブレットを問わず動かすことができる。Webブラウザ上でプログラムを開発し、実行することができる。

脚注

関連項目 
 ひまわり (プログラミング言語)
 日本語プログラミング言語

外部リンク 

 なでしこ公式サイト
 なでしこ3公式サイト

スクリプト言語
日本語プログラミング言語