Technical Specification
From JQuantLib
This page is a work in progress.
We recommend you add this page to your watchlist so that you would be notified when it changes.
These are key factors of success:
- Being roughly a port from [ http://www.quantlib.org/ QuantLib], which is an existing library written in C++, JQuantLib basically aims to provide the closest API as possible.
- Performance is a key aspect which we must pursue all the time, leading us to possibly perform several code reviews and eventualy rewrite critical parts of the code.
- Calculations must be correct or at least as correct as calculations delivered by QuantLib.
- JQuantLib must be as better documented as possible. The source code must be easy to be read and, ideally, much, much easier to be understood as QuantLib's code.
Performance is a very important aspect which must be handled with care in Java. Many people say that Java is slow... well... this is as true as stating that C++ is error prone. The problem is not the language itself, but how programmers make use of features offered by a language and how programmers tackle weaknesses imposed by a language, whatever language it is. The same way experienced C++ programers must employ certain techniques in order to erradicate memory leaks in C++, experienced Java developers must employ certain techniques in order to erradicate performance problem in Java.
Possibly this page should not be called Technical Specification because it's far from being one. Anyway, in this page we currently present a list of links which try to expose, discuss and establish solutions for problems we found whilst translating a complex library written in C++ to Java, trying to make it as fast, correct, feature rich and user friendly as possible.
- Strong type checking
- Performance of numerical calculations
- Handling of float point rounding errors
- Implementation of multiple inheritance in Java
- A better implementation of Observable pattern
- Implementation of templates in Java
- Javadocs with UML diagrams and formulas
- Providing unmutability to receivers
- Logging with SLF4J
- Using TypeTokens to retrieve generic parameters
Richard Gomes 01:31, 1 December 2009 (UTC)

