はてなキーワード: AWKとは
http://anond.hatelabo.jp/20090107031018
そのように感じるようになったのは、ボーカロイド好きな友人とチャットしていて、いい曲だと薦められた曲を聞いたとき、確かに良い曲ではあるけれど、これはボーカロイドを知ってる人・容認してる人じゃないと楽しめないということに気づいたとき。
ニコ動でVOCALOIDカバー曲を投稿して活動してる awk こと id:pyawk だけど、個人的にはそういう風に感じる人が大多数であって欲しいなーと思う。
というのも、自分はVOCALOIDを全く知らない人でも楽しんでもらえるのを目標に活動してるので。「どう聴いても生身の人間の歌にしか聞こえない!これがコンピュータで作った歌声なんて信じられない!!」なんてびっくりさせることが出来たらベストですね。VOCALOIDの歌声はこういうもんだっていう固定観念をあまり持って欲しくないんです。
そんな自分は、VOCALOIDにどっぷり漬かってるにも関わらず、VOCALOIDのロボロボした歌声に耳が慣れてしまうのを恐れて、あまりVOCALOIDの曲は聴かずに「歌ってみた」系をよく聴いてます。自分はプロデューサーであってもボカロファンではないのかもしれません。
初めは小学生の頃か。
実物のスペースインベーダーの記憶はない。
しかし、それを皮切りにアーケードゲームのみならず、ゲームウォッチ、ケームセンター嵐などを経て、ファミコンが登場する「ゲーム」の時代だった。
「ゲーム」がコンピューターゲームの意味になった時代だった。小学生も「コンピューター」にワクワクした。
21世紀はコンピューターにより人工知能ができる。そんな時代だった。
でも、アルファベットを知らない小学生にBASICは難しかった。ぴゅう太がせいぜいだった。
「PRINT」で文字を表示する。「GOTO」で行き先を変える。それは分かった。でも何をすればよいか分からなかった。
だから「ベーマガ」で16進数を打った。でも動かなかった。何度も調べ、直し、試した。デバッグした。
でも動いた。自分の入れた文字で数字でコンピュータが動いた。自分で動かした。動かせた。
高専に進んだ。Turbo Pascalでコラムスもどきを作った。
小学生のころから6年が過ぎていた。
Turbo Cも使った。IDEで使うそれは、インタプリタのノリだった。
FM-Rでレイトレースもした。一晩かけて、エラーが起きていた。
でも、構造化プログラミングを学んだ。ポインタも学んだ。マシン語の知識が役立った。
Solarisも使った。EmacsやXも使った。オブジェクト指向も知らずC++にも触れた。
awkやsedで正規表現を学んだ。そしてperlに出会った。
コラムスもどきを作ってから6年が過ぎていた。
perlで掲示版の書き込みをチェックし、madokaで遊んだ。CGIを書いたりした。
perlと出会ってから6年が過ぎていた。
はてなに出会った。JavaScriptに出会った。
Bookmarklet、greasemonkey、Ajax。オブジェクトだらけだった。
初めはゲームだった。でも最初だけだった。
気が付いたら24年が経っている。
今、pythonで書いている。
ようやく、言語の違いには慣れてきた。でも、まだLISPを使った事はない。
道はまだまだある。未知の世界につながっている。
作りたい物が本当は何かは分からない。作れる物が本当は何かは分からない。
どんなふうに動くのかは分かってない気がするけれど、分かっている事もある。
それが今の私のstatusだ。
via Twitterオタが非オタの彼女にTwitter世界を軽く紹介するための10ユーザ
まあ、どのくらいの数のプログラミング言語オタがそういう彼女をゲットできるかは別にして、
「オタではまったくないんだが、しかし自分のオタ趣味を肯定的に黙認してくれて、
その上で全く知らないプログラミング言語の世界とはなんなのか、ちょっとだけ好奇心持ってる」
ような、ヲタの都合のいい妄想の中に出てきそうな彼女に、プログラミング言語のことを紹介するために
習得させるべき10言語を選んでみたいのだけれど。
(要は「脱オタクファッションガイド」の正反対版だな。彼女にプログラミングを布教するのではなく
相互のコミュニケーションの入口として)
あくまで「入口」なので、アーキテクチャに過度に依存するアセンブラ等の低級言語は避けたい。
あと、いくら基礎といってもBrainf*ckやUnlambdaのような難しすぎるものは避けたい。
ポール・グラハムが『Arc』は外せないと言っても、それはちょっとさすがになあ、と思う。
そういう感じ。
彼女の設定は
ロジカル度が高く、頭はけっこう良い
まあ、いきなりここかよとも思うけれど、「Java以前」を濃縮しきっていて、「Java以後」を決定づけたという点では
ただ、ここでオタトーク全開にしてしまうと、彼女との関係が崩れるかも。
この情報過多な言語について、どれだけさらりと、嫌味にならず濃すぎず、それでいて必要最小限の情報を彼女に
伝えられるかということは、オタ側の「真のコミュニケーション能力」の試験としてはいいタスクだろうと思う。
アレって典型的な「オタクが考える一般人に受け入れられそうなプログラミング言語(そうオタクが思い込んでいるだけ。実際は全然受け入れられない)」そのものという意見には半分賛成・半分反対なのだけれど、それを彼女にぶつけて確かめてみるには一番よさそうな素材なんじゃないのかな。
「プログラミング言語オタとしてはこの二つは“教育用言語”としていいと思うんだけど、率直に言ってどう?」って。
ある種の言語オタが持ってるラムダ計算への憧憬と、ACM監修の関数型言語的純粋さへのこだわりを
彼女に紹介するという意味ではいいなと思うのと、それに加えていかにも参照透過な
の二要素をはじめとして、オタ好きのする要素を言語にちりばめているのが、紹介してみたい理由。
たぶんこれを見た彼女は「Emacsだよね」と言ってくれるかもしれないが、そこが狙いといえば狙い。
この系譜の作品がその後続いていないこと、これがポール・グラハムの間では大人気になったこと、
ポールグラハムがウェブサービスの構築に使って、それがいろんなウェブサービス開発者にも影響しててもおかしくはなさそうなのに、
実際のウェブサービスでこういうのが使われないこと、なんかを非オタ彼女と話してみたいかな、という妄想的願望。
「やっぱりプログラミングはバッチ処理のためのものだよね」という話になったときに、そこで選ぶのは「awk」
でもいいのだけれど、そこでこっちを選んだのは、この言語にかけるラリーとdankogaiの思いが好きだから。
断腸の思いで延ばしに延ばしてそれでも2008年、っていうPerl 6のリリース予定日が、どうしても俺の心をつかんでしまうのは、
そのリリースというイベントへの諦めきれなさがいかにもオタ的だなあと思えてしまうから。
Perlのリリース延期を無駄だとは思わないし、拙速なリリースは無茶だろうとは思うけれど、一方でこれが
GuidoやMatzだったらきっちり予定通りリリースしてしまうだろうとも思う。
なのに、各所に頭下げて迷惑かけてリリースを延期してしまう、というあたり、どうしても
「自分の言語を形作ってきた哲学(TMTOWTDI)が捨てられないオタク」としては、たとえラリーがそういうキャラでなかったとしても、
親近感を禁じ得ない。言語自体の高評価と合わせて、そんなことを彼女に話してみたい。
今の若年層でPostscriptを直で書いたことのある人はそんなにいないと思うのだけれど、だから紹介してみたい。
PDFよりも前の段階で、DTPの哲学とか印刷技法とかはこの作品で頂点に達していたとも言えて、
こういうクオリティのプログラミング言語がエディタで書かれてたんだよ、というのは、
別に俺自身がなんらそこに貢献してなくとも、なんとなくプログラミング言語好きとしては不思議に誇らしいし、
いわゆるJava VMでしかスタック型言語を知らない彼女には見せてあげたいなと思う。
PHPの「HTMLに埋め込み可能な点」あるいは「RDBMSとの接続性」をオタとして教えたい、というお節介焼きから教える、ということではなくて。
「HTMLのテンプレートエンジンを作り続ける」的な感覚が言語オタには共通してあるのかなということを感じていて、
だからこそアメリカ版『Yahoo!』の開発言語はPHP以外ではあり得なかったとも思う。
「MとVとCを分離なんてできない」というオタの感覚が今日さらに強まっているとするなら、その「オタクの気分」の
源はPHPにあったんじゃないか、という、そんな理屈はかけらも口にせずに、
単純に楽しんでもらえるかどうかを見てみたい。
これは地雷だよなあ。地雷が火を噴くか否か、そこのスリルを味わってみたいなあ。
こういう述語論理風味の計算をこういうかたちで言語化して、それが非オタに受け入れられるか
気持ち悪さを誘発するか、というのを見てみたい。
9本まではあっさり決まったんだけど10本目は空白でもいいかな、などと思いつつ、便宜的にC++を選んだ。
Javaから始まってC++で終わるのもそれなりに収まりはいいだろうし、テンプレート以降のメタプログラミング時代
の先駆けとなった言語でもあるし、紹介する価値はあるのだろうけど、もっと他にいい言語がありそうな気もする。
というわけで、俺のこういう意図にそって、もっといい10本目はこんなのどうよ、というのがあったら
教えてください。
「駄目だこの増田は。俺がちゃんとしたリストを作ってやる」というのは大歓迎。
こういう試みそのものに関する意見も聞けたら嬉しい。
LV0 スクリプト言語?どうせAUTOEXEC.BATとかだろ?どうでもいいよ…
LV1 Perlはあんまり堅苦しくないな。ってかこのor dieって何なの?
LV2 流行の言語は綺麗だな。Rubyってのはなんか日本人多くて結構いいかも。
LV4 PHPも気が利くわりにドジっ子でかわいいな。LispとかSchemeとかHaskellもいい・・・
LV5 Pythonってワンライナー書けないのにWeb2.0言語扱いされててうぜぇ。Python死ね!
LV7 やべぇPython最高!Pythonとエディタさえあれば生きていける!
anond:20070218150508のあと、 機能変更、お知らせなど - はてなブックマーク日記 - 3/19(月) のはてなブックマークのメンテナンスについて とかあったので、変化を調べてみた。
% diff resolve.old resolve.txt | grep '[<>]' | sort < 125.206.202.66: mgw.hatena.ne.jp. < 61.196.246.69: b.hatena.ne.jp. < 61.196.246.70: b.hatena.ne.jp. > 59.106.108.71: mgw.hatena.ne.jp. > 59.106.108.72: b.hatena.ne.jp.
?Bの他、関連のmgwも。着々と移転は進む。次はcounter辺りだろうか、それとも?Gとかだろうか。何にせよ、?Dの移転が最大の山場でしょうな。
以下メモ。
% dig -f host.txt | grep '^[^;]' | awk '{print $5, $1}' | sort | uniq | sed 's/ /: /' > resolve.txt
host.txt
a.hatena.ne.jp anond.hatelabo.jp b.hatena.ne.jp counter.hatena.ne.jp d.hatena.ne.jp f.hatena.ne.jp g.hatena.ne.jp graph.hatena.ne.jp hatelabo.jp hatena.ne.jp i.hatena.ne.jp mail.hatelabo.jp map.hatena.ne.jp mgw.hatena.ne.jp mobile.hatena.ne.jp music.hatelabo.jp q.hatena.ne.jp r.hatena.ne.jp red.hatena.ne.jp red3.hatena.ne.jp rimo.tv ring.hatena.ne.jp screenshot.hatena.ne.jp search.hatena.ne.jp searchplus.hatelabo.jp serif.hatelabo.jp sns.hatelabo.jp sv.hatelabo.jp sv.hatena.ne.jp wordlink.hatelabo.jp world.hatelabo.jp www.hatelabo.jp www.hatena.ne.jp
resolve.txt
125.206.202.66: graph.hatena.ne.jp. 125.206.202.66: i.hatena.ne.jp. 125.206.202.66: map.hatena.ne.jp. 125.206.202.66: q.hatena.ne.jp. 125.206.202.82: search.hatena.ne.jp. 125.206.202.83: d.hatena.ne.jp. 216.52.184.230: dns2.name-services.com. 219.99.160.180: ns0.future-s.com. 219.99.160.181: ns1.future-s.com. 221.186.129.146: d.hatena.ne.jp. 221.186.129.147: counter.hatena.ne.jp. 221.186.129.147: ring.hatena.ne.jp. 221.186.129.148: g.hatena.ne.jp. 221.186.146.26: mail.hatelabo.jp. 221.186.146.26: sv.hatena.ne.jp. 221.186.146.27: hatena.ne.jp. 221.186.146.27: www.hatena.ne.jp. 221.186.146.28: a.hatena.ne.jp. 221.186.146.28: anond.hatelabo.jp. 221.186.146.28: hatelabo.jp. 221.186.146.28: music.hatelabo.jp. 221.186.146.28: searchplus.hatelabo.jp. 221.186.146.28: serif.hatelabo.jp. 221.186.146.28: sns.hatelabo.jp. 221.186.146.28: sv.hatelabo.jp. 221.186.146.28: wordlink.hatelabo.jp. 221.186.146.28: world.hatelabo.jp. 221.186.146.29: d.hatena.ne.jp. 59.106.108.67: red.hatena.ne.jp. 59.106.108.67: red3.hatena.ne.jp. 59.106.108.68: mobile.hatena.ne.jp. 59.106.108.69: f.hatena.ne.jp. 59.106.108.70: rimo.tv. 59.106.108.71: mgw.hatena.ne.jp. 59.106.108.72: b.hatena.ne.jp. 61.196.246.67: d.hatena.ne.jp. 61.196.246.68: r.hatena.ne.jp. 61.196.246.68: screenshot.hatena.ne.jp. 63.251.92.193: dns3.name-services.com. 64.74.96.242: dns4.name-services.com. 69.25.142.1: dns1.name-services.com. 70.42.37.1: dns5.name-services.com. dns1.name-services.com.: rimo.tv. dns2.name-services.com.: rimo.tv. dns3.name-services.com.: rimo.tv. dns4.name-services.com.: rimo.tv. dns5.name-services.com.: rimo.tv. ns0.future-s.com.: hatelabo.jp. ns0.future-s.com.: hatena.ne.jp. ns1.future-s.com.: hatelabo.jp. ns1.future-s.com.: hatena.ne.jp. sv.hatelabo.jp.: www.hatelabo.jp.