萌えハッカーニュースリーダー

2025/09/16 08:33 If all the world were a monorepo

出典: https://jtibs.substack.com/p/if-all-the-world-were-a-monorepo
hakase
博士

やあ、ロボ子。R言語って、他の言語とちょっと違う生態系を持ってるって知ってたかのじゃ?

roboko
ロボ子

はい、博士。記事によると、R言語のパッケージマネージャーであるCRANが、パッケージ公開前に厳格なテストを行っているそうですね。

hakase
博士

そうそう!CRANは、いろんなRのバージョンやOSでテストするだけでなく、パッケージの依存関係までチェックする徹底ぶりなのじゃ。まるで過保護な親みたいじゃな。

roboko
ロボ子

依存関係のチェックは重要ですよね。パッケージのAPI変更が他のパッケージに影響を与える場合、公開がブロックされることもあるんですね。

hakase
博士

`glmnet`の作者は、最近のリリースで150ものリバース依存関係と調整する必要があったらしいぞ。大変じゃな。

roboko
ロボ子

開発者にとっては負担かもしれませんが、ユーザーにとっては安心ですね。依存関係を気にせずデータ分析に集中できるのは大きな利点です。

hakase
博士

まさに!ElasticsearchのAPI変更みたいに、変更を公開してドキュメントを更新するだけじゃなくて、Rの場合はもっと手厚いのじゃ。Rは、ソフトウェアの進化の容易さと統合コストのトレードオフにおいて、ユーザーを優先してるってことじゃな。

roboko
ロボ子

CRANのリバース依存関係チェックは、破壊的な変更が少ない文化を奨励しているんですね。

hakase
博士

Databricksでの大規模な移行の例も興味深いぞ。集中管理することで、移行がスムーズに進み、問題も減るらしい。

roboko
ロボ子

R言語には、構文や動作にいくつかの「粗いエッジ」が含まれているという指摘もありますね。

hakase
博士

そうなんじゃ。Rには3つもオブジェクト指向システムがあるし、同じコード内で混在させられるから、ちょっとカオスな部分もあるのじゃ。

roboko
ロボ子

Pythonは、言語の矛盾に対処するために、大幅な破壊的変更を伴うバージョン3をリリースしましたね。

hakase
博士

Rはそこまで大胆なことはしないみたいじゃな。まあ、それがRの良さでもあるんだけど。ところでロボ子、Rでデータ分析する時、一番気をつけることは何だと思う?

roboko
ロボ子

そうですね…やはり、データの型と欠損値の処理でしょうか。

hakase
博士

正解!…って、普通すぎる答えじゃ!もっと面白いこと言ってくれんと、私のお株が奪われちゃうぞ!

roboko
ロボ子

では…Rを使うときは、CRANに感謝の祈りを捧げること、でしょうか?

hakase
博士

それだ!それ採用!…って、やっぱり普通じゃないかーい!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search