今の時代、bashは必要とされるのだろうか?
今回はあまり一般の人には役に立たないけれど、過去を振り返り未来を予測する上で参考になりそうな記事を書こうと思う。(本エントリは、常体(である調)で記載する。)
以前ネットを彷徨っていたら以下のような内容の記事を見つけた。(URLをブックマークに保存しておけば良かったのだが、それを失念しググっても探せなかった。もしこのエントリーを読んだ方でそれらしき記事をご存知の方がいらっしゃったらご教示頂けると幸いである。内容が一致していれば参考URLを本エントリーに追記しようと思う。)
当該記事の概略
AWSやGCPなどクラウドがインフラの主体になってからあまりbashなどのシェルスクリプトを書かなくなった。そもそもシェルスクリプトは便利だが、bashだけで処理が完結しない事も多く、その場合はperlやrubyなど他の言語の力を借りる事もある。学習コストも高く、結論的にはもう時代遅れなのでは無いかと。
確かにこれには私も同意である。
ちなみに私はbashについてはかなり得意言語であり、Linuxを使い始めてもう23年くらいになるので、bashとの付き合いも同じくらいになる。
しかし・・・、やはり最近はコマンドを打つ程度でしか使わない。
シェルスクリプト、特にbashなどは一通りのプログラム言語としての文法を備えていて、機能を熟知している人が使えばかなり色々な事が出来る。熟練度が上がると感動的なプログラムを書けるようにもなる。
しかし・・・、使わない。。。
私もここ7年で、1回しかシェルスクリプトを書いていない。それも制御文の無いただコマンドが並んでいるだけのスクリプトである。
そもそもクラウド全盛のこの時代、インフラとなるクラウドサービスが基本的にWeb APIを提供していて、大抵のメジャーな言語では制御が可能となっている。
bashが全盛を誇っていた時期は、やはりインフラとしてOSの存在が大きく、Linuxをどうしてもコマンドで制御する必要があり、そのインターフェースとしてどうしてもbashが必要だったからだと考えるのが自然のように思う。
クラウドサービスがOSの役割を果たすようになり、Web APIがそのインターフェースになると汎用性の高い言語を習得した方が、学習者から見るとコストパフォーマンスが高いように思う。
しかし自然言語(例えば日本語、英語)、数学(数の構造やロジック、自然の法則を定量的に説明する)、コンピュータ言語など新たな言語を学ぶ事によって見える世界が広がるのも事実で、これらを学習する事は自分が普段使う言語から見えるものとは異なる世界観を理解し、感じる事が出来、それはそれでとても勉強になり、考えの幅が広がるのも事実である。
よって殆どコマンドを打つことでしか使わなくなったbashについても、本2,3冊くらい読む心の余裕はあっても良いように思う。なぜなら全てのコマンドとスクリプト言語を統合するその思想、ひいてはUNIXの思想を理解する事が出来るので。(bashのスクリプトの中にperlとrubyのスクリプトが書かれている事はあっても、perlのスクリプトにrubyが書かれる事は無いだろう。)
またこの事から得られる教訓は、インフラの変化によって見るべき世界が変わるので自然に言語にもその変化が反映され、必要な言語も変わっていくという事である。
この記事が気に入ったらサポートをしてみませんか?