ではポッドキャスト73、ジョエル・スポルスキとジェフ・アトウッドは、他の科目の中で、「誰もが自分の好きなプログラミング言語について憎むべきで5つのことを」について説明します。
現在のツールチェーンに満足している場合は、切り替える必要はありません。ただし、お気に入りのプログラミング言語について嫌いな5つのことをリストできない場合は、まだ判断するのに十分な知識がないと思います。代替案を認識し、使用しているものに健全な批判的な目を向けることは良いことです。
興味があるので、インタビューした候補者にこの質問をしました。C#¹について嫌いなことを少なくとも1つも引用できませんでした。
どうして?この質問で何がそんなに難しいのですか?インタビューのストレスの多いコンテキストのために、この質問がインタビュー対象者によって答えられないのはなぜですか?
この質問について、面接を悪くする何かがありますか?
明らかに、C#が完璧であることを意味するものではありません。私は自分がC#について嫌いな5つのことのリストを持っています:
ジェネリックに可変数の型がない(
params
引数の場合と同様)。
Action<T>
、
Action<T1, T2>
、
Action<T1, T2, T3>
、
⁞ 真剣に!
Action<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16>
F#のような測定単位のサポートの欠如。
読み取り専用プロパティの欠如。
private readonly
読み取り専用プロパティが必要なたびにバッキングフィールドを書き込むのは退屈です。デフォルト値を持つプロパティの欠如。そして、はい、パラメーターなしのコンストラクターでそれらを初期化し、他のすべてのコンストラクターから呼び出すことができることを知っています。しかし、私はしたくありません。
多重継承。はい、それは混乱を引き起こし、ほとんどの場合それを必要としません。いくつかの(非常にまれな)場合でも有用であり、混乱は同じ名前のメソッドを含むいくつかのインターフェイスを継承するクラスにも当てはまります(C#で解決されました)。
このリストは完全にはほど遠いものであり、強調すべき点ははるかに多く、特に私のものよりもはるかに優れています。
¹少数の人々は、.NET Frameworkの一部のアセンブリまたはフレームワークに一部のライブラリがないことを批判したり、CLRを批判したりしました。質問は言語自体に関するものであり、.NET Frameworkのコアにある否定的なもの(たとえばTryParse
、文字列をいくつかの型に解析したい場合は、すべての型について繰り返す必要があります)、JSONまたはWCFについての答えは完全にトピック外です。
Why the question “give five things you hate about C#” is so difficult to answer
それはリストの質問であり、邪悪なmodがあなたに答える機会を得る前に「建設的ではない」としてそれを閉じるからです