Galileo Computing < openbook >
Galileo Computing - Professionelle Buecher. Auch fuer Einsteiger.
Galileo Computing - Professionelle Buecher. Auch fuer Einsteiger.


Java ist auch eine Insel von Christian Ullenboom
Buch: Java ist auch eine Insel (Galileo Computing)
gp Kapitel 5 Mathematisches
gp 5.1 Arithmetik in Java
gp 5.1.1 Java-Sondertypen im Beispiel
gp 5.1.2 Soll eine Division durch Null zur Übersetzungszeit erkannt werden?
gp 5.2 Die Funktionen der Math-Klasse
gp 5.2.1 Attribute
gp 5.2.2 Winkelfunktionen (trigonometrische Funktionen und Arcus-Funktionen)
gp 5.2.3 Runden von Werten
gp 5.2.4 Der Logarithmus
gp 5.2.5 Exponentialfunktionen
gp 5.2.6 Division
gp 5.2.7 Absolutwerte und Maximum, Minimum
gp 5.2.8 Zufallszahlen
gp 5.3 Mathe bitte strikt
gp 5.3.1 Strikt Fließkomma mit strictfp
gp 5.3.2 Die Klassen Math und StrictMath
gp 5.4 Die Random-Klasse
gp 5.5 Große Zahlen
gp 5.5.1 Die Klasse BigInteger
gp 5.5.2 Funktionen von BigInteger
gp 5.5.3 Ganz lange Fakultäten
gp 5.6 Probleme mit Java und der Mathematik
gp 5.7 Das Java-Matrixpaket Jama


Galileo Computing

5.6 Probleme mit Java und der Mathematiktoptop

Die mathematische Grundausstattung der mitgelieferten Java-Standardbibliothek ist sehr mager und wird von Mathematikern häufig als Negativpunkt aufgeführt. Für Sprachen wie FORTRAN ist Numerik eine der wichtigsten Anwendungen, und sie wird heute noch bei der Lösung numerischer Probleme auf parallelen Maschinen angewendet. Da in FORTRAN viele Bibliotheken existieren, wäre der Kostenaufwand sehr hoch, diese unter einer anderen Programmiersprache neu zu entwickeln, sodass es kostengünstiger ist, einen FORTRAN-Experten einzustellen als das Paket neu entwickeln zu lassen. Zudem ist FORTRAN zwar durch die Regeln sehr komplex geworden (fast 1 000 Regeln, für Compiler-Bauer eine Qual), doch die Anweisungen sind sehr einfach. Daher lassen sich FORTRAN-Programme sehr einfach parallelisieren, was bei Programmiersprachen mit reicherer Ausdrucksfähigkeit nicht so einfach ist. Daher wird auch Java FORTRAN nicht die Show stehlen können. Dennoch bleibt der Wunsch der Anwendungsentwickler, auch Javas Fähigkeiten für Berechnungen nutzen zu können. Hier stellen sich zwei Probleme: zum einen beim Design der Sprache und zum anderen aufgrund fehlender Bibliotheken. Während sich das zweite Problem mit der Zeit aus dem Weg räumen ließe, ist eine Änderung der Sprachdefinition deutlich schwieriger. Dies ist nicht technisch gemeint. Auf kurz oder lang wird hier vermutlich etwas geschehen, und einige Vorschläge für Sprachveränderungen liegen bereits vor. Auf der Web-Seite von James Gosling (http://java.sun.com/people/jag/FP.html) findet der interessierte Leser mehr. Eines der Probleme dreht sich um NaN. Ein durchschnittlicher Prozessor besitzt eine Vielzahl verschiedener NaN-Darstellungen, die in Java einfach auf einen einzigen NaN-Wert abgebildet werden. Das hilft natürlich nicht weiter, wenn sich am Ende einer Berechnung herausstellt, dass irgendwo ein NaN-Wert aufgetreten ist, der keine Rückschlüsse auf den ursprünglichen Berechnungsfehler erlaubt. Abhilfe dafür ist in Arbeit.





Copyright (c) Galileo Press GmbH 2004
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de