2024.12.03
企業の情報漏えいで最も多いのは「中途退職者」による持ち出し 内部不正が発生しやすい3つの要素
リンクをコピー
記事をブックマーク
司会者:mrknというRubyに詳しそうな方から、まつもとさんに質問です。「最近おもしろいと思っている新しいプログラミング言語はありますか?」
まつもとゆきひろ氏(以下、まつもと):「Erg」という名前のプログラミング言語を作っている人がいて、これはPythonへのトランスパイラーなんですけど、言語そのものはPythonと似ても似つかない感じで非常におもしろいですね。
広く使われるかどうかはちょっと自信がないんだけれども、いろいろなおもしろいアイデアが詰まっているので、最近はそのリファレンスマニュアルを読むのが楽しみで、少しずつ読み進めていますね。
実際にソースコードもあって、ソースコードはRustで書いてあるんですが、実際の言語は、まだできていない機能がリファレンスにはすでに書いてあったりするので、そういう意味でおもしろい感じではあります。夢のある言語ですね、Erg、「エルグ」と読むんですかね。
司会者:はい、ほかに質問ある方はどんどんどうぞ。
おっ、質問が来た。「ボトムアップでRubyが改善されているとのことですが、ユーザーからのFeature Requestsを取捨選択する基準はありますか?」
まつもと:そうですね、2つあって、1つは既存の部分。Rubyはけっこうでかいので、既存の部分との間の整合性というんですかね、矛盾みたいなものがあるかどうかというのが1つですね。
2番目は、たぶんメソッド名、あるいは文法が増えるので、それに対して適切なノーテーション……なんて言うの、見栄えや名前がきちんとついているかというところの2点が基準になります。
司会者:2点ってビシッとスラスラ言えるのはさすがですね。ありがとうございます。
司会者:次、「以前のお話で、ASTクラスを公開したのはツールのためというお話だったかと思うのですが、今後、機能強化をする予定はありますか?」
まつもと:ASTの機能強化の予定は、今のところはないんですが。ただ、ASTの前段になるパーザーについてはなんとかしたいなと思っています。というのも、今のRubyのパーザーとそれの派生、「Ripper」とか「Parser gem」とかって完全なRubyのプログラムしか解釈できないんですよね。
なんだけど、例えばLSPとかを作ろうとすると、書きかけのプログラムでここまでパーズして、あとはまだまだエラーですみたいなところも、ある程度パーズしたいわけですよ。エラートレラントというんですけども。
そういう感じのパーザーを作るのを支援したいなという話はあって、具体的には明日話をするケビン・ニュートンが手を挙げてくれているので、彼の仕事がパーザーの改善のベースになるんじゃないかなと思います。
司会者:とのことです。ご質問ありがとうございます。
司会者:次、Colbyから、「What's your favourite new default gem in Ruby 3.2 and why is it syntax_suggest?」。これは、Colbyが代筆してくれているけれども、syntax_suggest gemのオーサーからの質問です。
まつもと:syntax_suggestですって(笑)。いや、でもね、もしかしたらRubyのパーザーが、今度のケビン・ニュートンのパーザーで改善されたら、syntax_suggest相当は、実はビルトインになるかもしれないなとは思っています。でも今は、syntax_suggest、すごくいいよねと。
司会者:syntax_suggestが何かというと、2021年の「RubyKaigi Takeout」で発表してくれた、dead_endというgemが。
まつもと:リチャード・シュニーマンのdead_endの発表がおもしろすぎて、本質的なところが頭に入らないっていう欠点があったんだけど(笑)。
司会者:彼、本当にプレゼンが最高ですよね。
まつもと:最高だけど、おもしろすぎるよね。
司会者:はい、次の質問です、「Rustは、Matz' Ruby Implementationに入るのでしょうか?」。「入るのでしょうか?」というのはどういう意味だ? じゃあ、RustがMRIのビルドスタックに入ったことについて、葛藤などがあったのであれば教えてください。
まつもと:ちょっと話したのもあるのですが、CRuby全体をRustで置き換えてRustRubyにするかみたいな話はぜんぜんないです。やはりRubyの本質的な部分である、RubyとCで実装するというポリシーは変更ないです。
ただ、オプショナルな部分について、今回はYJITでしたが、ほかの例えば、Bundler gemとかの実装にRustが入ることはあり得るとは思っています。だけど、コアの部分に関してはCのまま、そこは変わらない感じです。
司会者:個人的になんか嫌だなとかは思わなかったんですか? 「Rustかよ」みたいな「C書けよ」とか。
まつもと:私個人の信条として一番大事なのは、開発者のモチベーションだと思うんですね。例えばまつもとの好みで、「開発される言語、Rustは絶対ダメ」って言われるのは、だいぶモチベが下がるという可能性を考えた結果、コアじゃない部分については許容したほうが、トータルの開発の速度が上がるんじゃないかなと思って許可しました。
司会者:なるほど、ありがとうございます。
司会者:質問があるので続けますね。「LSPの拡充以外で足りないと思っているツールってありますか?」
まつもと:足りないと思っているツール。どうだろうな……。いや、すぐには思いつかないんだけど、「TypeProf」と「Steep」あたりで、もっと強化できる余地はないんだろうかって思うところもあるんだけど。
あとは、そうですね。個人的には、RuboCopのルールを選ぶのがタルいので(笑)、あなたのプロジェクトに対して最適なCopの集合を教えてくれるツールとかあるとうれしいなって思っていますけど(笑)。
個人的には、私の趣味に合わないルールがけっこうたくさんあるんですよね。そういうのは全部オフにしたいんだけど(笑)。だけど、ぜんぜんないのも嫌だというのもあって、そのへんのバランスを取るツールがちょうどあるといいなと思っています。もしかしたらStandard gemもそうなるのかなと思ったんだけど……それでいいのかな、ごめんなさい、歯切れが悪くて。
司会者:あくまで個人の意見です、というかたちで「MatzCop」をパブリッシュするというのはどうですか?
まつもと:確かに、そういう手もあるかもしれない。「これ、これ、これをオンにするやつが好きです」とか?
司会者:でも、RuboCopの設定を全部読まなきゃいけないですからね、なんとかCopの挙動とか、すごく膨大なので。
まつもと:一番簡単なのは全部オンにする。なんだけどそうすると、ここは僕は気にしないのにというところまでなんかすごく怒られるんだよね(笑)。でも、全部オフにすると意味ないしという感じですね。
司会者:そろそろいい時間なので、今日の最終コマ「Ruby Committers vs The World」でも、まつもとさんにいろいろぶつけるチャンスがあるかと。
まつもと:ぶつけられるんだ(笑)。
司会者:なので、いったん朝のセッションはここまでにしたいと思います。ありがとうございました、まつもとさん。
まつもと:ありがとうございました。
(会場拍手)
2024.11.26
タスクの伝え方が部下のモチベーションを左右する マッキンゼー流、メンバーが動き出す仕事の振り方
2024.11.25
仕事はできるのに、なぜか尊敬されない人が使いがちな言葉5選 老害化を防ぐために大切な心構えとは
2024.11.27
何もせず月収1,000万円超…オンラインゲームにハマって起こした事業 大学中退し4社立ち上げ・2社売却した起業家人生
2024.11.29
「明日までにお願いできますか?」ちょっとカチンとくる一言 頭がいい人に見える上品な言い方に変えるコツ
2024.11.25
論理的に「詰める」マネジメントでは本質的な解決にならない マッキンゼー流、メンバーの理解と納得を得る接し方
2024.11.28
管理職の「疲弊感」がメンバーに伝わるリスク 部下の「働きがい」を育む6つのポイント
2024.11.27
部下に残業させられず、自分の負担ばかり増える管理職 組織成長のカギを握る「ミドル層」が抱える課題
2024.11.27
仕事中の「今ちょっといいですか」が苦痛… いしかわゆき氏が語る、ADHD気質にマッチした働き方のヒント
2024.11.26
仕事の質を左右する「ムダな習慣」トップ5 忙しくなる前に棚卸ししたい“やめたほうがいいこと”とは
2024.11.28
“新規事業が生まれない組織”に足りていないもの 「PoC貧乏」に陥らず、アイデアを形にするためのヒント
長期投資の衝撃の真実!20年投資しても年率1.9%しか増えない!?
2024.10.04 - 2024.10.04
第765回 トレンド経営学『顧客に謝る基準とは?』
2022.04.18 - 2022.04.18
不機嫌な自分をやめるために!認知行動療法の専門家 中島美鈴先生新刊『脱イライラ習慣! あなたの怒り取扱説明書』発売記念【無料オンラインイベント】
2024.10.25 - 2024.10.25
ログミーBusiness リニューアル記念イベント開催
2024.11.29 - 2024.11.29
品がある人、育ちがいい人の見える 人のセリフ 3選
2022.11.30 - 2022.11.30