Impressum
FAQ von Objectica

Wieviel bietet Objectica?
Bezüglich der Objektorientierung wird fast der komplette Umfang von Java und C# abgedeckt

Warum nicht direkt Java oder C#?
Mathematica stellt eine komplette Plattform zur Computeralgebra zur Verfügung und bietet symbolische Verarbeitung, viele mathematische Funktionen, Gleichungslöser, 3D Graphik, ...

Wie wird mein Programmierstil unterstützt?
• Klassen können in mehreren Teilen definiert werden
• Freie Entscheidung über Klassendesign, da die Wurzelklasse ohne Funktionalität ist
• Namen von Klassenmitgliedern und Methodenparametern dürfen übereinstimmen
• Reihenfolge von Klassenmitgliedern ist beliebig
• Definitionen werden direkt und nicht in Zeichenketten angegeben
• Freie Entscheidung über Speicherung einer Klasse oder Generierung "on the fly"
• Freie Entscheidung über Polymorphie, da sie durch Modifizierer kontrolliert wird
• Attribute von Klassenmethoden haben keinen Einfluß auf globale Funktionen

Wie sichere ich meine Arbeit?
• Sourcecode von Klassen kann beliebig organisiert werden bei freier Wahl des Namensraums (Kontexts)
• Einfache Organisation von Klassen in Paketen möglich
• Einfache Speicherung von Objekten, wobei als transient markierte Felder nicht exportiert werden
• Alle benutzten Objekte und anonymen Klassen in beliebiger Verschachtelungstiefe werden automatisch mit gespeichert (Zirkelbezüge erlaubt)

Wie schnell ist Objectica?
Zugriffszeiten auf Klassenmitglieder liegen typischerweise deutlich unter einer Millisekunde

Ist es einfach den Gebrauch des Paketes zu lernen?
Ja, insbesondere Programmierer schätzen die starke Ähnlichkeit zu Java und C# (gleiche Konzepte, gleichnamige Schlüselwörter, Punkt-Operator zum Zugriff, ...)

Wie werde ich bei der Klassenentwicklung unterstützt?
• Viele Konsistenzprüfungen während einer Klassendefinition
• Optionale Warnmeldung für Referenzen auf globale Funktionen oder Symbole
• Automatische Aktualisierung aller abgeleiteter Klassen bei Änderung einer Klasse
• Konzept abstrakter Felder erleichtert die Durchsetzung einer Schnittstelle
• Optionale Polymorphie statischer Klassenmitglieder nutzt automatisch den richtigen Kontext
• Automatisch benutzte Zugriffsmethoden von Eigenschaften verkürzen den Code ohne Verlust an Funktionalität
• Kontextsensitive Popupmenüs mit Klassenmitgliedern
• Einfache Syntax vemeidet Ablenkung

Welche Art der Dokumentation wird zur Verfügung gestellt?
• Ein Benutzerhandbuch beschreibt das Paket und seine Anwendungsgebiete
• Ein Referenzhandbuch beschreibt alle Funktionen und Schlüsselwörter und gibt Beispiele für alle Arten eine Funktion aufzurufen oder einen Bezeichner zu verwenden

Was passiert, wenn ich eine Funktion falsch aufrufe?
Eine ungültige Benutzung wird mit wenigen aussagekräftigen Fehlermeldungen und dem Abbruch des Aufrufs quittiert

Wie kann jemand meine Klassen nutzen, wenn er das Paket nicht hat?
Klassen können zusammen mit einer Laufzeitumgebung gespeichert und weitergegeben werden

Wie wird die Entwicklung komerzieller Klassen-Bibliotheken unterstützt?
• Klassen können vor neugierigen Blicken geschützt und trotzdem verwendet werden (für Mathematica-Insider: Zuweisung statischer Felder trotz Protected, ReadProtected, Locked)
• Alle Klassenmitglieder werden automatisch, ohne spezielle Deklaration im Namensraum ihrer Klasse abgelegt (für Mathematica-Insider: auch in privaten Paketteilen)

Impressum • Seite geprüft am 4. Jan. 2007