コマンドラインツールを作る
「ターミナルから使う道具を作りたい」
この目的で選ぶときに見る軸
- 配布方法
- 起動速度
- 依存関係
下の表の「主要制約」は各ツールで最も先に当たる制約。軸ごとの値はツール詳細の制約表で確認する。
この目的に使える手段(5件)
| ツール | 分類 | 種別 | 学習 | 料金 | 成熟 | 主要制約 | 検証 |
|---|---|---|---|---|---|---|---|
| Node.js JavaScriptをブラウザの外(サーバー・CLI)で動かす実行環境 | 言語・実行環境 | 実行環境 | 低 | 無料 | 安定 | JavaScript の実行スレッド:JavaScript のコードは1本のイベントループで実行され、ファイル I/O などの重い処理はワーカープールに委ねられる | |
| Python 読みやすさを優先した動的型付け言語。データ処理・自動化・AI分野の共通語 | 言語・実行環境 | 言語 | 低 | 無料 | 安定 | スレッド並列の上限(GIL):CPython では同時に1スレッドしか Python バイトコードを実行しない。I/O 中は解放される | |
| Go 単一バイナリに固めて配布できる静的型付け言語。並行処理と配布が軽い | 言語・実行環境 | 言語 | 中 | 無料 | 安定 | 旧バージョンのサポート期間:各メジャー版は、その後2つ新しいメジャー版が出るまでサポート。メジャー版は2月と8月の半年ごと(実質約1年) | |
| TypeScript JavaScriptに静的型を足した言語。Node.jsでブラウザとサーバーを同じ言語で書く | 言語・実行環境 | 言語 | 中 | 無料 | 安定 | 型の実行時消失:型注釈は JavaScript の一部ではなく、コンパイル時に完全に削除される。型が実行時の動作を変えることはない | |
| Rust メモリ安全性をコンパイル時に保証する、GCを持たない静的型付け言語 | 言語・実行環境 | 言語 | 高 | 無料 | 安定 | 安定版のリリース周期:6週間ごと(nightly→beta→stableのトレインモデル)。バージョンごとの長期サポート(LTS)はない |