「なでしこ3」とは、日本語のプログラミング言語です。JavaScript/TypeScriptをベースとしているので、PC/スマホ/タブレットなど、幅広い環境で動きます。日本語プログラミング言語は、読みやすく理解しやすいのが特徴で、初めてでも楽しくプログラミングを覚えることができます。また、バッチ処理や定型処理などを手軽に記述できます。
はじめて「なでしこ」に挑戦する方は、次のチュートリアルから始めることをオススメします。日本語プログラミング言語の雰囲気が容易に理解できます。
なでしこ3は、内部的にJavaScriptに変換されて実行されます。そのため、JavaScriptが動作するさまざまな端末で実行できます。
- Webブラウザ(wnako) - 主要ブラウザ(Chrome/Safari/Edge/Firefox)に対応し、PC/スマートフォンで動作
- コマンドライン(cnako) - JavaScriptの実行エンジン「Node.js」上で動作
- 配付パッケージ - Electronを利用してローカルPC上で動作
具体的な対応ブラウザについて詳しくは、対応機器/ブラウザ をご覧ください。
次のWebエディタ上で、なでしこを実行できます。ブラウザがあれば動作します。
なでしこ3をインストールして動かす方法は下記にまとめています。
先にNode.js/npmをインストールします。 次いで、コマンドラインから次のコマンドを実行します。
npm install -g nadesiko3
すると、cnako3
というコマンドで、なでしこを利用できます。
# コマンドラインからプログラムを実行
cnako3 -e "「こんにちは」と表示。"
# ソースコード hello.nako3 を実行
cnako3 hello.nako3
Node.jsの推奨バージョンは、v18 以上です。
Gitコマンドをインストールした上で、次のコマンドを実行すると、なでしこの開発環境をセットアップできます。
git clone https://github.com/kujirahand/nadesiko3.git
cd nadesiko3
npm install
npm run build
まっさらなUbuntu22.04に、なでしこ3の開発環境を整える場合は次のコマンドを実行します。
sudo apt update
# nvm で Node.js をインストール
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
source ~/.bashrc
nvm install v18.12.1
# リポジトリのセットアップ
git clone https://github.com/kujirahand/nadesiko3.git
cd nadesiko3
npm install
# なでしこ3のビルド
npm run build
必要に応じて次のコマンドをインストールします。
macOS:
# 『圧縮』『解凍』命令のために
brew install p7zip
Ubuntu/Debian:
# 『圧縮』『解凍』命令のために
sudo apt install p7zip-full
# 『キー送信』命令のために
sudo apt install xdotool
全てのコマンドが正しく動くかを確認するには、次のコマンドを実行します。
npm test
ローカルPCになでしこをインストールしたら、次のコマンドを実行して、ブラウザで動作するエディタを起動できます。
# なでしこエディタ(WEB盤)のサーバーを起動
npm start
# なでしこエディタ(PC版)を起動
npm run nako3edit
以下にColabを使ってなでしこを使う場合の作業用テンプレートを用意しました。 ノートを複製して自分の作業に利用できます。
Google Colabでなでしこのビルドテストできます。
「なでしこ3」の開発は2017年に始まり、以後コツコツとバージョンアップを続けています。 「誰でも簡単プログラマー」の目標を実現するために開発を続けます。
- (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を公開(無名関数の「には」構文の実装など)
- (2017-06-25) 内部構造を大幅に修正(PEGパーサーから独自のパーサーに変更)
- (2017-02-13)「なでしこ3」のプロジェクトが開始
- (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を拡張するプラグインを作るには、以下のドキュメントを参考にしてください。
- なでしこ3開発リポジトリ(GitHub)
- なでしこ3拡張プラグイン
- 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
- 配布用パッケージ
- サーバーサイドJavaScriptエンジン用の実装
- 実験的に別言語で実装したなでしこ3
- nadesiko3php - なでしこ3PHP
- nadesiko3rust - なでしこ3Rust
- nadesiko3go - なでしこ3Go言語
- nadesiko3core --- 言語コアのみ取り出したもの