SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

かまぷとゆうこのデベロッパーズ☆ラジオ

AWKブーム第1世代は「アイドル辞書」で学んだ――日本GNU AWKユーザー会 斉藤さん

かまぷとゆうこのデベロッパーズ☆ラジオ #1 日本GNU AWKユーザー会 斉藤博文さん


  • X ポスト
  • このエントリーをはてなブックマークに追加

 CodeZineがPodcastを始めます。「かまぷとゆうこのデベロッパーズ☆ラジオ」略して「デブ☆ラジ」。この番組では、USP研究所のかまたひろこと、CodeZine編集部の近藤佑子が、ソフトウェアデベロッパーのみなさんに向けて、IT技術に関するちょっといい話をお送りします。音声に加えて、ダイジェスト版の記事もお届け。記念すべき第1回のゲストは、日本 GNU AWK ユーザー会 斉藤博文さんです。

  • X ポスト
  • このエントリーをはてなブックマークに追加

近藤佑子(以下、ゆうこ) 今回が第1回の放送なんですけれども、この番組はですね、今年の2月にあったオープンソースカンファレンスのあとに、2人で飲んでて「やろう」って言ってね。やっと始められましたね。

かまたひろこ(以下、かまぷ) そうですね。吉祥寺のCAFE ZENONで。

ゆうこ かまたさんはその前にも対談の企画をやられてたんですよね。

かまぷ はい。『Software Design』さんで、「かまぷの部屋」という対談を1年半ぐらいやらせていただいて。で、まあ19回という回数がちょっと消化不良だよね、みたいな話をゆうこりんとして、何かゆうこりんも人生に悩んでるみたいで、何か2人でやろうよと。TechGIRLも一緒にやってるしね。

ゆうこ そうですね、TechGIRLっていうのは、IT関係の女性の方がもっと前に出ていこうよっていう主旨でLT大会をやってまして。

かまぷ プレゼン能力を高める会ですね、女性の。そっちは裏方が多くて、何かもうちょっとじっくり人の内面を見ていくようなものを、何かやりたいんだよねと話してて。

ゆうこ 世の中には技術系Podcastがいっぱいあります。例えばRebuild.fmさんが有名ですけど、私がやっているCodeZineでも何かできないかなと。それにしても、編集者もなかなか裏方の仕事なんですよね。

かまぷ わかる。

ゆうこ ねえ。表に出たい時もあるじゃないですか。それで、自分が主役になりつつもいろんな人の話を引き出して、みなさん聴いてらっしゃる方、読んでくださる方にもお届けできるようなものが作りたいなとかまたさんに話をしたら、「やろう」と。

かまぷ 形にしようと。今日に至ったわけですよ。

ゆうこ そうですね。いや本当、この日を迎えられて私はすごく嬉しいです。

かまぷ 私もですね。

ゆうこ で、こんな感じで始めていきたいと思います。

かまぷ よろしくお願いします。

なぜ今、AWKの記事がそんなに読まれているのか?

斉藤博文さん(中):「日本 GNU AWK ユーザー会」会長。25年くらいAWKを使っているが、AWK以上の頼れる言語に巡り会っていない。最近はPythonを使うことも多く、Deep Learningの勉強会にも参加している。

ゆうこ それでは、今回のゲストをご紹介します。「日本GNU AWKユーザー会」の、斉藤博文さんです!

斉藤さん(以下、斉藤) どうも、日本GNU AWKユーザー会の斉藤です。第1回ということで、よろしくお願いします。

ゆうこ よろしくお願いします。じゃあ、乾杯しましょうか。

斉藤 まずは、喉を潤して。

斉藤&かまぷ&ゆうこ 乾杯!

かまぷ あー、うまい。

ゆうこ で、斉藤さんにぜひ出てもらいたいなと思ったのは、斉藤さんが、AWKについての記事を『シェルスクリプトマガジン』で連載されていて、その記事をCodeZineにも転載させていただいたご縁です。PVを調べてみると、2014年度と2015年度で一番読まれてるということが分かりました。

斉藤 すごいですね。自分が言うのもなんですけれど。

かまぷ 「『シェル芸』に効く AWK処方箋」ですね。

斉藤 やっぱみんな、AWK好きなんでしょうね、どこかで。

かまぷ あと、そういう書籍が足りないのもあったりとかするのかな。

斉藤 そうですね。今から20年、25年ぐらい前ですかね、AWKブームがあって、書籍は4冊くらいほぼ同時に出てるんですよ。ただ当時の書籍はまだMS-DOSの時代のものなんです。今はみんなPC-UNIX、Linuxを触れるようになって、本当のAWKを使えるようになったんだけど、書籍が新しいAWKに対して全然キャッチアップできてない。それで(AWKの記事を)読みたいというところはあるんでしょうね。AWKの新しい機能ってなんだろうとか。

