Tnomura の CUI 大好き

CUI と趣味のプログラミングのページ

はじめに

1999年に初めて作成したホームページの冒頭でつぎのような記述をしています。

「Linux を使いはじめて、CUI の便利さに気がつきました。文字情報を扱うときの CUI のきびきびした反応は魅力的です。しかし、Linux の膨大なツールの数や EMACS などのコマンドの数を見ると、何をどの程度習得すれば良いのか戸惑います。

このホームページでは、Linux を知的生産の道具として活用するためには、最低限どのツールをどの程度使いこなせば良いかを考えました。

Unix の特徴は比較的機能の少ないツールを自由に組み合わせることで文字情報の処理を最小限の労力で行えることです。数個のツールの組み合わせでほとんどプログラムを組むことなくソートや置き換えなどの文字情報の処理を行うことができます。また、このページでは厳選したツールを組み合わせて作る便利な短いスクリプトを紹介します。

このホームページに掲載したスクリプトは、利用、改造、再配布自由です。著作権は著者が保有しますが、利用、再配布等に際し著作権を明記する必要はありません。また、これらのスクリプトは無保証です。これらのスクリプトによって発生したいかなる障害にも著者は責任を負いません。」

今この文章を書いているのが2015年だから16年たっていますが、その間 Linux のスキルが上達することはついになかったし、日常的に文字情報の処理に Linux を使うこともありませんでした。ウェブブラウザと Excel と Powerpoint と Word で用は足りているからです。

しかし、小さいツールをパイプラインで組み合わせてテキストファイルを処理する快適さの感動は16年たった今でも褪せることがありません。単機能の部品の組み合わせで、非定型業務に対し柔軟に対応していくというパラダイムに触れたときの感激は忘れられません。

結局のところ自分にとって Linux とは実用的なツールというよりは、よいプログラムとはどのようなものかを教えてくれる教材だったのでしょう。

2006年に『tnomuraのブログ』というブログを始めてから、ウェブページの作成はやらなくなってしまっていましたが、ウェブサイトを構築する話があり再学習したところ css を使ったページレイアウトの便利さに驚かされています。練習方々自分のホームページのリニューアルをやってみることにしました。

CUI との付き合い方

職業的にプログラミングやシステム管理の仕事をしている人以外の趣味のプログラマーにとって、CUI はあまり縁がないのが普通でしょう。

実際著者自身も日常的には CUI を使うことはありません。はじめて Linux をインストールしたときは、操作を覚えるために CUI のツールの使い方を一生懸命覚えましたが、その後自分の趣味や仕事のためにこれを活用することはありませんでした。

それでは、職業的なプログラマーでない人が CUI のツールとどういう方向性で付き合えばいいのでしょうか。

その答えは Linux の CUI のシステムが何を目的に構成されているかを考えればわかります。CUI のシステムは一般の文字情報の情報処理にも活用できますが、本来はプログラムを作成するために作り上げられたシステムであるということです。

したがって、Linux の CUI のシステムをプログラム作成のために活用すればその利点が自然に分かります。

趣味のプログラマがプログラムをするときは、別に C や C++ などの玄人の道具を使う必要はありません。Ruby などのスクリプト言語を扱えば、簡単に自分のアイディアをプログラムに落とし込むことができます。

これらのプログラム作成を行う際には、シェルのツールは非常に強力なサポートをしてくれます。別に実用的なアプリケーションを作らなくても、ちょっとした思い付きをプログラムにして実行してみればよいのです。

汎用の情報処理のアプリケーションは今では豊富に存在します。しかし、自分のちょっとしたアイディアをプログラムに落とし込んでそのアイディアがどう広がっていくのかをテストするには、やはりプログラムを組まないと分からないのです。

CUI はプログラムを作るためのツールだと割り切ると、却ってその様々な可能性が見えてきます。したがって、このリニューアルのページでは、CUI とスクリプト言語の関係に焦点を絞ってその活用法を考えてみたいと思います。