悪名高い Java Date API: 歴史的大失敗
悪名高いことで知られる Java Date API は、いくつかの欠陥に悩まされてきました。は、これを Java SDK の悪名高いコンポーネントにしました。これらには、その変更可能性、日付自体ではなく日付タイムスタンプの誤った表現、日付コンポーネントと Date オブジェクト間の直接的な変換の欠如が含まれます。さらに、Calendar クラスは扱いにくいとみなされ、複数のカレンダー システムを 1 つのクラスにマージしようとします。
このような明らかな問題がどのようにして Java SDK に持ち込まれたのかについては、好奇心が旺盛です。これらの欠点、特に Date クラスの可変性は明らかな単純さにもかかわらず、これらの問題がどのようにして検出を回避できたのかは依然として謎のままです。
情報源によると、有名な Java Programmers FAQ、バージョン 07.X.1998、 Peter van der Linden によって書かれたこの問題は次のように簡潔に述べられています。
「クラス日付は特定の瞬間を表します」このクラスの設計は非常に悪い冗談であり、優れたプログラマーでも失敗するという厳粛な例です。」
著者はさらに、Calendar クラスとその GregorianCalendar サブクラスを批判しました。これらを Taligent からライセンス供与された「過剰設計されたジャンク」と呼んでいます。
Date を含む初期の JDK クラスの可変性の背後にある理論的根拠は、誤った最適化が原因であると考えられます。その目的は、オブジェクトの再利用を促進し、不必要なコピーを回避することでしたが、このアプローチは現代の VM には当てはまらなかった可能性があります。
数多くの欠点があるにもかかわらず、Java 日付 API は SDK 内に存続しており、潜在的な落とし穴を厳粛に思い出させてくれます。 API 設計の重要性と、最も経験豊富なプログラマーであっても間違いを犯すことは避けられません。
以上がJava の悪名高い日付 API はなぜ歴史的な大失敗になったのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。