Many software products are proud of being "Pure Java". A "Pure Java" Software is the software that is %100 written in Java Code, it uses only Java Standard Library or another "Pure Java" Library.
Being "Pure Java" has many advantages, for example:
- You guarantee that your software will run on any OS without recompilation
- The code is more clean, No JNI or native libraries.
But, writing every thing in Java is not always good. For example, Swing is written in "Pure Java", so Swing and Swing Applications can be used on any Platform without modifications (at least in theory). But, I can't remember the name of a single real-life, serious successful Swing Application.
Why? Ok, Some pieces of software need to be fast, responsive and use memory efficiently for example, GUI Rendering, DBMS Engines and their SQL Optimizers/Evaluators, 2D/3D Rendering/Composing Algorithms...etc.
That explains why Eclipse SWT is more successful in real-life than Java's Swing.
So, why some (many) people try to write a "Pure Java" DBMS (e.g. Derby/Java DB, HBSQL, Berkeley DB Java Edition, ...)? Why not to write a JDBC drivers for Native DBMS's? It is done already, and it is used seriously in many great real-life applications.
At the end I want to say "If Java Core Services, Back-Ends, Processing Intensive Code, Memory Exhaustive Code... etc is written/rewritten in Native Code and Exposed to Java as Thin Java Layer over that code. Java Applications will perform better (I think much better)".