2020年のチューリング賞、コンパイラの改良に貢献したAlfred Aho氏とJeffrey Ullman氏に 40
ストーリー by nagazou
受賞 部門より
受賞 部門より
ノーベルコンピューティング賞などとも呼ばれている
ACMチューリング賞の2020年にコンパイラの開発に貢献したアルフレッド・エイホ(Alfred Aho)氏とジェフリー・ウルマン(Jeffrey Ullman)氏が選出された(コロンビア大学リリース、スタンフォード大学リリース、CNET、GIGAZINE)。
2人はプログラミング言語の基礎となる基本的なアルゴリズムと理論の構築、そして多くのコンピューター科学者の育成につながる著作を持つことが認められた。チューリング賞では100万ドルの賞金が用意されている。今回の受賞では賞金は二人で分け合うことになるとしている。
2人はプログラミング言語の基礎となる基本的なアルゴリズムと理論の構築、そして多くのコンピューター科学者の育成につながる著作を持つことが認められた。チューリング賞では100万ドルの賞金が用意されている。今回の受賞では賞金は二人で分け合うことになるとしている。
ドラゴンブックの人 (スコア:3)
受賞理由としてストーリーに挙がってるドラゴンブック、教科書としては古典だから歴史上の人物みたいな認識してたけど、ご存命だったんだなあ。1941年生まれってことはまだ80歳か。
アホウとは俺のことかとエイホ言い(元ネタはゲーテね)、って林晴比古のエッセイだったか。
Re:ドラゴンブックの人 (スコア:2, 興味深い)
Aho に限らんけど、コンピュータ関連ってまだ歴史が浅いので、歴史上の人物になりそうな人たちが、まだ結構生きてる。
おれが学生の頃は、本人とnewsで話すとか、学会で直接会って話を聞くなんてことも普通にあった。 Stroustrup先生とかは、まだ会うこともある。
同期で数学やってる連中からは、連絡したけりゃオイラーやラグランジュにコンタクトとれるような時代なんだから無駄にするなと言われた記憶がある
Re: (スコア:0)
AWK (スコア:0)
AWKのAはAhoのAだとはじめて知った。
「Aho Wa Koitsu」じゃなかったんだ
Re: (スコア:0)
今でもgawk使ってるよ
ファイルはgawk.exeひとつだけ、1Mbyteにも満たないサイズで面倒なインストールの手間も不要
fatなスクリプト言語なんて使わなくても出来ることは多い
Re: (スコア:0)
awk使ったことないわ。
構文覚えるの面倒とかあるけど、sedで事足りるってのがでかい。
Re: (スコア:0)
お前はC/C++プログラマではないな!?
awkはC/C++を簡易言語化したような感じなので、C/C++使ってる人間には便利
連想配列のおかげで助かることもある
Re: (スコア:0)
sedもC++も使っているが、awkは合わなかったので Perlに行った。
連想配列? Perlでも使えますが何か?
Re:AWK (スコア:1)
昔は(と言っても '90年代初頭だけどね) awk は OS に標準で入っていたけど、perl は自分でコンパイルして入れなきゃならなかったんだよ。
というわけで、awk でできることが perl でできてもなんの自慢にもならんのだよ。
Re:AWK (スコア:1)
どうでもいいけど、
Perl:ハッシュ
Python:ディクショナリ
Java:マップ
呼び名統一してほしい。
Re: (スコア:0)
出自の文化圏の違いからなのかなぁ。
Perl:ハッシュ → 古き良きLisp文化圏から
Python:ディクショナリ → Amoeba/ABC文化圏の「わかりやすさ」から
Java:マップ → C/C++文化圏の呼称をそのまま継承
Re: (スコア:0)
あまり詳しくないので正しいかどうかわからんけど、wikipediaだとハッシュと呼び始めたのはPerlから [wikipedia.org]と書かれているな。
Re:AWK (スコア:1)
ハッシュは連想配列を作るアルゴリズムからで、マップは数学用語からで、ディクショナリはどちらかというと日常的な単語から。
連想配列の実装のもう1つの定番アルゴリズムは木で、JavaのMapには、TreeMapとHashMapが別々に存在して好きな方を選んで使える。
C++には、「あらゆるオブジェクトのハッシュ値が必要に応じて計算できて、上手い具合にキャッシュされて何度も再計算されるような無駄が無い」という仕組みが備わっていないのでハッシュテーブルを実装するのは敷居が高くて最初は木を使ったMapしかなかった。後にハッシュテーブルを使ったunorderd_mapが追加された。
関係ないけどついでにPythonのリストは、リスト構造とは別物で誤解を受けやすいのがよろしくない…。偉大なるLispから採りました、というとマサカリが飛んできそうなので、日常的な単語から取りました、って事になってるのかな。知らんけど。
Re: (スコア:0)
>日常的な単語から取りました
「ディクショナリ」と同じく、おそらくこれでしょう。
Re: (スコア:0)
「これ」が何を指してるのかわからんです。
「ハッシュ」のことなら、単語自体は日常的だけど連想配列の「機能」ではなくそれを実現する「手法」を指したネーミングというのが、なんか引っかかるというか納得いかない
Re: (スコア:0)
生きづらい性格で大変ですね。
Re: (スコア:0)
> 生きづらい性格で大変ですね。
(#4007758)が言葉足らずなのは(#4007807)のせいではないだろ。
「これ」が何か考えて「リスト」のことだろうと予想はしたが、予想でしかない。
Re: (スコア:0)
言葉に窮して人格批判
Re: (スコア:0)
> 敷居が高くて
難易度が高いと言いたいのでしょうが。
言語システムに、オブジェクトのハッシュ値を計算する仕組みがあること、実装難易度は関係がないです。
Re: (スコア:0)
連想配列てC・C++から縁遠いものだと思ってた
Re: (スコア:0)
Cプログラマだけど、連想配列とか使うならシェルスクリプト書くかな。
そこまででもないなら、sedやらのワンライナーで十分。
それとawkのない環境は触ってたけど、sedのない環境は見たことない。
Re: (スコア:0)
> 連想配列とか使うならシェルスクリプト書くかな
POSIX Bourne shell には連想配列機能はないんですけどね...
bash にはありますが
Re: (スコア:0)
Re: (スコア:0)
私もawk使い続けて20年以上だ。awkとsedでかなりのこと(テキスト成型とか)ができるのですらっと一行で書けるのが便利。
#しかしawk言っていると先日の豚ストーリーのオークねたコメンテーターがまた沸いてきそうな話題だな
Re:AWK (スコア:1)
>> awkとsedでかなりのこと(テキスト成型とか)ができる
sed awkして船山に登る
Re: (スコア:0)
> すらっと一行
「awkは書かない たった一行」というやつですね。
私も20年以上前に少し齧っていたのですが続いてません。こんなのsedかawkで十分だよなと思いつつ最近ならpythonを使ってたり。
Re: (スコア:0)
awkですらっと1000行ぐらいのスクリプトを書いてしまう俺はアホですか?
# 俺はAhoではない
Re: (スコア:0)
> awkですらっと1000行ぐらいのスクリプトを書いてしまう俺はアホですか?
awkとかsedを否定するつもりはないけど(というか私も使っている)
awkで1000行のスクリプトは多分 python と pandas を使うと5行ぐらいで書ける
Re: (スコア:0)
普通の行の長さなら5行では無理です。
人間向けのlog fileの解析がメインなので行数を減らすという意味では
pandasの効果はあまりない。素直に /foo/{bar} を大量に書いた方が楽。
Re: (スコア:0)
awkですらっと1000行ぐらいのスクリプトを書いてしまう俺はアホですか?
# 俺はAhoではない
大抵のプログラムを設計書書かずにその言語で一から書き出して「変態!変態!」と言われる俺でも
(だって、日本語とか英語でロジカルな構造考えるより、Cとかpythonとかその言語でやり取りする入れ物とかメモリ上のマップ考えた方が速いじゃん)
awkを書きながらawkで思考するのは3行以上は無理だ
あんたすごいわ
Re: (スコア:0)
gawk [gnu.org]はGNUの独自実装で、大幅に拡張された傍系(Vimみたいなもん)。
A, W, K のawkに(たぶん)最も近いのはThe One True Awk [github.com]。
Re:AWK (スコア:2)
SVR4ないしSolarisにはoawkとnawkの二つのバージョンのawkがついてくる(無印awkはoawkのハードリンク)。このoawkが由緒正しいオリジナルじゃないかしら。
大学生の時にMS-DOS版のgawkから入った(書籍を買わなくてもman pageひとつに全機能が記述されていたので入りやすかった)ので、UNIX上のawkで関数定義がエラーになって首を傾げた思い出。んで調べたらnawkがだいたいgawkに近い機能セットだった。
gawkにしかない拡張機能ももちろんあるんだけど、書籍を買ってちょっと長めのスクリプトを書くようになったころにPerlに目移りしたので、その後、awkスクリプトはgawkでもnawkでも動くようなのしか書いてない。
Re:AWK (スコア:2)
念のため補足。
もちろん、ハードリンクに主従はないし、awkが元からあったファイル名で、nawkの出現によって区別のためにoawkって別名(頭のoはnawkのnがNewであることに対するOld)がつけられたというのが正しい順番なのだろう。
あと、第3のバージョンである /usr/xpg4/bin/awk なるややこしいやつもいて、こいつはnawkの方に機能が近いらしい。man pageではnawkの方に併記されていて、POSIX標準のためにわざわざforkしたかまたは書き直した模様。
Re: (スコア:0)
Aho Wa Koitsu
Re: (スコア:0)
言葉は汚いがご説ごもっとも。
誰かが作り上げた成果に、「付加価値」という便利な旗印の下、
ちょっと小ぎれいなお化粧をして「最新の技術を使ってます!」
っていう商売でここまでやってきたんだ。
この成功体験を覆すのはなかなか難しいよね。
#そうでない企業とか研究者とかもちゃんといるんだけど、
#きちんと認知され、リスペクトされるかどうかの差は大きい。
Re:情報工学でコンパイラを学ぶべきか (スコア:1)
他の地域にも貢献した人はいると思いますが。
日本からというなら、嶋正利さんとか。
Re: (スコア:0)
日本国債賞とか、京都賞で補うということでしょう
# 嶋正利氏は京都賞を受賞している
Re: (スコア:0)
> ドラゴンブックの作者にチューリング賞を与える国
チューリング賞はいつからどこかの国が与えるものになったんだ?
Re: (スコア:0)
ACM自体は国際学会だけど実質アメリカだよね。