🍎プログラミングに使うならWinかMacか、コマンドラインやコンソール
Winの場合はDOS、PowerShell、MinGWなど とかくこの世はbash bash bash
DOS (Disk Operating System) / Command Prompt:
DOSは、IBM PC互換の初期のコンピュータで使用されていたオペレーティングシステムです。
Windowsの初期のバージョンはDOSの上に構築されていました。
Command Prompt (cmd.exe) は、Windows内でDOSライクなコマンドを提供するインターフェースで、DOSコマンドと非常に似た機能を持っています。
PowerShell:
PowerShellは、Windowsのための強力なスクリプティング言語とシェルです。
.NETフレームワーク上に構築されており、オブジェクト指向のコマンドをサポートしています。
Windowsの管理タスクの自動化や一般的なスクリプティングに使用されます。
PowerShellのコマンドは「cmdlet」と呼ばれます。
MinGW (Minimalist GNU for Windows):
WindowsでGNUツールチェーンを提供するためのコンパイラとツールセット。
このツールセットを使用して、Windowsのためのネイティブの実行可能ファイルを生成することができます。
主にGCC (GNU Compiler Collection) のWindowsバージョンとして使用されます。
Cygwin:
Windows上でUNIXライクな環境を提供するツールセットとDLL。
Cygwinを使用すると、Windows上で多くのUNIXアプリケーションをコンパイルして実行できます。
UNIXスタイルのパス、シェル、スクリプトをWindows上で使用することが可能になります。
Cygwinは、UNIXのコマンドやツールをWindowsで使用したい場合に特に便利です。
MACは基本ターミナル一択
macOS(かつてはOS Xとして知られていた)の基盤は「Darwin」という名前のオペレーティングシステムです。Darwinは、NeXTのNeXTSTEP OSから由来しており、その核心はBSDベースのオペレーティングシステムである。具体的には、DarwinはBSD UNIXの一種、特にFreeBSDとの関連が深いです。
macOSのターミナル(Terminal.app)自体は単にシェルへのアクセスを提供するアプリケーションですが、デフォルトのシェルは長い間bashでした。しかし、最近のmacOSバージョンでは、デフォルトのシェルがzshに変更されています。これらのシェルはいずれも多くのUNIX系オペレーティングシステムで標準的に使用されているものです。
したがって、macOSのターミナルはBSDベースの環境にアクセスするためのものと言えます。
その他Linuxなど
Cygwinのインストール時には、bash(Bourne Again SHell)を始めとする多くのシェルやユーティリティが利用可能です。Cygwinのターミナルを起動すると、Windows上で動作しているものの、UNIXライクなシェル環境にアクセスできます。
MinGWにはMSYS (Minimal SYStem) というサブシステムがあります。MSYSは、Cygwinに似たようなシェル環境を提供しますが、こちらはソフトウェアのビルドのサポートに特化しています。MSYSを使用することで、bashのようなシェルにアクセスすることができます。
結論、bashを覚えるのはお得(bashから派生してほかのシェルも覚えやすい)、dos poweshellは独自性が強いのでお好みで