「なでしこ3」とは、日本語のプログラミング言語です。「誰でも簡単プログラマー」を合い言葉に開発しています。 日本語プログラミング言語は、読みやすく理解しやすいのが特徴で、初めてでも楽しくプログラミングを覚えることができます。 日本語話者にとって、母国語で行うプログラミング教育にも最適です! また、なでしこは、もともと業務改善のためのツールとして開発されましたので、定型処理やバッチ処理などを手軽に記述するのも得意です。ゲームやツール、さまざまな用途でお使いいただけます。
はじめて「なでしこ」に挑戦する方は、次のチュートリアルから始めることをオススメします。日本語プログラミング言語の雰囲気が容易に理解できます。
WEB版なでしこ3は、内部的にJavaScriptに変換されて実行されます。そのため、JavaScriptが動作するさまざまな端末で実行できます。
- Webブラウザ(wnako3) - 主要ブラウザ(Chrome/Safari/Edge/Firefox)に対応し、PC/スマートフォンで動作
- コマンドライン(cnako3) - JavaScriptの実行エンジン「Node.js」上で動作
具体的な対応ブラウザについて詳しくは、対応機器/ブラウザ をご覧ください。Node.jsの対応バージョンは、v22以上です。
また、本リポジトリとは別に、PC版のなでしこ3(Go言語で実装されたもの)があります。
- PC版(gonako/gonako-gui) - デスクトップアプリ(gonako-gui)やコマンドライン(gonako)アプリを開発できます。作成したアプリを実行ファイル1個に梱包でき配布も簡単です。エディタ一体型のツールです。
次のWebエディタ上で、なでしこを実行できます。ブラウザがあれば動作します。
なでしこ3をインストールして動かす方法は下記にまとめています。
AIになでしこの文法を読み込ませることで、なでしこのプログラムをエラーなく動かすことが可能です。
先にNode.js/npmをインストールします。次いで、コマンドラインから次のコマンドを実行します。
npm install -g nadesiko3すると、cnako3というコマンドで、なでしこを利用できます。
# コマンドラインからプログラムを実行
cnako3 -e "「こんにちは」と表示。"
# ソースコード hello.nako3 を実行
cnako3 hello.nako3Gitコマンドをインストールした上で、次のコマンドを実行すると、なでしこの開発環境をセットアップできます。
git clone https://github.com/kujirahand/nadesiko3.git
cd nadesiko3
npm install
npm run build全てのコマンドが正しく動くかを確認するには、次のコマンドを実行します。
npm testブラウザ系テストについては、doc/browser-tests.md を参照してください。
ローカルPCになでしこをインストールしたら、次のコマンドを実行して、ブラウザで動作するエディタを起動できます。
# なでしこエディタ(WEB版)のサーバーを起動
npm start
# なでしこエディタ(Node.js版)を起動
npm run nako3editなでしこ3の命令一覧(doc/command_list.json)を、ターミナルから検索できます。
検索処理は、なでしこ3自身(batch/search_command.nako3)で書かれています。
# 命令名・読み方・説明から部分一致検索
npm run search:command -- ファイル
# Node.js版で使える命令だけを検索
npm run search:command -- ファイル --target cnako
# JSON形式で出力(AIエージェントや別ツール向け)
npm run search:command -- CSV --json
# 使い方を表示
npm run search:command -- --help詳しくは、doc/search_command.md をご覧ください。
日本語プログラミング言語「なでしこ」の開発は2004年にはじまりました。その後、何度も作り直しを行って、現在の「なでしこ3」ができています。 「なでしこ3」の開発は、2017年からコツコツと継続され、現在まで定期的にバージョンアップが続いています。 2004年に掲げた「誰でも簡単プログラマー」の目標を実現するために開発を続けます。
- (2026-09-07) 現行TS版と互換性のあるなでしこ3(Go版)を公開
- (2026-09-01) v3.8.1で古い__getProp/__setPropによるプロパティアクセスを廃止
- (2026-04-05) v3.7.17より生成AIの活用を大々的に開始
- (2024-07-22) v.3.6.11でcoreに分割した開発用リポジトリを再び本家に統合
- (2024-07-04) v3.6.8で、バンドルツールを
webpackからesbuildに変更(#1690) - (2024-05-02) v3.6.2で、プラグイン用APIを一新、なでしこの変数管理をObjectからMapに変更(#1638)
- (2022-05-19) v3.3.18でJavaScriptからTypeScriptへ変更。言語コアを別リポジトリcoreに移動
- (2022-04-20) v3.3.2を公開(モジュール構造をCommonJSからESModuleへ変更/非同期関数asyncFnの実装)
- (2021-04-09) v3.2.1を公開
- (2020-04-24) v3.1.2を公開
- (2017-12-29) v3.0.19を公開(無名関数「には」の実装)。これ以降、releaseに履歴を記録
- (2017-06-25) 内部構造を大幅に修正(PEGパーサーから独自のパーサーに変更)
- (2017-02-13) 「なでしこ3」のプロジェクトが開始
- (2005-02-17) 「なでしこ」の正式版が公開
- (2004-08-01) 「ひまわり2」としてゼロから「なでしこ」の開発が開始
- (2001-08-03) 「なでしこ」の前身「ひまわり」の開発を開始
なでしこ3自身を開発するために、開発環境を整えようという方は、 doc/SETUP.md をご覧ください。 なでしこユーザーと開発者用のためのDiscordがあります。
プルリクエスト大歓迎です。なでしこ3の開発に参加したい方は、次の手順に沿って作業をお願いします。
- まずGitHubのIssuesに修正したい内容や作業したい内容を書き込んでください。
git checkout -b branch_nameを実行して、ブランチを作成します。- ソースコードを修正して、
git commit -a -m コメントとgit push --set-upstream origin branch_nameコマンドを実行します。 - ここで、ブラウザでGitHubのなでしこのリポジトリを表示すると、画面上部に「Compare & pull request」ボタンが表示されるのでクリックして、プルリクエストを作成します。
- プルリクエストの画面では、何を修正したのかと、上記(1)のIssuesの番号を #1762 のように記述してください。
- なでしこ開発者がプルリクエストをレビューします。そして、必要な修正箇所を指摘しますので、お手数ですが修正をお願いします。
- 上記(3)に戻ります。修正箇所がなければ、修正がメインブランチにマージされます。
現在、マスターブランチ保護のため、直接コミットを禁止しています。既にコラボレータに登録されている方も、お手数ですがプルリクエストを作成してください。
なでしこ3を拡張するプラグインを作るには、以下のドキュメントを参考にしてください。
- WEB版なでしこ3(Node.js)
- PC版なでしこ3(Go)
- なでしこ3Node.js版の拡張プラグイン
- nadesiko3-server --- Webサーバ(HTTP)
- nadesiko3-websocket --- WebSocket
- nadesiko3-office --- Excelなど
- nadesiko3-sqlite3 --- SQLite3
- nadesiko3-tools --- 便利ツール
- nadesiko3-mecab --- 形態素解析(MeCab)
- nadesiko3-htmlparser --- スクレイピング
- nadesiko3-ml --- 機械学習
- nadesiko3-odbc --- データベース(ODBC)
- nadesiko3-mysql --- データベースMySQL
- nadesiko3-postgresql --- データベースPostgreSQL
- nadesiko3-mssql --- データベースmssql
- 配布用パッケージ (現在は非推奨)
- 実験/別言語で実装したなでしこ3
- nadesiko3core --- 言語コアのみ取り出したもの
- nadesiko3rust - なでしこ3Rust
- nadesiko3php - なでしこ3PHP
- nadesiko3(Deno)