1ヨロロの名無しさん2021/02/02(火) 21:58:20.73ID: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アドレスを持っている人なら誰でも改良することが可能です。もし間違った変更をしてしまったら、 後から謝ればよいのです。
以下ソース
天才プログラマー・オードリーさんがたった200行で効果的なアプリを作れる秘訣
『コロナ vs. AI 最新テクノロジーで感染症と戦う』(翔泳社刊)が発売されました。発売を記念して、収録されている台湾のデジタル大臣、オードリー・タンさんへの特別インタビューから、一部内容をご紹介します(後編)。
https://ascii.jp/elem/000/004/040/4040504/
→ この発言にコメント
94ヨロロの名無しさん2021/02/03(水) 00:44:33.28ID:RG6lIpK6
>>1
どのプラットフォームのどういうアプリを書いたのか、誰か分かる?
→ この発言にコメント
4ヨロロの名無しさん2021/02/02(火) 22:05:15.52ID:0r14qqJR
何をやりたいのか構想を最初に示し
コアコードを書く… 自分で全部作りたいという欲求が
なければ
確かにこのやり方が最適だな
→ この発言にコメント
93ヨロロの名無しさん2021/02/03(水) 00:42:44.48ID:FNiowdCm
>>4
実際、アプリのコードの6割は誤動作防止用だから、コアコードだけ書いてあとの面倒は人に任せるのが精神衛生上いいかもな。
→ この発言にコメント
6ヨロロの名無しさん2021/02/02(火) 22:07:09.43ID:xCJoAJOh
当方ボーカルみたいな感じか
→ この発言にコメント
53ヨロロの名無しさん2021/02/02(火) 23:27:11.94ID:ka+ZYdVy
>>6
妙に言い得てるし w
→ この発言にコメント
8ヨロロの名無しさん2021/02/02(火) 22:11:11.00ID:y0tMXtP3
Radical Trust=丸投げ
ではありません
→ この発言にコメント
9ヨロロの名無しさん2021/02/02(火) 22:14:09.41ID:OI+2YXk8
この間特集で出てた人か
3日でマスクの受け取りアプリ?を組んだ人よね
→ この発言にコメント
11ヨロロの名無しさん2021/02/02(火) 22:15:27.84ID:px1DW9vm
一方その頃日本ではGitHubの使い方も知らない年収300万のSEが
公開しちゃいけないコードを公開して炎上してたわけだが
→ この発言にコメント
16ヨロロの名無しさん2021/02/02(火) 22:21:19.11ID:E0SJeB9W
>>11
搾取されてると思わせた時点でしょうがないな。
→ この発言にコメント
SMBC三井住友銀行が流出認める:艦これ発端で発覚したGitHub経由のコード流出(三上洋) - エキスパート - Yahoo!ニュース
1月28日夜からTwitterで大きな騒ぎになっていたSMBC・三井住友銀行のコード流出騒ぎは、GitHubアカウントに自分が書いたと思われる企業のプログラムのコードをアップしていたことが原因でした。
Yahoo!ニュース
Yahoo!ニュースは、新聞・通信社が配信するニュースのほか、映像、雑誌や個人の書き手が執筆する記事など多種多様なニュースを掲載しています。
13ヨロロの名無しさん2021/02/02(火) 22:19:05.75ID:mvxM3uK9
スマートだな
→ この発言にコメント
14ヨロロの名無しさん2021/02/02(火) 22:20:14.03ID:CA5vOKjb
綺麗な宅八郎
→ この発言にコメント
19ヨロロの名無しさん2021/02/02(火) 22:36:18.13ID:mg5AHBMw
日本人には出来ないことだらけ
→ この発言にコメント
57ヨロロの名無しさん2021/02/02(火) 23:37:27.44ID:4IDQK7pF
>>19
知らないだけ しかし、あの連中は何であんなに髪を伸ばすんだ?
あれだけはわからん
→ この発言にコメント
21ヨロロの名無しさん2021/02/02(火) 22:40:05.86ID:VFC5exNA
シリコンバレー方式だな
斬新だがこの方式は若者でなければ無理
設計なんて頭でやるから
ドキュメントなんて誰も書かない
だが開発速度はロケットだ
→ この発言にコメント
37ヨロロの名無しさん2021/02/02(火) 22:58:03.08ID:0r14qqJR
>>21
たまにそういうのにかぶれた若いPGが
勢いだけで実装してバグだらけ
基本設計もコメントも書いてないから
自分でも構造わかんなくなって
直せず周囲に泣きつくのみたなw
(俺も尻拭いさせられたことある)
→ この発言にコメント
32ヨロロの名無しさん2021/02/02(火) 22:54:23.00ID:pavI6Kj7
よくわからんが保守性を含めて効率の高いコードだったらいいと思うけど、
独りよがりのだったらちょっと・・・とは感じる 独りよがりでもかなりのコード数を減らせるのなら確かに天才なのだろうな
→ この発言にコメント
35ヨロロの名無しさん2021/02/02(火) 22:56:20.87ID:HnpIJjD7
>>32
自分の書くのが200行なら独りよがりになりようがない
多くは既存のライブラリ側のロジックだから公的な検証済みで間違えようもない
→ この発言にコメント
41ヨロロの名無しさん2021/02/02(火) 23:02:50.01ID:wir5YIfc
ラムダ式で書くとコードがすごく圧縮されるよね。
昔はそんなの無かったから、死ぬほどループ書いてた気がする・・・
→ この発言にコメント
【C#】わかった"つもり"になれる「ラムダ式」解説 - Qiita
この記事についてこの記事ではC#の「ラムダ式」についてなんとなくわかったつもりになれるを目標に説明をします。そのため多少端折ってたり、厳密じゃない説明もでてきます。ご了承ください。もし厳密な解…
45ヨロロの名無しさん2021/02/02(火) 23:14:28.92ID:pQRn6Iub
台湾のデジタル担当大臣
「例えば、Rakuというプログラミング言語を使いやすくするために、最近私はPugsの実装を行いました。」 日本のデジタル担当大臣
「USB?? 知ってますよ、穴にさすやつですよね。」
→ この発言にコメント
46ヨロロの名無しさん2021/02/02(火) 23:18:07.03ID:jyleT4e3
IT担当大臣ってPCを触ったことのない老人とか
はんこ議連の会長がやるものだよね。
台湾が日本に追いつく日は遠い
→ この発言にコメント
59ヨロロの名無しさん2021/02/02(火) 23:41:37.90ID:4IDQK7pF
>>46
担当大臣はハッカーじゃないとダメなの?
必要とされるのは人を集める能力、根回しできる能力
ガキみたいにpcガーなんていう連中に仕事を任せてなんになるの?
→ この発言にコメント
85ヨロロの名無しさん2021/02/03(水) 00:26:48.60ID:nodDVOs0
>>59
ビジョンもない奴が大臣やってるのがおかしいんだよ
→ この発言にコメント
50ヨロロの名無しさん2021/02/02(火) 23:20:20.61ID:Pssg6vYX
知的財産は、
国レベルでやりあっている分野だから、
おいそれと無属性の個人が入っていって
のし上がれる分野ではないんだけど、 もしやるとすれば、
しっかりとした証拠を残す方法論を確立することが
最低限必要になるだろう。
たとえば、複数のメールアカウントを取得して、
ソースコードを自分宛てに送信しておく。
そうすると、
あとで修正できないタイムスタンプが残る。
ただし、日本は先に登録したもんがちの法律だから、
特許だとかを取得する場合は、
とにかく紙で書いて、郵送するなり、電子登録するしかない。
→ この発言にコメント
51ヨロロの名無しさん2021/02/02(火) 23:20:36.88ID:9hqQy8Q0
> GitHub ダメだダメだ危険だ今すぐ遮断だはやくしろ!
→ この発言にコメント
52ヨロロの名無しさん2021/02/02(火) 23:26:26.07ID:Q9qI30YV
オードリーさんがやると文殊の知恵だが
日本じゃろくな仕事しない船頭が何人もよってたかって
酒盛りしながら泥舟に穴を開けてるな
→ この発言にコメント
55ヨロロの名無しさん2021/02/02(火) 23:35:13.12ID:eqwNxG3Y
200行はグループログラミングとか言う奴じゃないの?
→ この発言にコメント
58ヨロロの名無しさん2021/02/02(火) 23:38:29.89ID:cgrVHu3m
何事もトライアンドエラーだね
ITを魔術扱いしてトライすらしない日本人は一生成功しない
→ この発言にコメント
64ヨロロの名無しさん2021/02/02(火) 23:46:11.17ID:4IDQK7pF
>>58
何でも日本人ハーかよ
オマエが知らないだけ
超大物クラッカー逮捕に協力した日本人もいる
→ この発言にコメント
66ヨロロの名無しさん2021/02/02(火) 23:47:46.22ID:h5g/vRgI
>>64
優秀な人も世の中に貢献したい人も大勢いると思うけど、偉い人が潰しがちな気がする
勿体ない
→ この発言にコメント
69ヨロロの名無しさん2021/02/02(火) 23:50:24.29ID:4IDQK7pF
>>66
あのクラスの優秀な人間を潰すことは無理
イヤならやめて他に行くだけ すぐに日本は云々というのはなんで?
不思議だわ
→ この発言にコメント
65ヨロロの名無しさん2021/02/02(火) 23:47:40.92ID:K8YWxCED
天才プログラマーが作ったゲームを移植しようとしたら苦労したみたいな話しを聞いたことある
→ この発言にコメント
91ヨロロの名無しさん2021/02/03(水) 00:32:52.27ID:/Q5UoLsm
>>65
FF3のインド人プログラマーの事じゃね?飛空挺の処理はそれで実現できたとか聞いた
→ この発言にコメント
70ヨロロの名無しさん2021/02/02(火) 23:50:29.68ID:HC83DeBf
先ずは、無知な、文系パワポ馬鹿を排除しないと 毎度、同じ事を繰り返して成長しない
→ この発言にコメント
86ヨロロの名無しさん2021/02/03(水) 00:27:02.94ID:bStyoQaf
この人は政治家向けだな
→ この発言にコメント
90ヨロロの名無しさん2021/02/03(水) 00:32:48.63ID:JnkaEFrT
個人の技術とコツを質問したら、組織のリーダー(発足人)として人を動かす方法が帰ってきた
一般化されているので応用すれば、他分野でも役に立ちそうな答えだが、はぐらかされた気もする
→ この発言にコメント
97ヨロロの名無しさん2021/02/03(水) 01:07:18.95ID:njwhq3fE
一方日本はGithubを敵視していた
→ この発言にコメント
103ヨロロの名無しさん2021/02/03(水) 02:12:02.51ID:B4+WAlP+
他の人が作ったモジュール呼び出してるだけってオチやろ
→ この発言にコメント
コメント一覧