Galileo Computing < openbook >
Galileo Computing - Programming the Net
Galileo Computing - Programming the Net


Java ist auch eine Insel (2. Aufl.) von Christian Ullenboom
Programmieren für die Java 2-Plattform in der Version 1.4
Java ist auch eine Insel (2. Auflage)
gp Kapitel 5 Mathematisches
  gp 5.1 Arithmetik in Java
  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 Exponentialfunktionen
    gp 5.2.5 Division
    gp 5.2.6 Absolutwerte und Maximum, Minimum
    gp 5.2.7 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 Ganz lange Fakultäten
  gp 5.6 Probleme mit Java und der Mathematik
  gp 5.7 Das Java-Matrix-Paket Jama


Galileo Computing

5.6 Probleme mit Java und der Mathematik  toptop

Die mathematische Grundausstattung der mitgelieferten Java-Standard-Bibliothek 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 1000 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 Webseite 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 © Galileo Press GmbH 2003
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