包丁一本さらしに巻いて

Linux/GNUがカッコよすぎて勃起

まだ全くの初学者ではあるが、すげーと思ったことがいくつかある。

インターフェースがシンプル且つ柔軟であること。

[command] [options] [arg1 arg2 …..] 引数はファイル名の時もあるし、数字の時もあるし、文字列の時もある。 情報は標準入力、標準出力、標準エラー出力と既にあるファイルから。 全てのコマンドがこの形態を持っている。

コマンド(ソフトウェア??ツール??)の粒度と数。

ls, sed, grep, find, cut, uniqu, sort, tr, cd, awk, dd, set, print, ….. それぞれが自分の守備範囲を適切に守っている(使い方によっては代用ももちろんできるけど)。さらにその数と質は長年いろんな人たちがメンテしてきただけあって、使用頻度の高いものはいわゆる「枯れた」もので安心してプロダクトの中で使用できる。

コマンドを組み合わせる事が簡単。

パイプ、アンパサンドなどで無数にあるコマンドを簡単に組み合わすことができる。粒度が適切なので組み合わせはさらにシンプルかつ柔軟になる。

シェルスクリプトの存在。

感動した言葉の一つに「シェルはLinux・Unixをプログラミングするものだ」というものがある。いろんなコマンドを糊付けして、一つの「ツール」にしてしまうって意味だと解釈している。奥に進めば進む程いろんな事ができる事がわかる。(シェルだって関数プログラミング的にかける!)もちろんLLは素晴らしいし、楽しいと思うけど、別にPerlやPython使う程でもないけど、サクッと必要、とかいった場合にシェルかけるのは便利。

んー。すごいわ。みんなかっこいいわ。