- 自己紹介再挑戦
- 趣味開発・チーム開発・ChatGPT
- 進撃の巨人と人間の価値
- MLとプログラミング言語の未来
自己紹介再挑戦
趣味開発・チーム開発・ChatGPT
進撃の巨人と人間の価値
MLとプログラミング言語の未来
サマリー
このエピソードでは、amachangと共にプログラミングの楽しさやオーバーエンジニアリングの魅力が掘り下げられます。個人開発とチーム開発の違いや、チャットGPTを活用した学びの可能性についても議論されます。さらに、AI技術の進展が個人のプロジェクトや趣味活動に与える影響について語られ、プログラミングや進撃の巨人を通じてAIと人間の関係性や未来における人間の役割についての考察が展開されます。プログラミング言語に対する興味の変化や最新の技術トレンドも取り上げられ、特にRUSTやMLIRなどの言語の特性や未来の可能性に焦点が当てられ、プログラミングの進化に対する期待が示されています。また、プログラミング言語GoやRustについての話があり、それらのメモリ管理や所有権の概念についても議論されています。
amachangの自己紹介
はい、ということで、趣味でOSSをやっている者だ、今回後編ということで、引き続き、amachangをゲストに迎えて、いろいろお話を伺っていければなと思っております。
よろしくお願いします。
なんか、前半で自己紹介ちょっと失敗したみたいなことをさっきおっしゃってましたけど、自己紹介難しいっていう話がありますか?
自己紹介難しいですね。なんか別に、スマートニュースなんですけど、前者が。そのスマートニュースのamachangですたわけでもないし、その前々者が自分で会社作ってたんで、誰も知らない会社の名前になっちゃうし、ちょっとその前は東大にいたり、
なんかその前は、あの人検索スパイシーっていうの作ってたり、その前はサイボーズでキントーンっていうプロダクトを作ってたり、そんな感じで、別になんか本当に肩書きだけ長く、っていう感じで、特にどう自己紹介してかわかんないっていう、プログラマーですっていうのが一番いいんじゃないかな。
おだしょー いや、いいと思います。プログラマーで。 何でも書けますみたいな。ちょっと今ドヤ顔しながら言っちゃったんですけど、何でも書けますみたいな。まあ、いろんな、ジャンル問わず何でもプログラミングやってるって感じですよね。UIから組み込みまで。
おだしょー なんか僕がすごいAmachanので覚えてるのは、そのVBScriptについて書いてたことがあって、すごい昔に。で、僕当時、Windows環境でのバックエンド書くことが多かった時代なんで、もう15年前とか、VBScriptすごい書いてたんですけど、なんかすごくAmachanがVBScriptの解説記事っていうか、なんか初めて学ぶみたいなのを書いてて、逆、すごい勉強になったのを覚えてます。
自分が知ってるVBScriptと全然違うみたいな思って。 そんなの書いてましたっけ。でも、そうなんだ。確かに、なんかいろいろ書いててもおかしくなさそうな気がする。プログラミングが好きなんでね。
おだしょー そうですよね。いいことだと思いますし、なんかやっぱ2000年代に活躍されてた人たちは、そういう純粋にプログラミング、ウェブプログラミング面白いみたいな、そういう原体験を強く持ってる人が多いなって思いますし、やっぱそういう世代に、なかなか勝てないって言われたらあれですけど、やっぱすごいなっていう。
戦亡のまだなしがいつまで経っても感じるのはありますね。高発で入ってきた。 あれ、ソムさんって高発っていう認識なんですね。ウェブの時代をちゃんと作った人の一人だとは思ってるけどなーっていう気はするけど。
おだしょー いや、僕はもう完全に2010年とか11年とかに、もともとSIRとかでちょっと働いてたんですけど、その咀嚼ブームが来て、そのカヤックっていう会社に滑り込めたみたいな感じなので、わりともうそういう礎みたいなものはもうそれより前の人たちが作ってきて、その後のある程度ウェブプログラマーみたいな人たちが増えてきて、
パイが広がってきた時に運良く入れた世代。世代っていうかそういう感じなので、歳としてはだから僕とアマちゃん同じぐらいだと思うんですけど、まあ僕はまあ遅咲きというかデビューがちょっと遅い組というふうに自己認識でいます。
プログラミングの楽しさ
岡田 なるほどなるほど。まあプログラミング楽しいっすよねっていうのがなんか本当に最近ニートになって感じることで、なんかどんだけ、やっぱちょっとスマニュー辞めた時、もう疲れ切ったような感じでちょっと鬱っぽくなってたんですよ、ずっと。
岡田 で、でもなんかこうプログラミングは楽しいっていう、プログラミングしか楽しいことがないみたいな生活だし、なんかゲームとかするよりもプログラミングした方が楽しいし、なんか普通にマウスクリックしたりしてなんかいろんな日々の趣味をするわけじゃないですか、YouTube見たりとか。
まあなんかそのすべてにプログラミングの開剤をなんかこう感じてワクワクしてしまうというか、このいつもやってることを少しでもなんかこう自動化しよう自動化しようみたいな、なんかなんでも自動化しようっていうのがこのプログラミング趣味おじさんのなんか楽しみですねっていう。そうなんでも自動化できるって思っちゃうからね。
おだしょー それはありますね。僕もそのこのポッドキャストを始めたきっかけもそのポッドキャストサイトジェネレーターを作ったっていうのがきっかけの一つなんで、そういうなんか自分でブログエンジンも自分で書いたOSSを使ってるし、このポッドキャストサイトもこうなんか自分で書いた、Goで書いたツールを使ってるみたいなのがあるので。
おだしょー え、このリバサイド? おだしょー このリバサイドは絶対違いますよ。これは収録じゃなくて単に配信ツール、配信サービス、配信というかその実際にポッドキャスト、ポッドキャストって単なるRSSなんで、そうそれをなんかこうサイトジェネレーターを作ったっていうそういう感じです。
おだしょー うん、いやそうですよね。 なんか。 自分の道具を自分で作る楽しさはありますね。 おだしょー そう、でそれでオーバーエンジニアリングするのが、これはあの完全に趣味の方ですよ。仕事ではやっちゃいけません皆さん、オーバーエンジニアリングは絶対やっちゃいけないんですけど、趣味で言うとオーバーエンジニアリングこそがこの醍醐味というか一番楽しいところなんで。
おだしょー まあ、ちょっとした日々見ているものとかをもうネット繋がずにキャッシュしておけばいいじゃんと思ったらもうキャッシュシステムがっつり作ると。なんかそういうのがめっちゃ楽しいんですよ。
おだしょー そう、いやいやわかります。そう、なんかまあ仕事でも多少オーバーエンジニアリングだったりイースターエッグ的な遊び心は必要だと思うんですけど、多分その自分の趣味プロダクトで思う存分オーバーエンジニアリングとかしておくと自分のオーバーエンジニアリング癖みたいなのがわかるから、なんか仕事ではちょっともうちょっとこうやめとこうとか、なんかそういうなんていうかこうブレーキがかかる部分はあるのかなっていうのは思いますね。
ほんと仕事、あ、仕事をプログラミングに、趣味をプログラミングで仕事にしてる人みたいな話題が最近ツイッターでありましたよね。これを公開するところにはないかもしれないんですけど、確かに僕趣味もプログラミング、仕事もプログラミングなんですけど、全く違いますよね、確かに言われてみると。いかに書かないかが仕事。仕事ではプログラミングはいかに書かないか。既存のコードをちゃんと、なんていうんだろうな、ちゃんとメンテされる可能性が高いプロダクトを、
埋め込んでグルーコードを書くっていうのが仕事じゃないですか。なんか全然違いますよね、そこは。いやー、それだけ感じる。まあ、だから。だから、ニートの楽しいのはもうその、なんかそのリミッターが完全に外されてるところがめっちゃ楽しいっていうのはあるんですけどね。
確かに趣味コードとか01のコードとかプロトタイプ的なものとかだと、もう特にそのあんまりチームの合意とかなく割とバリバリ自分で進めて、なんかある程度自分の裁量で進められるみたいなところが大きいから楽しいみたいなところもあるのかなっていうのは思いますね。
まあやっぱりその。 トミック チームで開発するのはまた違う面白さはあるとは思いますけど。 まあ確かにね。確かに。チームで開発する楽しさか。まあね、なんかすごい仲間感とかバディー感とかも、なんかプロダクト、プロジェクトならではのなんか楽しさってあるよな。それは一人でいるとは思わないよなとは思うな。
やっぱ孤独感はあるかも、そういう意味では。なんかレビューとかって良かったよなとか思ったりもふとするし、一人でニートになってみて。まあよしよしだな本当に。 トミック そうですね。あとまあ自分では作れないものとか自分ではない発想のものがやっぱりプルリクとかレビューがやってきたりすると、やっぱテンション上がるみたいなのはあるから、そういうのはいいなっていうのは思いますね。
確かに。なんかスマートニュースって会社で、まあ前職がそうだったって話したんですけど、なんかチーム60人ぐらいいたんですよ。僕マネージャーやってて、だから結構いろんな範囲のエンジニアと喋る機会があったんですけど、こうニートになって一人でいると、なんかインナー誰誰が、俺の中に勝ってるそのエンジニアのあいつが喋りかけてくるみたいなのがすごくあって。
なんか自分が解けない問題に遭遇した時に、あいつだったらこう考えるはずだみたいな発想から、この問題は確実に解けるっていう自信がやたら得られたりとか、なんかこのチーム開発していた頃のいろんな人のセリフっていうのが、なんか自分の中ですごい人格化してて、このプロダクトを作りきる自信になってたりとかする。このニートになって感じる。ちょっとスピリチュアルなこと言ってるけど本当にそれがあって。
あーなるほど。
問題解決する人たちを見てきたから、自分でもできるはずだって思えるっていう。
それありそう。
だからなんかこう論文読んでこういうふうに、論文を読んでいろんなこの手法を調査して、この手法で行こうみたいな判断するプロセスとかを、自分ではないんだ。自分ではないんだが、自分がマネージャーとして見てたっていうのがあって、それをそのままやればいいじゃんって俺がっていうふうに今思えたりもするわけで。
まあなんかあいつにできたことだから多分できるだろうなとか、あいつにできたことだから、あいつにしかできないことだからできないだろうなとか、なんかそういうチーム開発の名残みたいなものが結構自分で残ってるから、なんか自分一人で個人で開発してるのが好きだわで、ずっと個人開発してるっていうのもなんか侍的でかっこいいけど、まあ一回チームで働くと結構視点広がるぜっていうのは思うかも。
おだしょー それはありますね。確かにその、そうですよね。もうこの機能僕では作れないけどこの人に来てもらったらできるとか、なんかこの人採用すればできるとか、この人にそういうのも僕も経験してきたし、まあさらにそこから行くと、その今のアマちゃんみたいに、なんかこれは自分にはできないけど、あいつだったらできるはずだから、これは解けない問題ではないみたいな、そういうふうに思うことがあるっていうことですよね。
そうそう、この問題後回しにしていいかとか、この問題って他の問題が解けてビジネス化した時に害虫できるのかとか、なんかそういう判断ですよね。が、すごく精度高いというか。あとまあ意外と思ったのは、なんかチャットGPTが出てきてから、なんかその質問できる相手がニートにもできたんで、なんかその、
まあこう言っちゃなんだけど、すごく優秀だった人ができたことっていうのが、まあ無能な僕にもできるようになったなっていうのもあるし、なんかそのチーム開発してあいつがやってたことをチャットGPTにやってもらうみたいなことも、なんか感覚としてわかるようになってきたし、
なんかそういう意味ではすごく、チーム開発を経てニートになってチャットGPTがいるっていう今の環境は寂しいけれども、なんかちょっと翼を得たような感覚はあるかもな、みたいなことを思って。
あるかも。ありますね。 東大で働いたことがあるんですけど、ちょっとだけ。まあそんなに活躍はできてないんですけど、なんかその東大の人たちって優秀な人たちが多かったんですけど、なんかこう言っちゃなんだけども、このプログラマーの、今まで出会ったプログラマーと東大で研究している人たちの、このトップ層の知力の差みたいなものにそんなに違いはない気がしたんですよ。
でも、その研究室にはものすごく論文に詳しい先輩とかがいたり、たくさん論文を読まなくても、この論文とこの論文読んで、この論文読めばいいみたいな、そういった道しるべを示してくれる、あらゆる知識がそこに集結してるわけですよ。
っていうのと、それを持たないプログラマー集団っていうのの違いが結構あって。で、その読むべき論文を指し示してくれたり、この論文の数式の意味っていうのも結構慣れてないと、このアルファっていうのが、この分野ではこういう含意があるみたいな、その数式を読むにも結構慣れがあるんですよ、その周辺論文を読んでるか読んでないかで。
そこで先輩に、この数式のこのアルファってこういうことっすかって聞けるっていう、こういうものの違いでしかないっていうふうにちょっと感じてしまった部分があって。で、それがチャットGPTで今できるようになってるんですよ。
だから、すごく最先端の研究への足掛かりっていうのを、チャットGPTがかなり補佐してくれるんですよね。こんな僕みたいな額のない人間でも。たくさん論文読めるようなチャットGPTが出てきてから。
だからそれがね、ほんとね、チーム素晴らしいって話からチャットGPT素晴らしいって話になっちゃってるんだけど、ほんとマジでいい世の中やなっていうのはマジで個人開発者にとってはマジでいい世の中だなって思うんだよな。
思う。し、すごい先輩がめっちゃ少ない研究室でもめっちゃ若い学部生とかがめっちゃ活躍できる時代なんじゃないかなって思ったりもする。すごく。だからそのボトムアップがめっちゃ効いてんなっていう、このチャットGPTでね。だから。
それは、思いますね。でもなんかほんとに、Googleが出てきた時代とかを思い出すというか、なんかGoogleさえなかったけど、やっぱそれでGoogle力があるかないかとか、そういったところとか、なんかもう昔はほんとちょっとすぐGoogleに頼ってると、なんていうか、自分で考える力が落ちちゃうんじゃないかみたいなこと言う人いたけど、結局なんかそこは人間の方が適応したみたいなところがあるから。
AIの影響
チャットGPT的なものも、そこでまたやっぱり差が生まれちゃう部分でもあると思うし、人間が適応していく部分でもあるんだろうなっていうのは思いますよね。やれることがすごく増えたっていうのがあると思っていて、それこそなんか今回、僕が新たにサイトを作るにあたっても、やっぱCSSとかはチャットGPTに関わせたし、
なんかこう、このHTML加わせて、なんかそのVimの物買いっぽいカラースキームっぽいCSS出してくれって言ったら出してくれたし、あとなんか適当なアイコン画像、アイキャッチ画像も、これはGoogleの、なんだっけ、画像生成のAIのやつに適当なプロンプトを入れて作ってもらったやつだし、
あとまあやってないけど、その例えば利用規約だったりとか、なんかそういったもののベースみたいなものも、基本的にはもうそういうチャットGPTに作らせればいいみたいな感じにはなってくると思うんで、本当にそういう個人でできることすごい増えてますよね、チャットGPTとかそういうAIのおかげで。
いや本当本当、いやー羨ましいよな今の時代若い人ってってすっげー思うんですよだから、なんか僕らが苦労してなんか調べてたことみたいなものに時間を費やさなくていいわけですから、
絶対僕らの時代よりも若い人が40になった時とか35とかになった時って、もっとすげーやつになってるんですよきっと、だからめっちゃ羨ましいななんかって思う、だから本当にみんないい時代を生きているし、本当に世の中が良くなっていってるなーって、すごくAIを肯定的に捉えていると。
それはすごく思いますね、なんかその僕らとしても多分長く楽しく生きるみたいなことがAIによってできてきてると思っているので、まあ普通にこう、まあメガネとかがよく言われるけど、まあなんか僕視力悪いんでメガネなかったらすごい大変な人生だと思うんですけど、
それと同じで、こうAIとかもあれば本当人生を彩ってくれるものだし、やっぱそういうテクノロジーにすごい頼っていくってすごく大事だなっていうのをすごく思うんですよね。それこそもう、まあChatGPTに要約してもらったりとか、それこそその翻訳してもらったりとか、なんかそういったことで、その僕自身もそのできることが飛躍的に増えているので、
それはすごくこう、いいことだなって。逆に昔の自分よりも、そういうテクノロジーの力を借りればできることは増えている部分があるので、もちろんまあ若い人と比べたら、まあちょっとその、なんていうんですかね、若い人が今の僕と同じ年齢になったら、絶対今の僕よりすごくなると思うし、それは喜ばしいことなんだけど、別に今の時代の中で生きていく上では、
その若い人とかとの差分を別に、こう埋められる、テクノロジーで逆に埋められるなっていうのはすごく感じるところではありますね。
タカトリヤ 確かにな。まあ人間のね、老いによって失われていくその計算能力とか、その記憶容量みたいなものを補うものという意味も確かにあって、まあなんかうまくそういうふうにも使えると、まだまだプログラミング楽しめたりして、余生を過ごせたらいいなと。
タカトリヤ なんか本当、生涯プログラマーっていうのが自分の中で今一番のテーマかもな、本当に。いつ描けなくなるんだろうっていう、それが怖いわ、なんか目が見えなくなるのか、手が動かなくなるのか、プログラミングを考えられなくなるのかわかんないけどさ、なんかそれが一番自分の生きる意味を失いそうで怖いなーなんて思ったりするけど、AIがそれを解決してくれたらいいなーなんて思ったりしますね。
タカトリヤ なんかすいません、ちょっとこのこれ系のAIの話題ってマジでみんなしてたりしません?なんかこう他のポッドキャストとの差別化という意味で、これ系の話ってみんなしてたりするのかな、俺ポッドキャスト聞いてないんだけどみんなこんな話してそうだよね、今、どうなんだろう、ちょっとはオリジナリティ出せてるのかな、俺のこのしゃべりって。みんな同じこと言ってたらもう聞き手に申し訳ないなって思って、大丈夫かな。
タカトリヤ なんかちょっと、もっと具体的な話しましょうか、最近の。 寺田 そうですね、ぜひぜひ。
タカトリヤ なんか趣味っぽい話なのか、本当にコードみたいな話なのかどっちがいいだろうな、なんか趣味っぽい話で言うと、最近進撃の巨人をこうダラダラプログラミングしながら横で流し続けてついに最終話を迎えまして、ソムさん見ました?進撃の巨人。
タカトリヤ 僕は漫画は全部見たって感じなんですけど、アニメは全く見てないので、その差分があるかどうかとかもよく知らないっていう感じです。
タカトリヤ 僕、漫画は8割くらい読んでて、途中でもう読まなくなっちゃって、アニメで全部見たって感じなんで、たぶんほとんどそんなに違いはないと思うんですけど。
タカトリヤ なんかこれネタバレになるんで、ちょっとここ飛ばした方が。聞いてない人はちょっとここで主張をやめた方がいいかもしれないんですけど、見てない人は。
タカトリヤ ジークっていう、巨人と人間という2つの種族がいるみたいな世界観なんですけど、憎しみの連鎖を終わらすために、巨人という民族を自ら死を絶つみたいな選択をするのか、みたいなシーンがあるんですよ。
タカトリヤ ジークっていう人が、なんで生物っていうのがたくさんいるかって言ったら、増えるようにプログラミングされた体的なことを言うんですよね。そういうシーンありましたよね。
タカトリヤ で、なぜこの苦しみや憎しみを覚えるかっていうと、増えるってことに対するペナルティーでしかないみたいな、それは。だから、そんなことに意味があるのかと。だから、この巨人種族みたいなものをこう、自ら滅ぼしていくことで、この憎しみの連鎖を終わらせようみたいなことを言うんですけど。
タカトリヤ 俺、すごいそれ見てて、巨人の種族っていうのをAIだとすごい見立てて。巨人にならない種族を人間と見立てて。AIが、我々どうせ強化学習だから、強化学習でただ単に計算能力を増やすためにプログラミングされただけだから、自分たちで滅びようみたいな。
タカトリヤ そういう哲学的な問いをしてるようにすごく感じたんですよ。で、結構、あのシーンって、エンジニア的には割と人間はただ単に増えようとするように報酬設計された強化学習みたいな、結構すんなりと受け入れられませんでした?あの話。
タカトリヤ そうですね。なんかおぼろげですけど、そういうシーンがあればそういうふうに思うだろうなとは思います。
タカトリヤ アルミンが違う、でも日々の楽しいことがあって、自分はそのために生きてるんじゃないかと思ったみたいなことを言って。その中で、メタ的に見て単なる強化学習だよねって捉えるのか、
タカトリヤ 強化学習の内側の世界で、その強化学習の報酬というものに意味を見出して、その学習エージェントとしての幸せみたいなものをそれでも自分は大事だっていう、そういうようなAIが問いをするみたいなふうに僕にはすごく見えて。
タカトリヤ またもう一個、巨人を人間と見て、巨人じゃない人間側をこの地球の他の生命と見たときに、人間が地球のために滅びるべきじゃないかっていうような問答にも考えられるわけですよ。
タカトリヤ っていうのをいろいろ見て、だから正義、その中で何を正義とするかみたいな論争が行われるわけですよ。それを見て、これこそが人間の、本当にAIが最終進化したときに、
タカトリヤ その種族に埋め込まれた報酬とそのペナルティの設計みたいな中で、何が正義、何が正義じゃないかっていうものを、この地球の支配者として考えて、みんなでコンセンサスを取るみたいなことが人間の最後の仕事なんじゃないかなみたいな、そのAIが発展した未来みたいなことを、
人間の役割とコンセンサス
タカトリヤ ぼんやりと進撃の巨人を見ながら、考えながらプログラミングしてたんですよ、最近ずっと。だから、どんなに万能になっても、この何が正義ですかっていう、このシステム全体として見ますか、それともエージェント一つ一つっていうものを大切に見ますかとか、
タカトリヤ その死ぬ運命になかった人を殺してでも、その自分が死ぬときに死ぬ運命じゃなかった多数の人を殺すっていうことを正義としますかとか、二者卓一ならそれはOKですかとか、なんかいろんな正義っていうものっていうのはグラデーションがあるわけですよ。
タカトリヤ で、そういう正義とは何かっていうものを、みんなでごちゃごちゃごちゃごちゃ議論するのが人間の最後の仕事で、それでAIっていうものは何の仕事をするのかっていうのを考えるっていうような世界に、ここ200年とかでなんのかなーみたいなことをちょっと考えてたんですけど、どうですか。
なるほど。どうなんですかね。つまり、アマチャン的には結構その世代交代をして生物としてAIに移行していくみたいなことが起こり得るんじゃないかみたいな話をしていますか。
タカトリヤ いや、人間の仕事がなくなって、人間の仕事がなくなっていって、なんか物を作るとか物を表現するみたいなものの主体がAIになっていった未来で、人間の仕事が残されているとしたら何かっていう。
なるほど。 タカトリヤ 人間はすべての仕事がAIに奪われていって、だから戦争を巨人がしてるみたいな、そんな感じかな。で、万能に働くAIみたいなものがある中で、人間の最後の仕事は何かみたいなところで、
タカトリヤ 進撃の巨人の世界では、正義とか正しさみたいなのが誰も決められないものっていうもののコンセンサスを取る仕事みたいなことなのかなって思う。だからなんか、そんなにこの世代がどうとかそういう深い話では全くなくて、まあそういうことを。
そうですね。AIが全部仕事しちゃった後も世界どんなのなんだろうっていうことを考え、昔から考えてて、その中に進撃の巨人がポンとはまったって感じかな。なんか、あ、正義かーっていう。
タカトリヤ なるほど。いや僕としては、なんか人間が生きたいって思うことが全てだと思っていて、生きたいと思うかどうかっていうところの思いみたいなものが全てなんじゃないかなと思っているし、まあ正義みたいなものは後付けだと思うし、
その、まあなんか生きてる、死んでることよりも生きてることの方が価値があるとか、思うのも人間なわけじゃないですかって僕は思っているから、なんかそういう地球に生命が、人間以外の生命を満ち溢れてほしいって思ってるのもまあ人間のエゴだと思っているので、別に石ころも人間もあんまり変わらない。
本来その量子レベルで考えるとあんま変わらないものだから、まあだからまずなんか人間が生きたいって思いがあるっていうことがまず大事なことだなって思っているし、まあそのために、なんかそういう意味ではなんか自分が生きたいとか、まあ周りの人とか、まあやっぱ人間社会的な生き物なので周りの人とかが生きてるのが嬉しいとか、まあゆくゆくはなんか自分の子供とか身の回りの子供とかが、
こう生きててほしいとか、なんかそういうふうに思うのが、なんかすごく大事だと思うんで、まあ最終的に人間がいろんな気力を失っても生きるみたいなことに希望を見出せなくなったら、まあ滅びるときかもしれないし、まあもしかしたらもっと早く、なんていうか外的要因で滅びるかもしれないと思うんですけど、
なんか最終的に人間がやることってすごくこう、なんか不合理なことだけに収束されていくと思っていて、まあある意味そのこう、なんかまあそこももしかしたらある程度AI的なものがコントロールしていくかもしれないけど、なんかこう尖ってるものがかっこいい、丸いもののほうがかっこいいとか、まあそういうファッションとかもそうですけど、なんかそのとか、あとなんかその結局、
不合理はデザインできないと思うんですよね。し、なんかそれってなかなかその、こう人間たくさんいるから組み合わせ爆破する中で、なんかやっぱ人間って信じられないような世の中に対する仕様変更をしたりするから、なんかそれがあんまりそのAIで全て代替できるとは思わないんですよね。
し、なんか最終的にやっぱ人間の思いとか意思みたいな、感情みたいなもので決まっていくみたいなところはあんまり変わらないんじゃないかなと思っているので、なんかうーん、そう、いやそれこそわかんないですけど、法律的にも、なんかそれこそ軽減税率とか、なんか今までこう定数でよかった消費税が軽減税率がやってくるとか、なんかもうそういう理不尽で不合理な意思決定がなぜかされることこそが、
結局人間っぽさだし、なんかそこってなかなかAIが代替できるものではないなーって思うんですよね。
タカトリヤ いやそうですよね。いやほんと全くその通り、全く同じ意見だと。だからなんか、なんか人間の最後の仕事って、やっぱこの、いやなんか芸術とかも、なんかその作品そのものの素晴らしさみたいなものじゃないような気がし、たぶんこれ100万人が言ってそうな気がするんですけど、
生成AIが出てきて、美しいものを作るみたいなことはどうやらできそうだし、美しい曲を作るもできそうだし、ただそこに、この意味的なコンセンサスをこうつけて、それに価値とか値段をつける仕事はやっぱなんか人間の、なんかコンセンサスの枠組みによるようななんか気がしていて、
さっきの法的な、法律の複雑性とかも、なんかそういった人間のコンセンサスに求められてできるような気がしていて、だからそのAIがやっぱり、なんていうの、すべての仕事を奪うっていう中で、最後に残るというか、すべての仕事を奪うというのは嘘で、
最後にはやっぱり人間が、人間たちでコンセンサスを取っていくっていうような、ギリシャの哲学者たちのような、なんか人間が残るのではないかみたいな、なんか気がした。
プログラミングの変化
まあそれこそ美的観覚みたいなのがどんどん、まあそうですね、みたいなところが変化し続けるから、結局その人間、生物的な強みって変化できるところが他の生物に対する優位性だから、むしろそのやっぱAIみたいなものが、に対して変化をリードするのは変わらないかもしれないし、
むしろたぶん次のそういうなんていうか、AIと競争するみたいなところだと変化するみたいな、知性はもう、知能っていうか計算速度みたいなものはもうコンピューターに取られちゃったんで、次はそういう変化力みたいなところが、なんていうか、まあある意味、人間の優位性として捉え直すところにあるのかなっていうのは思いますね。
そうですね。いやーだから我々が今後どういう歴史を作っていきたいかっていうことを、やっぱり、まあ僕子供がいるんですけど、まあ自分の子供にもしっかりと、なんていうか、まあそういうことを考える時代なんだよっていうのは、なんかこう伝えていきたいなと、このAIの時代だからこそ思ったり。俺なんかすごいニートになって考えすぎてるかもしれないですね、いろんなことをね。考える時間がありすぎるんだよね。
そうですね、もともとすごい考える人なのに。 フログラミングしてて使わない脳の部分が多分あって、そこの部分がめっちゃいろんなことを考えるんですよ。まあまあ、そんなことを進撃の巨人を見て考えたって話ですね。
なるほど、ありがとうございます。 ちょっと最近書いてるコードの話とかもします?もう時間ない?大丈夫? はい、技術的な、いや全然大丈夫ですよ、はい。
いやなんか、結構尖ったことを言うと、なんか僕プログラミングめっちゃ大好きじゃないですか。だからプログラミング言語もめっちゃ好きだったんですよ。めちゃくちゃ好きだったの。プログラミング言語というものも好きだし、まあプログラミング言語の取ってる、なんていうか、この書きやすさとは何かとか、そういうスタンスみたいなものめっちゃ好きだったんですよ。
だから、ライトワンス、ランエブリウェアとか、なんかパールだったら、なんかいろんな書き方が、一つのことにはいろんな書き方があるのか。 キム・トーディとかですね。 そうそうそう。パイソンだったら逆に同じものは同じ書き方であるとか、なんかそういったものとかがすごく好きだったんですけど、
なんか最近そのニートで時間があったものですから、なんかいろんなプログラミング言語のコンセプトとか、いろいろ通読したりとか、ハスケルとかをちゃんと自分の作りたいものに適用して書いてみようとか、なんかあとカンファレンスでRubyの開発人の話を聞いたりとか、いろんなプログラミング言語に関しての活動もしたんですけど、
その中ですっごく虚しさを感じたんですよ。それがすごい、なんかつまんないっていう虚しさ。過去大好きだったもの、めっちゃ好きだったものが、今興味持てなくなってるっていう、めっちゃアニメ面白かったのに大人になってアニメ面白く見れなくなっちゃったとかよく聞くけど、
そういうような感じで、プログラミング言語に対して、最近ものすごく虚しさを感じたっていう話がありまして。で、なんでなんだろうなーっていうのを考えてたんですけど、なんかどのプログラミング言語も差し足る違いがないようにすごく感じてしまうんですよね、最近。
なんか結局、CPUを使うためのものとか、IOMOを出すためのものみたいになっていて、そういう大爆で言うとあんまり進化してないっていうような感じがしてしまったんですよ。
で、今一番好きなのは、RUSTっていうプログラミング言語なんですけど、それは一番、CPUの命令を書くのに、必要最小限でしっかりとCPUの命令をかけて、なおかつ簡単だっていうところが、僕はRUSTが好きなんですよね。
Cプラだと結構難しいんだよね。C言語も結構難しいし、ポインターの配列のダングリングとかが難しいんで、メモリも安全に書けるRUSTが好きっていうので、もうそれ以上のものは必要ないっていう感じになっちゃってたんですよ。
で、プログラミング言語、今後面白くなっていくのにはどうしたらいいかっていうことを、すごくその虚しさの中でぼーっと考えてたんですけど、今のプログラミング言語に求められてるものって、CPUの命令やいろんなデバイスへのIOを書くことではなくて、その上に立つことですよね。
そのCPUの命令か、そのアクセラレーター、GPUを使うかとかは、意識させないレイヤーでプログラミングをするっていうことを、今の自分はすごい望んでるんじゃないかという感じがすごくしたんですよ。
今って、例えばTensorFlowとかを書いて、GPUを使うわけですよ。PyTorchを書いてGPUを使うんだけども、そういうことを意識せずに、プログラミング言語ってものを書けば、CPUを使ったりFPGAを使ったり、いろんな未知のアクセラレーターに対応したコードが生成されるみたいなものだったら使ってもいいかなっていう。
そういうことを考えてて、今のプログラミング言語の大半はあんまりそこにフォーカスできてないんじゃないかなっていう、虚しさをすごく感じたのかもしれないっていう話で。
なるほど。どういうことだろう。人間のためってよりかは機械とか実行環境に特化したものみたいなものがあってもいいみたいな話なんですかね。結局根本的にインプットがあってアウトプットがあるみたいなところは変わらないわけじゃないですか、プログラミングっていうのは。
そこでその人間に優しいのか機械に優しいのか両方に優しいのかみたいな話があるのかなと思ったんですけど、それともまたちょっと違う話をしてるように感じたんですけど。
僕ちょっと今IOって言葉をちょっと曖昧に使ったかもしれなくて。IOっていうのは、僕もそんな詳しくないからあんまりうまくしゃべれないんですけど。IOっていうのはどっちかっていうとGPUとかアクセラレーターとかを使うことを今IOって言ったんですよね。
CPUの命令ではなくて、別のデバイスにメモリ上でデータを転送して使うみたいなこととかをライブラリでやったりすると。そういうのっていうのを手書きで今書くと。
GPUにこのメモリをアップロードして、GPUのメモリをアロックして、それでGPUの計算を定義してGPUを動かすみたいなことを今は書くと。
で、今AIの時代とかっていうものを牽引しているものは明らかにCPUじゃなくてGPUだったりNPU、TPUだったり、様々なアクセラレーターなわけですよ。で、CPUの書き方とアクセラレーターを使うときの書き方っていうものが分けられているっていう時点で全部同じ言語に見えてしまうっていう、このAIの時代だからこそ。
っていうことですね。Ioっていうのは良くなかったかもしれない、言い方が。
なるほど、そういうことか。
そうそうそう。だからプログラミング言語を書けば、その計算に最適なちゃんとデバイスを使ってコードを実行してくれるっていうプログラミング言語こそが求められていると自分は思っていて、実際にはそういうものもあるんですよ、たくさん。
で、MLIRとかは本当に今、僕は一番未来を感じているものなんですけど、そういうものを抜きにして、今この世の中で一番未来のあるものにプログラミング言語ってものがあまりアプローチしてないように見えてしまっていたんですよね、ハスケルを見てもRubyを見ても。
で、だからMLIRとかだったらMojoとか、このTensorFlowのXLAとか、そういったものはすごくそういうことを目指してて好きなんですけど、既存のプログラミング言語の人の大半のものはそういうことをあまり目指してないっていうのが少し虚しさの原因なのかなというか。
未来のプログラミング言語
こっちにあるのか。まあでもそういうそうか、CPUネイティブじゃなくてGPUネイティブというかアクセラレーターとかそっちの方を標準的に扱うような、投下的になのかな。まあ扱うようなものが出てきてもいいんじゃないかっていうようなお話ですかね。
なんか普通にプログラミング言語を書いて、その計算がGPUに向いてるかCPUに向いてるかなんてことが、前時代的なものなんだろうなっていう。まあ人間が書くよりも、そういうコンパイラーとかそういうオプティマイザーとかが判断したり、
OSのデバイスの統計情報とかを使って、この計算をこの量でやるんだったらこのデバイスの方がいいみたいな風になっていかないと、この人間がやりたいことっていうのは率直に伝えるっていうことではなくなってしまうというか、まあそういうことをすごく感じるんですよね。
実際にNumPyとかで書くじゃないですか、なんかいろんな頂点処理とかを。で、GPU使いたかったらTensorFlowで書き直すわけですよ。
そういう、それってプログラミング言語の仕事でしょみたいなことをすごく思っている。
たしかにでもそれはそのうち、今の既存の言語もそうだし、まあそういうものが出てきてもおかしくはない感じはしますね。
それこそそのメモリの確保とか、Goとかでもそのスタックに確保するかヒープに確保するみたいなのは別に考えなくてもいいようになってるっていうか、ちゃんと適切にどっちかに置かれるみたいな感じになっているから、それこそそういうそうですよね。そのGPU使うかCPU使うかみたいなところが、特化的にいい感じにやってくれるようになると良いっていうのはあるってことですね。
だからなんかそういう、どんだけAIが発達しても、そのAIの下、足回りの技術っていうのは人間の仕事だから、まだそのどういうデバイスを積んでるパソコンなのかによって動き方も変わるだろうし、
まあそういうところはやっぱすごく今のプログラミング言語というよりも、プログラミングの中間命令形式とかそういったものにすごく興味がある。結構ね、TensorFlowとかだからいいっすよ。僕なんかPyTorchよりもTensorFlowの方が好きなんですけど、
テンサーフローが好きなところはそこ、MLIRをちゃんと、最近PyTorchもやってるんですけど、TensorFlowで書けば、一応その中間言語形式みたいなのがあって、そこからこう少しずつCPUを使う部分、このGPUを使う部分っていうふうに、その中間形式が少しずつオプティマイゼーションをかけていって、最終実行環境ができるみたいな設計になってるんですよ、中身は。
そういうとこが、TensorFlowだからGPUを使うとかじゃなくて、計算がこうだから最適なコードを生成するっていう、そういうふうになってるのが結構TensorFlow好きっていうところだったりもする。
なるほど。TensorFlow好きなんですね。なんかそれこそ、パソコン買い替えたみたいなやつも、インテルマックのサポートがもうされなくなるから、買い替えたみたいなところも書いてあったから、なるほど、それぐらいやっぱ好きなんだなっていうのが今わかります。
でもTensorFlowが好きっていうよりも、そういう思想が今後来る、そういう最先端の設計だからってことですよね。MLIRを使うのはTensorFlowだけではないですけども、っていうことを感じたりとか。
なるほど、MLIRもうちょっと聞きたいけど。まあちょっとそうですね。 そうですね、プログラミング言語もっと頑張れよと。でもすっげえ失礼なこと言ってんな。みんなすごい人だからな。
ラストはだからいいですよね。まあでもそういう割と低レイヤーのところをうまく触りながら、それなりに矛盾のない文法で綺麗に書けるみたいなところがあるから、結構僕も最近ちょっと触りつつありますけど。
ラストで十分って感じ。ラストのちょっと厄介さはあるんですけど、なんかC++の厄介さと比べると、なんかプロジェクトがぶっ壊れるほどの厄介さではないから。C++はね、本当にデバッギング大変だから、なんか普通にCPUの命令を書くというジャンルと、そのMLIR的ないろんな最適なアクセラレーターを使うというジャンルの2つには自分の頭の中では分かれていて、
そこの頂点はもうラストでいいんじゃないかみたいなふうに思っていて、もう一個側のアクセラレーターとかをちゃんと使うっていう部分はラストも別に全然できてないんですけど、もうこっちはもうラストでいいじゃんっていう感じになっちゃってるみたいな。
いや、いいっすね。 トミック それはあるかもですね。ラストいいですね。 ラストでいい。
トミック でもそれこそ、最近だとそのミシェル橋本さんがあのターミナルを作り始めて、もう趣味プログラミングとしてやっていく、余生のプログラミングの一つみたいな感じでやり始めているけど、それはそのジグっていう言語を使っていて、ジグをすごい押してるんですよね。なんかミシェル橋本さんは。
どんな言語なんだろう。 トミック なのでなんか、ちょっとじわじわジグがきてる感じはありますけれどもね。たぶん、まあラストと、たぶん、まあそうですね。こう、そういうある意味低レイヤーを書く言語として作られてる言語ではあるみたいですけどね。まあでもラストで、まあラストがもっと成熟すればいいなとは僕も思ってはいます。
ラストが、なんか世には結構難しいと言われていたりしますよね、なんか。そんなことないですか。なんかラスト難しいって言ってたまに見るんですけど、これ老害なのかしらないですけど、どこら辺なんでしたっけっていうのがいまいち理解できてない部分とかあったりして。ラストって、あああれか、やっぱボロチェッカーとかがややこしいのかな。
トミック そうですね。うんうんうん。確かに。なんかラストの難しい。
僕もまだ。
トミック 確かに。確かにな。まあまあまあ。うん、確かに。まあまあいろいろ。
プログラミング言語についての考察
トミック まあC++とかに比べると簡単だよみたいなのはすごい何でもあると思いますけどね。まあなんかGoもCに比べると簡単だし表現力高いよねみたいな話もよく聞くから、そういうのと似た話かもしれないとは思うんですけど。
トミック あとまあそうですねボロチェッカーとかなんかちょっと僕最近書いててよくわかんなかったのはその普通にSTRとストリングどっちをどういうタイミングで使えばいいのかとかなんかそういった。
確かに。確かに。まあS、確かに確かに。確かにな。僕もうまく説明できるかな。確かにな。確かに僕もうまく説明できるかは謎ですけど、なんかストリングって書いてあるとなんかスタックにあるような感じがする。
トミック え、なんでだ。確かに確かに。ANDSTRって書いてあったら、まあこの変数だけでは知れないどこかにあるっていうような感じに感じるだけかな。ポインターみたいなものっていう感じ。確かにあの辺ややこしいですよね。
あの辺はちょっとややこしい。なんか所有権共有するためにそのアンパサンドなんかとかを使うみたいな。あの辺もちょっとまだなんかどれぐらいこれはお行儀がいいのか悪いのかちょっとわからないみたいなところとかわかりづらいところはありますね。
確かに。ANDSTRがなんでANDSTRじゃダメなのかって言われたらなんかうってなりますね、自分も。確かにな。気にせずに書いてたからあんまり困ってなかったけど。ラストを本当に、ラストを書くのに何にも困ってない人間ですけど、ラストを解説できる能力が自分にはないかもしれない。確かに。確かにその辺は慣れちゃったから気にならなくなってただけなんだな。
たかちん そうなりますよね。僕もGoとかだいぶ慣れましたけど、なんかもう本当に自然とこっちにするみたいなのは多いですからね。し、なんか聞かれるとあれなんでなんだっけみたいなのはたくさんありますよね。
たかちん 確かに確かに。なんかラストの一つ好きなところはなんかやっぱりなんかやっぱヒープが少なくなるっていうのがやっぱりなんかすごくCPUの曲書性とかが変数のメモリ上の曲書性とかが高くなって結構早くなったりするし、
なんかそのヒープのマネジメントに逆れるコストとかが低くなって、めっちゃその本来のCとかC++みたいなことを、あんまりメモリリークとかダングリングメモリとかを考えずにできるみたいなところがすごい魅力だって自分は感じるから、
まあなんかその辺の説明聞いてなんかこうピンと交差するのは難しいかもしれないし、なんか確かにラスト好きっていうのをなんか人に簡単だから使えないよってなんかちょっと違う気もしてきたな今の話聞いてて。
あとまあコンパイルが思ったより時間かかるんだなみたいなのは感じるところではありますね。まあでもそれもC++とかCとかの複雑なプロジェクトに比べると全然みたいなところはあるとは思うんですけど、今もともと、でも僕はなんかまだその言語ができてきた時代背景とか思想みたいなのはやっぱまだ好きで、それこそラストはそのC++で書かれたFirefoxのコードが結構大変だからラスト作って、
そのラストで書き直すみたいな話があったりするから、なんかそういうのはすごい、僕はまだそういうのすごい好きなところではありますね。
たしかにな。
じゃあまあ一旦話はこれぐらいにして、ちょっともうこれも長いんで、一旦切ってもう一本撮りますか。それでちょうどいいぐらい。
撮るか撮らないか考えますかちょっと一回。
まあそれでもそうですね。
いや、おぼか撮りたいですけど、はいはいはい。
ああ本当ですか。まあまあじゃあ一旦切りましょうということで。はいお疲れ様です。
51:49
コメント
スクロール