2009-03-30 7 views
6

Ich habe heute Abend ein paar Artikel von Kahan gelesen und seine famous rant gegen Java. Bevor ich in die JVM-Spezifikation eintauche, hat sich seit dem ersten Schimpfen an dieser Front irgendetwas geändert? Zum Beispiel:Hat Javas Gleitkomma-Implementierung immer noch die von Kahan identifizierten Probleme?

  • Einstellung Rundungsmodus
  • die Fahnen Zugriff
  • immer mehr Präzision kostenlos
  • ...?

Danke,

Nico.

+0

Diese Frage muss möglicherweise neu formuliert werden. Dies scheint zur Diskussion zu führen. –

+0

Ich habe den Titel zu einer spezifischen Frage gemacht, um die Chance zu reduzieren, dass diese Frage kurzerhand geschlossen wird, anstatt eine Antwort zu suchen. – Eddie

+0

Wow, das ist ein faszinierendes Papier. Ist C# genauso schlecht? – Chris

Antwort

2

Prof. Kahans Schüler Joe Darcy wurde Suns "Fließkomma-Zar". Sein Blogeintrag "Everything Old is New Again" ist ein Einstiegspunkt, um mehr über die Arbeit zu erfahren, die er getan hat, um die Probleme zu beheben. Es gab große Verbesserungen.

+0

Danke, aber das spricht nicht die Tirade an. Aber es deutet darauf hin, dass es keine Änderung im FP-System gibt. – nraynaud

0

Meine Vermutung ist, dass sie immer noch gültig sind, da ich seit 1998 nicht viel Veränderung in diesem Bereich gesehen habe.

Allerdings bin ich nicht sicher, dass sie wirklich viel verwendet würden, auch wenn sie heute hinzugefügt wurden. Viele Sprachen unterstützen Arithmetik mit variabler Genauigkeit (wie Java), was für diese Art von Problem eine bessere Lösung zu sein scheint. z.B. BigInteger, GroßDezimal.

+1

"Arbitrary Präzision", nicht "variable Präzision". Zusammen mit Änderungen an der Fließkomma-Semantik in Java 2.0 (1.2) geben die willkürlichen Genauigkeitstypen eine gute Antwort auf Kahans Beschwerden. Nicht, dass ich selbst ein numerischer Analytiker bin. – Guss

+1

Ich sollte gestehen, dass ich noch nie eine Matrixinversion oder einen Kalman-Prädiktor in beliebiger Genauigkeit gesehen habe. Ich bin mir nicht sicher, ob dies das richtige Werkzeug für die numerische Simulation ist. – nraynaud