はじめに:なでしこってどんな言語? 🤔
プログラミングに興味はあるけれど、「英語ばかりで難しそう…」「何から始めたらいいかわからない…」と感じていませんか? そんなあなたにピッタリなのが、日本語でプログラムを書けるプログラミング言語「なでしこ」です!
「なでしこ」は、クジラ飛行机(くじらひこうづくえ)さんによって開発された、日本生まれのプログラミング言語です。2005年2月17日に正式版が公開されて以来、「なでしこで誰でも簡単プログラマ」をキャッチフレーズに、多くの人にプログラミングの楽しさを伝えてきました。開発の早い段階からオープンソース(MITライセンス)として公開されており、誰でも自由に利用・改良できます。
最大の特徴は、なんといっても日本語の自然な言葉遣いに近い文法を採用している点です。例えば、「画面に『こんにちは』と表示する」といった、普段私たちが使う言葉に近い形でコンピューターに命令を出すことができます。これにより、英語が苦手な方やプログラミング初心者の方でも、直感的にコードの意味を理解しやすく、学習のハードルがぐっと下がります。👍
- これからプログラミングを始めてみたい初心者の方
- 英語のプログラミング言語に挫折した経験がある方
- パソコンの定型作業を自動化したいと考えている方
- 日本語で考え、日本語でプログラミングしたい方
- プログラミング教育に関心のある方
この記事では、なでしこの魅力や基本的な使い方、学習の始め方などを、初心者の方にも分かりやすく解説していきます。一緒に、なでしこの世界を探検してみましょう!🚀
なでしこの特徴と歴史 ✨
なでしこの主な特徴
- 自然な日本語で記述可能: 日本語の助詞(「は」「が」「を」「に」「へ」「と」など)や単語を使って、直感的に理解しやすいプログラムを作成できます。
- シンプルな文法: 初心者が覚えやすいように、文法はシンプルに設計されています。英語圏におけるBASIC言語のように、手軽に始められることを目指しています。
- 豊富な命令(関数): ファイル操作、文字列処理、画像処理、ネットワーク通信、Excel連携など、日常的な作業を自動化するのに便利な命令が多数用意されています。これにより、少ないコード量で実用的なプログラムを作成できます。
- 初心者向けの設計: プログラムを読むだけで、その動作がある程度推測できるように配慮されています。エラーメッセージなども日本語で表示されるため、問題解決に取り組みやすいです。
- Web版とデスクトップ版: 用途に応じて、Webブラウザ上で動作する「なでしこv3」と、Windows向けの「なでしこv1」があります。v3はJavaScriptに変換されて実行され、クロスプラットフォーム(Windows, macOS, Linux, スマホ, タブレット等)で動作します。v1はWindowsでのファイル操作やアプリ作成に特化しています。
- オープンソース: 誰でも無料で利用でき、改良や再配布も可能です(ライセンス条件に従う必要あり)。
なでしこの歴史
なでしこは、同じく日本語プログラミング言語である「ひまわり」の後継として開発されました。「ひまわり」にあった課題(分かち書きの必要性、実行速度、配布サイズなど)を解決し、より自然な日本語記述を目指して、2004年にベータ版が公開されました。この開発は、IPA(情報処理推進機構)の2004年度未踏ソフトウェア創造事業「未踏ユース」にも採択されています。
2005年2月17日に正式版(v1)が公開されて以来、バージョンアップが重ねられ、多くのユーザーに利用されてきました。特に、Windows上での作業自動化ツールとして人気を博しました。
近年では、Web技術の普及に伴い、Webブラウザ上で動作する「なでしこv3」の開発が活発に進められています。v3はHTML5に対応したブラウザやNode.js環境で動作し、より幅広いプラットフォームでの利用が可能になっています。2021年度の中学校技術の教科書にも採用されるなど、教育分野での活用も広がっています。
2020年には公開15周年を迎え、記念サイトが開設されるなど、コミュニティ活動も継続的に行われています。
なでしこを始めよう!環境構築 💻
なでしこを始めるのはとても簡単です!特に、Webブラウザで動作する「なでしこv3」なら、特別なソフトウェアをインストールする必要はありません。
Webブラウザで試す (なでしこv3)
一番手軽なのは、公式サイトにある「簡易エディタ」を使う方法です。以下のリンクにアクセスするだけで、すぐに なでしこ のプログラムを書いて実行できます。PCはもちろん、スマートフォンやタブレットでも利用可能です。
簡易エディタの画面はシンプルです。左側のエリアにプログラムを入力し、「実行」ボタンを押すと、右側のエリアに結果が表示されます。
PCにインストールして使う (なでしこv1 / v3コンソール版)
より本格的に使いたい場合や、Windowsの機能を直接操作したい場合(v1)、またはローカルPCでバッチ処理などを行いたい場合(v3コンソール版)は、PCにインストールすることも可能です。
公式サイトのダウンロードページから、用途に合ったバージョンをダウンロードできます。
- なでしこv1 (Windows版): Windowsでの作業自動化や簡単なツール作成に向いています。インストーラー版(setup.exe)またはZIP版があります。インストーラー版を実行すれば、自動でセットアップが行われます。ZIP版の場合は、解凍してフォルダ内の `nakopad.exe` (なでしこエディタ) を起動します。
なでしこv1 ダウンロードページへ - なでしこv3 (コンソール版/デスクトップ版): Web技術をベースにしており、よりモダンな開発が可能です。Node.js が必要になる場合があります。様々なOSに対応しています。
なでしこv3 ダウンロードページへ
v1をインストールした場合、`nakopad.exe` という専用のエディタが付属しています。このエディタには、命令の一覧表示や入力補完機能があり、開発をサポートしてくれます。
- v1: Windows環境でのファイル操作、Excel連携、GUIアプリケーション作成など、Windowsに特化した機能を使いたい場合。
- v3: Webブラウザで動くプログラムを作りたい、Webサイトに埋め込みたい、Windows以外のOSでも使いたい、Node.js連携や新しい技術を使いたい場合。
なでしこの基本文法 📖
それでは、なでしこの基本的な書き方を学んでいきましょう。非常にシンプルで分かりやすいですよ!
1. 画面への表示 (出力)
コンピューターに何かを表示させたいときは、「表示」という命令を使います。
# 文字列を表示する
「こんにちは、なでしこ!」と表示。
# 計算結果を表示する
1 + 2 + 3 を表示。 # 結果: 6
#
から始まる行はコメントといい、プログラムの説明などを書くためのものです。コメントはプログラムの実行には影響しません。
また、なでしこは語尾の表現に柔軟性があります。「表示。」「表示する。」「表示しろ。」「表示してください。」など、多少言い回しが違っても認識してくれることがあります。すごいですね! 😄
2. 変数 (値を覚えておく箱)
プログラムの中で、数値や文字列などのデータ(値)を一時的に保存しておく場所を変数と呼びます。変数には好きな名前をつけることができます。
# 変数「あいさつ」に文字列を代入
あいさつ = 「おはようございます」
あいさつを表示。 # 結果: おはようございます
# 変数「合計」に計算結果を代入
値段 = 500
個数 = 3
合計 = 値段 * 個数
「合計金額は」と合計と「円です」と連結して表示。 # 結果: 合計金額は1500円です
なでしこでは、変数 = 値
の形式の他に、より日本語らしい書き方もできます。
# 日本語らしい代入
「こんにちは」をメッセージに代入。
メッセージを表示。 # 結果: こんにちは
100を数値に入れる。 # 「入れる」でも代入できる
数値を表示。 # 結果: 100
変数の名前には、基本的に日本語の単語が使えますが、助詞(は、が、を、に、へ、と、など)を含む単語は区切りとみなされるため、注意が必要です。
通常、なでしこでは変数を使い始める前に宣言する必要はありません(型推論)。しかし、より厳密にプログラムを書きたい場合は、変数の型(種類)を宣言することもできます。
# 変数宣言の例 (必須ではない)
変数Sとは文字列。
変数Aとは整数。
S = 「テスト」
A = 123
Sを表示。
Aを表示。
3. 計算 (算術演算)
数値の計算も簡単に行えます。
演算子 | 意味 | 例 | 結果 |
---|---|---|---|
+ |
足し算 | 10 + 5 |
15 |
- |
引き算 | 10 - 5 |
5 |
* |
掛け算 | 10 * 5 |
50 |
/ |
割り算 | 10 / 5 |
2 |
% または ÷ |
割り算の余り | 10 % 3 または 10 ÷ 3 |
1 |
日本語らしい書き方も可能です。
# 日本語らしい計算
10に5を足して表示。 # 結果: 15
10から5を引いて表示。 # 結果: 5
10に5を掛けて表示。 # 結果: 50
10を5で割って表示。 # 結果: 2
10を3で割った余りを表示。 # 結果: 1
# 計算結果を変数に入れる
1に2を足して3を掛けて答えに代入。 # (1 + 2) * 3 = 9
答えを表示。 # 結果: 9
4. 条件分岐 (もし~なら)
特定の条件が満たされているかどうかで、実行する処理を変えたい場合があります。これを条件分岐といい、「もし~ならば」という構文を使います。
点数 = 85
もし、点数 >= 80 ならば
「合格です!よく頑張りました🌸」と表示。
違えば、もし、点数 >= 60 ならば
「合格です。もう少し頑張りましょう。」と表示。
違えば # それ以外の場合
「残念ながら不合格です。」と表示。
ここまで。 # 条件分岐の終わりを示す
この例では、変数「点数」の値によって表示されるメッセージが変わります。
>=
: ~以上<=
: ~以下>
: ~より大きい<
: ~より小さい=
: 等しい<>
または!=
: 等しくない
条件を組み合わせることもできます。
天気 = 「晴れ」
気温 = 28
もし、(天気 = 「晴れ」) かつ (気温 >= 25) ならば
「絶好のお出かけ日和ですね!☀️」と表示。
ここまで。
年齢 = 15
もし、(年齢 < 13) または (年齢 >= 65) ならば
「割引料金が適用されます。」と表示。
ここまで。
かつ
(&&
): 両方の条件が正しい場合または
(||
): どちらか一方(または両方)の条件が正しい場合
5. 繰り返し (反復処理)
同じような処理を何度も繰り返したい場合は、繰り返し(ループ)を使います。
# 1から5まで繰り返す
5回
回数と「回目の繰り返しです。」と連結して表示。
ここまで。
# 配列(リスト)の内容を順に処理する
果物リスト = 「リンゴ,バナナ,みかん」を「,」で区切る。
果物リストについて、反復
対象と「が好きです。」と連結して表示。
ここまで。
# 条件を満たす間繰り返す (whileループ)
カウンター = 0
間、カウンター < 3
カウンター = カウンター + 1
カウンターと「回目」と表示。
ここまで。
回数
や 対象
は、繰り返しの中で現在の回数や要素を参照するための特別な変数です。
6. 関数 (処理のまとまり)
一連の処理をまとめて名前を付け、再利用できるようにしたものを関数といいます。
●挨拶する(名前)
「こんにちは、」と名前と「さん!」と連結して表示。
# 関数を呼び出す
挨拶する("山田") # 結果: こんにちは、山田さん!
挨拶する("鈴木") # 結果: こんにちは、鈴木さん!
●税込み価格計算(税抜き価格)
税込み価格 = 税抜き価格 * 1.1
戻る 税込み価格 # 計算結果を返す
# 関数を呼び出して結果を受け取る
商品A価格 = 税込み価格計算(1000)
「商品Aの税込み価格は」と商品A価格と「円です。」と連結して表示。 # 結果: 商品Aの税込み価格は1100円です。
●関数名(引数)
で関数を定義し、関数名(値)
で呼び出します。引数(ひきすう)は関数に渡す情報、戻り値(もどりち)は関数が返す結果です。
なでしこの便利な機能(一部紹介)🌟
なでしこには、基本的な文法の他にも、様々な便利な命令が用意されています。いくつか例を見てみましょう。
- 日付・時刻の扱い:
# 今日の日付を表示 今日を表示。 # 特定の日付までの日数を計算 締め切り日 = 「{今年}/12/31」 今日から締め切り日までの日数差を表示。
- ファイル操作 (v1/v3コンソール版):
# ファイルに書き込み (環境によっては動作しない場合があります) 「これはテストです。」を「test.txt」に書き込む。 # ファイルの内容を読み込み 「test.txt」を読んで内容に代入。 内容を表示。
- GUI操作 (v3 Web版):
# ボタンを作成 ボタン作成("押してね!",「クリックされました!」と表示する処理) # テキストボックスを作成 テキストボックス作成("入力エリア") # スライダーを作成 スライダー作成(0, 100, 50)
(注: 上記は概念的な例です。実際のv3ではHTML要素として生成・操作します)
- 音声合成・再生 (v3 Web版 / v1):
# テキストを読み上げる (ブラウザや環境に依存) 「なでしこは楽しいです」と話す。 # 効果音を再生 (別途ファイルが必要) # 「sound.wav」を再生。
- タートルグラフィックス (v3): カメを動かしてお絵かきする機能で、プログラミングの基本的な考え方を視覚的に学べます。
# カメを動かして正方形を描く カメ作成。 4回 カメ前進(100) カメ右回転(90) ここまで。
これらはほんの一例です。公式サイトの命令一覧を見ると、さらに多くの機能があることがわかります。
簡単なプログラムを作ってみよう!🔨
これまでの知識を使って、簡単なプログラムを作成してみましょう。
例1: 簡単な挨拶プログラム
# 名前を尋ねる
「あなたのお名前は?」と尋ねて、名前に入れる。
# 時間帯によって挨拶を変える
もし、時間 < 12 ならば
「おはようございます、」と名前と「さん!」と連結して表示。
違えば、もし、時間 < 18 ならば
「こんにちは、」と名前と「さん!」と連結して表示。
違えば
「こんばんは、」と名前と「さん!」と連結して表示。
ここまで。
このプログラムは、実行すると名前を尋ね、入力された名前と実行時の時間帯に応じて挨拶のメッセージを表示します。(尋ねる
命令は環境によってはダイアログボックスを表示します)
例2: 簡単な計算機
●足し算表示(A, B)
答え = A + B
「{A} + {B} = {答え}」と表示。
●引き算表示(A, B)
答え = A - B
「{A} - {B} = {答え}」と表示。
# 関数を呼び出す
足し算表示(10, 5) # 結果: 10 + 5 = 15
引き算表示(10, 5) # 結果: 10 - 5 = 5
足し算表示(7, 3) # 結果: 7 + 3 = 10
このプログラムでは、足し算と引き算を行う関数を定義し、それらを呼び出して結果を表示しています。{変数名}
という書き方は、文字列の中に変数の値を埋め込むための便利な記法です(文字列テンプレート)。
学習リソースとコミュニティ 📚🤝
なでしこをさらに深く学ぶための資料や、他のユーザーと交流できる場所を紹介します。
-
公式サイト:
- なでしこ公式サイト: なでしこ全般の情報が集約されています。
- なでしこ3 公式サイト: v3に関する情報はこちら。
-
公式ドキュメント・チュートリアル:
- なでしこ3 オンラインマニュアル: v3の文法や命令の詳細な解説があります。チュートリアルもここから。
- なでしこ(v1) オンラインマニュアル: v1のマニュアル。
- 命令一覧 (v3): 利用可能な命令を探すのに便利です。
-
書籍:
- 『日本語だからスイスイ作れる プログラミング入門教室』(マイナビ出版): なでしこ3の入門書。
- 『日本語プログラミング言語 なでしこ 公式バイブル』(マイナビ出版): v1系の解説書(少し古いですが基礎は学べます)。
- コミュニティ・情報交換:
-
オンライン記事・ブログ:
- TECH+(テックプラス)の連載 「ゼロからはじめてみる日本語プログラミング「なでしこ」」
- QiitaやNoteなどのプラットフォームでも、ユーザーによる解説記事が見つかります。
分からないことがあれば、まずは公式ドキュメントを確認し、それでも解決しない場合は交流掲示板などで質問してみましょう。優しい先輩たちが教えてくれるかもしれません😊
まとめ:なでしこでプログラミングを楽しもう!🎉
この記事では、日本語プログラミング言語「なでしこ」について、その特徴から基本的な使い方、学習方法までを紹介しました。
- 日本語で書けるので、初心者でも直感的に理解しやすい!
- 文法がシンプルで覚えやすい!
- Webブラウザだけで手軽に始められる! (v3)
- 日常作業の自動化や、ちょっとしたツール作りに便利!
- プログラミングの基本的な考え方を楽しく学べる!
プログラミングは、難しいものではなく、アイデアを形にするための楽しいツールです。なでしこは、その第一歩を踏み出すのに最適な言語の一つと言えるでしょう。
ぜひ、公式サイトの簡易エディタで、色々な命令を試してみてください。自分で書いたプログラムが動く感動を味わえば、きっとプログラミングがもっと好きになるはずです。
なでしこを通じて、あなたのデジタルライフがより豊かで便利なものになることを願っています! Happy Coding! ✨
参考情報
- 日本語プログラミング言語なでしこ 公式サイト: https://nadesi.com/
- なでしこ3 オンラインマニュアル: https://nadesi.com/v3/doc/
- Wikipedia なでしこ (プログラミング言語): https://ja.wikipedia.org/wiki/なでしこ_(プログラミング言語)
コメント