1: 稼げる名無しさん 2021/02/02(火) 21:58:20.73 ID:CAP_USER.net
 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アドレスを持っている人なら誰でも改良することが可能です。もし間違った変更をしてしまったら、 後から謝ればよいのです。
以下ソース

1001: 以下名無しさんに代わりまして管理人がお伝えします 1848/01/24(?)00:00:00 ID:money_soku


 うーん・・・、個人的にこの内容はプロジェクトに参加する人皆が優秀である前提が必要かなと思うお。
acha





1001: 以下名無しさんに代わりまして管理人がお伝えします 1848/01/24(?)00:00:00 ID:money_soku


 まぁオープンに作るものであればわからない人は参加しないと思うし問題ないのではと思う。
 クローズドな物の場合はちょっと難しいかもな。
yaruo_yaranaidrink



現在よく読まれているニュース!:






以下2chの反応と管理人の反応です






3: 稼げる名無しさん 2021/02/02(火) 22:02:51.54 ID:VC3vnYcb.net
悪の技術者なんか存在しない、懐かしい価値観だなぁ。
ほっこりした。

4: 稼げる名無しさん 2021/02/02(火) 22:05:15.52 ID:0r14qqJR.net
何をやりたいのか構想を最初に示し
コアコードを書く…

自分で全部作りたいという欲求が
なければ
確かにこのやり方が最適だな

5: 稼げる名無しさん 2021/02/02(火) 22:06:32.22 ID:2dwyi3dR.net
以下、能力がないので揚げ足とりでマウントを取ってアイデンティティを保とうとするプログラマが涌きます

8: 稼げる名無しさん 2021/02/02(火) 22:11:11.00 ID:y0tMXtP3.net
Radical Trust=丸投げ
ではありません

9: 稼げる名無しさん 2021/02/02(火) 22:14:09.41 ID:OI+2YXk8.net
この間特集で出てた人か
3日でマスクの受け取りアプリ?を組んだ人よね

10: 稼げる名無しさん 2021/02/02(火) 22:15:03.79 ID:F+V/SMpd.net
頭いいなあ
まあ原理は分かってもそれを落とし込むのはアート

11: 稼げる名無しさん 2021/02/02(火) 22:15:27.84 ID:px1DW9vm.net
一方その頃日本ではGitHubの使い方も知らない年収300万のSEが
公開しちゃいけないコードを公開して炎上してたわけだが

16: 稼げる名無しさん 2021/02/02(火) 22:21:19.11 ID:E0SJeB9W.net
>>11
搾取されてると思わせた時点でしょうがないな。

12: 稼げる名無しさん 2021/02/02(火) 22:18:32.12 ID:kg+ANea0.net
アップルの顧問してたらしいね

13: 稼げる名無しさん 2021/02/02(火) 22:19:05.75 ID:mvxM3uK9.net
スマートだな

21: 稼げる名無しさん 2021/02/02(火) 22:40:05.86 ID:VFC5exNA.net
シリコンバレー方式だな
斬新だがこの方式は若者でなければ無理
設計なんて頭でやるから
ドキュメントなんて誰も書かない
だが開発速度はロケットだ

37: 稼げる名無しさん 2021/02/02(火) 22:58:03.08 ID:0r14qqJR.net
>>21
たまにそういうのにかぶれた若いPGが
勢いだけで実装してバグだらけ
基本設計もコメントも書いてないから
自分でも構造わかんなくなって
直せず周囲に泣きつくのみたなw
(俺も尻拭いさせられたことある)

23: 稼げる名無しさん 2021/02/02(火) 22:43:23.40 ID:EuI3UJAy.net
1行1行が桁外れに長いってやつだな

26: 稼げる名無しさん 2021/02/02(火) 22:47:05.87 ID:vkQHGUHp.net
俺が10倍に引き伸ばしてやるよ

27: 稼げる名無しさん 2021/02/02(火) 22:50:57.69 ID:HnpIJjD7.net
フレームワークにライブラリ知らずにいまどきのアプリ作れないぞ

28: 稼げる名無しさん 2021/02/02(火) 22:51:36.57 ID:walLtary.net
頭のいい人のコードは凡人の俺にはメンテがムズカシイ、、

36: 稼げる名無しさん 2021/02/02(火) 22:57:44.55 ID:HnpIJjD7.net
>>28
200行でむずかしいのか?
それ基本がわかってないだけだろ

31: 稼げる名無しさん 2021/02/02(火) 22:54:11.50 ID:HnpIJjD7.net
オードリーおばさんのこの話いまごろ引用して古すぎるぞ

Perlは7だし
そもそもこの話に全く価値はない

32: 稼げる名無しさん 2021/02/02(火) 22:54:23.00 ID:pavI6Kj7.net
よくわからんが保守性を含めて効率の高いコードだったらいいと思うけど、
独りよがりのだったらちょっと・・・とは感じる

独りよがりでもかなりのコード数を減らせるのなら確かに天才なのだろうな

35: 稼げる名無しさん 2021/02/02(火) 22:56:20.87 ID:HnpIJjD7.net
>>32
自分の書くのが200行なら独りよがりになりようがない
多くは既存のライブラリ側のロジックだから公的な検証済みで間違えようもない

44: 稼げる名無しさん 2021/02/02(火) 23:10:52.90 ID:pavI6Kj7.net
>>35
あるんだよ・・・そういう書き方が

わからない人がいるのかもしれないが

56: 稼げる名無しさん 2021/02/02(火) 23:36:50.58 ID:k1dy5i8I.net
>>44
具体的に言ってみなよ
知らねえくせに知恵者ぶる馬鹿ジジイが多い板だからな

34: 稼げる名無しさん 2021/02/02(火) 22:54:54.66 ID:0sbnC7tC.net
>>1
200行の殆どはreadme.txtってことか

41: 稼げる名無しさん 2021/02/02(火) 23:02:50.01 ID:wir5YIfc.net
ラムダ式で書くとコードがすごく圧縮されるよね。
昔はそんなの無かったから、死ぬほどループ書いてた気がする・・・

43: 稼げる名無しさん 2021/02/02(火) 23:09:23.76 ID:Ri/877Xz.net
そもそも1人の天才がアプリつくるのと、保守まで請け負う前提でつくる企業向けの大規模開発は別物だからな。

コードも書けないSEも大規模開発ではたくさん必要だったりする。

52: 稼げる名無しさん 2021/02/02(火) 23:26:26.07 ID:Q9qI30YV.net
オードリーさんがやると文殊の知恵だが
日本じゃろくな仕事しない船頭が何人もよってたかって
酒盛りしながら泥舟に穴を開けてるな

55: 稼げる名無しさん 2021/02/02(火) 23:35:13.12 ID:eqwNxG3Y.net
200行はグループログラミングとか言う奴じゃないの?

58: 稼げる名無しさん 2021/02/02(火) 23:38:29.89 ID:cgrVHu3m.net
何事もトライアンドエラーだね
ITを魔術扱いしてトライすらしない日本人は一生成功しない

1001: 以下名無しさんに代わりまして管理人がお伝えします 1848/01/24(?)00:00:00 ID:money_soku






現在よく読まれている記事:






引用元:anago.2ch.sc/test/read.cgi/bizplus/1612270700/