テキストエディタの基礎
にゃおのリテラシーを考えるラジオ、読書と編集の千葉直樹です。
このチャンネルでは、読書とIT時代の読み書きソロ版を中心に、様々な話をしています。
今回のタイトルは、バッチ処理するテキストエディタの話、というものです。
水曜日は、ITを中心とした技術的な話をしています。
テキストエディタは、プログラミングに必須のものです。
プログラムを打ち込んだり、修正したりするのに使えますよね。
普通は、パソコンのアプリケーションになっていて、画面とキーボードを使ってプログラムを作っていきます。
最近は、実行環境と連携して、テストやデバッグができる高機能な統合開発環境を普通に使うようになりました。
今日のタイトルには、バッチという言葉が入っています。
古いエンジニアには馴染み深い言葉ですが、若い方にはあまりピンとこない言葉かもしれません。
別の言葉では、一括処理と言います。
例えば、お店のレジではお客さんの会計処理をしますが、閉店前に締め処理をして、その日の売上を集計します。
これは、一件一件の売上を一括処理するので、それをバッチ処理と言ったりするわけですね。
まとめて一括してやるのがバッチ処理です。
実はテキストエディタでもこんな感じの一括処理をやることがあります。
テキストデータとプログラミング言語
これも例を挙げてみましょう。
あるキーワードをまとめて別のキーワードに置き換えるとき。
一般的にはテキストエディタを開いて、チカンみたいなコマンドを使うと思います。
でもこれ、いちいちテキストエディタを開かなくてもできそうじゃないですか。
このファイルの中の、アアアという文字列をイイイに置き換えろってコマンドでやるという方法でいいでしょう?
別に画面で開いてもいいような気がするかもしれませんが、
そういう置き換えをするテキストファイルが100個あったらどうします?
100回テキストエディタを開いてチカンするのはすごく大変ですよね。
そういうときにこのバッチ処理できるテキストエディタが便利なわけですね。
Linuxの前身のUNIXには、このような用途でSEDというものがありました。
というか、今でもLinuxで使えます。
実はこれ、今は流行りのPythonみたいなスクリプト系のプログラミング言語の祖先と言えないこともないのです。
SEDはストリームエディタの略で、ストリームというのは入力と出力という流れを表します。
入力と出力の間で、こういう処理をしなさいということをスクリプトとして書いて、
そのスクリプトに処理したいファイルを渡すという感じです。
SEDは本当にテキストエディタ的なことしかできませんが、
もう少し複雑なことができるように、
多くawkというコマンドが作られ、
よりプログラムらしい処理が書けるようにperlというコマンドが作られました。
perlはなかなか立派なプログラム処理系ですが、
当時主流だったコンパイラ言語よりもずっと手軽に使えることから、
インターネットが一般的になるきっかけになったWebのバックエンド処理に使われるようになり、
Webに特化したPHPが生まれ、
perlのような手軽さで数学的な処理が書きやすいPythonが生まれたのです。
細かい奇策に異論はあるかもしれませんけどね。
ここでお伝えしたいことは、プログラミング言語の歴史ではなくて、
テキストファイルをバッチ的に処理するということです。
ちょっとしたスクリプトを書いていろいろなことができる背景には、
シンプルなテキストデータというものがあるわけですね。
このシンプルなテキストデータの対極にあるのが、
WordやExcelのデータです。
これらは見た目を整えるのには便利ですが、
このデータを一括処理するのにはあまり向いていないのです。
できなくはありませんが、
どのプログラミング言語でも使えるというわけではないし、
実行するときには画面表示を行う巨大なプログラムの起動が必要になることが多く、
コンピューターに負荷をかけることになります。
エンジニアなら、その違いをきちんと認識して、
使い分けができなければなりません。
この使い分けができるようなら、
HTMLがプレーンテキストで書かれている理由がわかると思います。
SEDは滅多に使わないかもしれませんが、
歴史を含めて頭に入れておくと、何かの役に立つかもしれませんよ。
今回は、バッチ処理するテキストエディターの話をしました。
今日はここまで。
読書と編集では、ITを特別なものではなく、
常識的なリテラシーとして広める活動をしています。
ITリテラシーの基礎を学べるオンライン講座をやっています。
詳しい内容については、概要欄のリンクから、
または、「読書と編集」と検索して、
猫がトップページに出てくるホームページをご覧ください。
この配信の書き起こしを、ノートで連載しています。
概要欄にリンクがありますので、フォローいただけると嬉しいです。
今日もワクワクする日でありますように。
千葉直樹でした。
ではまた。