元スレ:https://egg.5ch.net/test/read.cgi/bizplus/1612270700/
1: スズメは害鳥ではない定期
ID:CAP_USER
ID:CAP_USER
IQ 180の天才プログラマーで有名な、台湾のデジタル担当大臣オードリー・タンさんへのインタビュー。今回はかなりギークかつ実務的な質問をしました。
石井:今回の私の質問は少し技術的なことです。オードリーさんは天才プログラマーとして有名です。GitLab Taiwanのエンジニア友人から伺ったのですが、オードリーさんはわずか200行のコードで、驚くほどパフォーマンスが高いアプリケーションを作成したことがあるそうですね 。
軽量で効果的なコードを書くための秘訣があれば、3つほど教えていただけますか?
オードリー・タン:1つ目は、デザインやグラフィックやアイコンなどを除外した、コアとなる機能のみが書かれたコードをコミュニティと共有することです。
私はコードを公開する時、「このコードは暫定版なので、プルリクエストをお送りください。」と言います。そうすれば、他の皆さんが(修正時の心理的ハードルが下がるため)貢献しやすくなります。
本当に重要なことは、単独で作業するのではなくクラウドで作業することです。
2つ目は、社会的に良さそうなプロジェクトかどうか初期段階で見極めることです。コードを書き始める前にreadme.txtの文面を考え、プロジェクトの企画全体を想像し、プロジェクト名とハッシュタグを考え、不特定多数の人が社会的意義を認めて開発に参加するように動機付けるには何をするべきか、といったことを考えるのです。
3つ目ですが、相手を多くの同意書で縛る代わりに、相手に活躍の場を与えることを大切にしています。これは「Radical Trust(徹底的な信頼)」と呼ぶ方法論です。相手は、GitHubで自分が実施したcommitに問題があると分かったら、自らrevertすることができます。
注:commit=GitHub等で変更を反映する操作
注:revert=GitHub等で変更を取り消す操作
許可を得ることは謝ることよりずっと難しいことです。だから、取りあえず進めてもらい、もし間違ったら一言ごめんなさいと言って修正してもらえば良いのです。
私自身もこれまで、誤字脱字を含め、些細なミスをいろいろしてきました。 しかし、もし皆があなたの許可がないと動けないとしたらどうでしょうか。その場合、それがプロジェクトのボトルネックになってしまい、あなたの負担が減ることもありません。あなたがその気になれば、あなたは他の人に委任することさえも委譲することができます。
石井:その通りですね。ありがとうございます。
オードリーさんが言及された「Radical Trust」に大変興味を持ちました。
「Radical Trust(徹底的な信頼)」と「Trust(信頼)」の主な違いは何でしょうか?
オードリー・タン:「Radical Trust」の意味するところは、参画する権利の委譲です。例えば、Rakuというプログラミング言語を使いやすくするために、最近私はPugsの実装を行いました。その際、私は共有リポジトリへのプッシュ権が必要だったので、PerlやHaskellの関係者だけでなく、Pythonの生みの親であるグイド・ファンロッサムにもそれを伝えました。
ご存じの通り、Perl 6を巡ってはフォーラムに(Perl 5の正統な後継でないという)批判的なコメントが書かれますが、私達は大抵「権限があります」とだけ返信します。
あなたも開発に参加して、より良いものにすることが出来ます。進化が続くのは、元のバージョンから改良版を生み出す人のおかげです。直前に変更が行われたばかりであっても、もっと良い案が見つかったなら直ちに改良を施すべきなのです。これはWikipediaと同様で、IPアドレスを持っている人なら誰でも改良することが可能です。もし間違った変更をしてしまったら、 後から謝ればよいのです。
以下ソース
https://ascii.jp/elem/000/004/040/4040504/
2: スズメは害鳥ではない定期
ID:09a/J4NX
ID:09a/J4NX
平井大臣とどっちが有能だよね?
5: スズメは害鳥ではない定期
ID:2dwyi3dR
ID:2dwyi3dR
以下、能力がないので揚げ足とりでマウントを取ってアイデンティティを保とうとするプログラマが涌きます
6: スズメは害鳥ではない定期
ID:xCJoAJOh
ID:xCJoAJOh
当方ボーカルみたいな感じか
12: スズメは害鳥ではない定期
ID:kg+ANea0
ID:kg+ANea0
アップルの顧問してたらしいね
15: スズメは害鳥ではない定期
ID:leDkh7zo
ID:leDkh7zo
perl の cpan
17: スズメは害鳥ではない定期
ID:y89XSNwp
ID:y89XSNwp
行は改行文字をビューアーが勝手に改行したように見せているだけで、プログラムは1行だ。
19: スズメは害鳥ではない定期
ID:mg5AHBMw
ID:mg5AHBMw
日本人には出来ないことだらけ
23: スズメは害鳥ではない定期
ID:EuI3UJAy
ID:EuI3UJAy
1行1行が桁外れに長いってやつだな
26: スズメは害鳥ではない定期
ID:vkQHGUHp
ID:vkQHGUHp
俺が10倍に引き伸ばしてやるよ
27: スズメは害鳥ではない定期
ID:HnpIJjD7
ID:HnpIJjD7
フレームワークにライブラリ知らずにいまどきのアプリ作れないぞ
28: スズメは害鳥ではない定期
ID:walLtary
ID:walLtary
頭のいい人のコードは凡人の俺にはメンテがムズカシイ、、
30: スズメは害鳥ではない定期
ID:Fqt/ttx7
ID:Fqt/ttx7
伽藍とバザール理論?
38: スズメは害鳥ではない定期
ID:HnpIJjD7
ID:HnpIJjD7
日本ではGithubが悪者として報道されたばかりだよな
40: スズメは害鳥ではない定期
ID:NzZz/MZd
ID:NzZz/MZd
俺が書いたエロ画像サイトのhtml解析して見やすいようにフォーマットしてローカルのhtmlで表示する10行ツールも相当な価値がある
42: スズメは害鳥ではない定期
ID:yc+GvZq8
ID:yc+GvZq8
フレームワークやライブラリが優秀ってだけじゃないかな。
49: スズメは害鳥ではない定期
ID:3QkbqG6m
ID:3QkbqG6m
長寿と繁栄を v
55: スズメは害鳥ではない定期
ID:eqwNxG3Y
ID:eqwNxG3Y
200行はグループログラミングとか言う奴じゃないの?
63: スズメは害鳥ではない定期
ID:h5g/vRgI
ID:h5g/vRgI
人に任せるってなかなかできないことだよね
65: スズメは害鳥ではない定期
ID:K8YWxCED
ID:K8YWxCED
天才プログラマーが作ったゲームを移植しようとしたら苦労したみたいな話しを聞いたことある
74: スズメは害鳥ではない定期
ID:28/xFiDU
ID:28/xFiDU
Readmeで提起からコア機能コードの共有化はいいなあ。
スポンサーリンク