かまぷ ソフトのアップデートが少なくても、ハードが進化していているので、やれることが実は増えているっていうのにみんな気付いてる。

斉藤 特にオープンソースの流れがあるんでしょうね。今までMS-DOSや、Macでいうと漢字Talkのようなプロプライエタリのものばっかり使ってたのが、オープンソースになって、今まで手が届かなかったLinuxが誰でも使えるようになった。じゃあそのLinux、まあUnixを作った人が作ったプログラミング言語のAWKが、より身近なものになってるのかなと思います。

ゆうこ 私、AWKに触れたのは斉藤さんの記事が初めてで。そもそもAWKってどういうところで便利に使える言語なんですか。

斉藤 そうですね。USP研究所さんが出されている『プログラミング言語AWK』っていう書籍があるんですけど、その中にも書かれてます。

 まず簡単なデータ処理、定型のデータ処理ができる。あとはフォーマッタですね。テキストがザーッと並んでいるものを、ちゃんと整形された文章にすること。さらに数値演算が非常に簡単にできるというところですね。特に命令数が圧倒的にプログラミング言語の中で少なくて、用意されている関数が20個ぐらいしかないんですよ。なので覚えることも簡単だし、覚えてしまうといつでも引き出せるという。そういう便利なところがありますね。

ゆうこ もともとは何を目的として開発されたんですか?

斉藤 AWKって「A」「W」「K」と書きますが、実はこれ作者のエイホ博士と、ワインバーガー博士と、カーニハン博士という3人の名前の頭文字を取ってAWK、それを「オーク」と読んでるんですが、エイホ先生が言うには「AWKって使い捨ての言語」。なので書いてパッと捨てちゃう。まさに今で言うシェル芸ですね。書いて跡形も残さずに消え去ってしまうぐらいの簡単なものを作る言語ですよと。

 その元になっているのは、「grep」っていうテキストファイルの中身を検索するコマンドです。grepはgrepで名前の由来もあって、あれはもともとエディタの「Ed」(viの前身)のコマンドで、実はgってglobalなんです。で、reがregular expressionで正規表現を検索して、pがprint。なので、文章全体を正規表現で検索した結果を表示しなさいっていう、それがgrepなんですね。

 ただ、検索だけして終了じゃなくて、検索した、選ばれた結果に対してプラスアルファの処理がやりたいよね。ただその処理はとても簡単な処理でいい。そこに対して新しいプログラム言語を作っていきたい、というモチベーションでできたのがAWKだと、エイホ先生はおっしゃってますね。

かまぷ エイホ先生のホームページを見てたら、99 Bottles of Beerってサイトがありましたね。いろんな言語でスクリプト書いてみる、みたいな(AWKバージョンはこちら)。

ゆうこ あと、斉藤さんの記事の中で、AWKを使ってる人は「エレガント」っていう言葉が好きだってことを書かれてて、その心をちょっと聞きたいなと。

斉藤 エレガントっていう言葉の元ネタは、AWKを作られた、3人のA、W、Kの方、ではなくって、GNU AWKのメンテナーをされているアーノルド・ロビンスさんです。彼がよくですね、エレガントっていう言葉を自分の文章の中で使うんですよ。で、AWKを使う限りは、Perlのような汚いプログラム、と言ったら怒られますけれど、ではなくってAWKらしく、我々がUnixの王道だというのを示すためにエレガントに書きましょうと、結構書かれてますね。

デブ☆ラジではお便りを募集しています!

 この番組へのご意見やご感想は、Twitterのハッシュタグ #デブラジ までお寄せください。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
「AWK != Perl」ってあえて言っちゃう

修正履歴

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
かまぷとゆうこのデベロッパーズ☆ラジオ連載記事一覧

もっと読む

この記事の著者

近藤 佑子(編集部)(コンドウ ユウコ)

株式会社翔泳社 CodeZine編集部 編集長、Developers Summit オーガナイザー。1986年岡山県生まれ。京都大学工学部建築学科、東京大学工学系研究科建築学専攻修士課程修了。フリーランスを経て2014年株式会社翔泳社に入社。ソフトウェア開発者向けWebメディア「CodeZine」の編集・企画・運営に携わる。2018年、副編集長に就任。2017年より、ソフトウェア開発者向けカンファレンス「Developers...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

かまた ひろこ(カマタ ヒロコ)

イベントとお酒と人が好き。TechLION/TechGIRL/Linux女子部界隈で活動。社会人ディベートサークル、JBDF役員。2014年よりSoftwareDesignにて軽酔対談『かまぷの部屋』を連載、2016年2月で終了。(特技:傾聴)

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9478 2016/06/21 19:28

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング