| Q: |
What does Objectica provide?
|
| |
With respect to object orientation, almost the full functionality of Java and C# is covered.
|
| |
|
| Q: |
Why not use Java or C# directly?
|
| |
Mathematica provides a complete platform for computer algebra and offers symbolic processing, many
mathematical functions, equation solvers, 3D graphics, and more.
|
| |
|
| Q: |
How is my way of programming supported?
|
| |
- Classes can be defined in several parts
- Free decision-making about class design, because the root class has no functionality
- Names of class members and method parameters may be identical
- Order of class members is irrelevant
- Definitions are made directly and not by means of strings
- Free decision-making about storage of a class or generation "on the fly"
- Free decision-making about polymorphism, because it is controlled by means of a modifier
- Attributes of class methods do not affect global functions
|
| | |
| Q: |
How do I save my work?
|
| |
- Source code of classes can be organized arbitrarily while namespaces (contexts) can be freely chosen
- Simple organization of classes in packages is possible
- Saving objects is simple, taking into account that fields marked transient are not exported
- All used objects and anonymous classes at any level are automatically saved with an object (circular references allowed)
|
| | |
| Q: |
How fast is Objectica?
|
| |
Any access to a class member typically takes far less than a millisecond.
|
| | |
| Q: |
Is it easy to learn how to use Objectica?
|
| |
Yes. Programmers especially appreciate the close similarity to Java and C# (identical concepts, equally named keywords, and
a dot operator for access).
|
| | |
| Q: |
How am I supported in my development of classes?
|
| |
- Many consistency checks during class definition
- Optional warning messages for reference to global functions or symbols
- Automatic update of all derived classes during the change of a class definition
- Concept of abstract fields facilitates forcing an interface
- Optional polymorphism of static class members automatically uses the right context
- Automatically used access methods for properties shortens the source code without loss of functionality
- Context sensitive popup menus with class members
- Easy syntax prevents distraction
|
| | |
| Q: |
What kind of documentation is provided?
|
| |
- A user's guide describes the package and its applications
- A reference guide describes all functions as well as the keywords, and gives examples for all methods to call
a function or use a symbol
|
| | |
| Q: |
What happens if I call a function incorrectly?
|
| |
In case of an invalid usage, few descriptive error messages are printed and the call is aborted.
|
| | |
| Q: |
How can someone use my classes without the package?
|
| |
Classes can be saved and deployed together with a runtime environment.
|
| | |
| Q: |
How is the development of commercial class libraries supported?
|
| |
- Classes can be protected against inquisitorial looks and still be utilized (for Mathematica users:
assignments to static fields despite Protected, ReadProtected, and Locked)
- All class members are automatically stored in the namespace of the class without special declaration
(for Mathematica users: also in private sections of a package)
|
| | |