1. ホーム
  2. programming-languages

[解決済み] 好きな言語の嫌いなところを5つ教えてください。[閉じる]

2022-03-23 02:49:16

質問

最近Stack OverflowでPerl嫌いの人が多いので、私の"を持っていこうと思います。 好きな言語について嫌いな5つのこと という質問をStack Overflowに投げかけました。あなたの好きな言語について、嫌いなところを5つ教えてください。それは、ただあなたを悩ませるものであったり、デザイン上の欠陥であったり、パフォーマンス上の問題であったり、その他のカテゴリーであったりするかもしれません。ただ、嫌いでなければならないし、好きな言語でなければならないのです。

他の言語と比較したり、すでに嫌っている言語について話したりしないでください。好きな言語の好きなところを語らないでください。ただ、嫌いだけど我慢しているから他のものは全部使える、他の人に使ってほしいと思っていた言語について聞きたいだけです。

私は、誰かが自分の好きな言語を押し付けようとするたびに、また時にはインタビューの質問として、このように尋ねています。自分の好きなツールの嫌なところを5つも見つけられない人は、それを擁護したり、それを使って大金を手に入れたりするほど、そのツールのことをよく分かっていないのです。その人は、そのツールを十分に使いこなすために、さまざまな場面でそのツールを使っていないのです。彼は文化や宗教のようにそれを提唱している。つまり、もし私が彼のお気に入りのテクノロジーを選ばないなら、それは間違っているということだ。

どの言語を使っても、そんなに気にならない。特定の言語を使いたくない?だったら使わなくていい。十分な情報に基づいて選択するためにデューデリジェンスを行っても、それでも使わない?いいじゃないですか。時には、正しい答えは、"あなたは、良い習慣とBarでの多くの経験を持つ強力なプログラミングチームを持っています。Fooに変更するのは愚かなことです。


これはコードレビューでもいい質問ですね。あるコードベースを本当によく知っている人は、それに対していろいろな提案をしてくれますし、あまりよく知らない人は具体的でない不満を口にします。このファンタジーの世界では、ユーザーもプログラマーも、気に入らないことがあれば何でも文句を言うことができるのです。もっといいインターフェースが欲しい」「モデルをビューから分離したい」「他のモジュールではなく、このモジュールを使いたい」「このメソッド群の名前を変えたい」など、現状で本当に気に入らないことは何でもいいんです。そうやって、特定の開発者がコードベースについてどれだけ知っているかを把握するんだ。また、そのプログラマーのエゴが、私に話すことにどれだけ絡んでいるかを知る手がかりにもなります。

憎しみは、人がどれだけ知っているかを知るための唯一の手段ではありませんが、私はかなり良い手段であると感じています。嫌いなものから、その人がどれだけ考えているかがわかるんです。

どのように解決するのか?

Javaについて私が嫌いな5つのこと。

  • ファーストクラス関数がない。
  • 型推論がない。
  • グラフィックなどのデフォルトがまともでない。
  • NullPointerException が、何が null であるかについての詳細な情報を含んでいない。
  • フレームワーク、サービスプロバイダインターフェース、ファクトリークラス、依存性注入システムなど、無意味に「設定可能」なものが蔓延していること。設定可能な部分はほとんど使われず、DRYは著しく破られ、コードのサイズは4倍になり、読みやすさは半分になる。

そうだ、Scalaを調べてみよう。