CRuntimeJavalike
From Java4c
Revision as of 06:24, 27 February 2011
Navigation links
TODO
Content
The CRuntimeJavalike-C-routines were created from 2004. The Reason: For embedded applications no proper basic functions are present. But in Java there is a well proper base system
- for all multithreading requirements (class java.lang.Thread, methods synchronized for Objects etc)
- for all Input/Output requirements (java.io)
- for Container, especially lock-free with atomicAccess (ConcurrentLinkedQueue etc)
- etc. etc.
The feeling for that concepts and using as interface for C-language seems a stable concept for basic-functions in C rather than the old-style basic functions like fprintf etc and rather than direct usage of the special offers of the underlying operation system. The last one prevents testing on PC or needs a special adaption and blocks re-using.
A next goal was the establishment of a Java2C-translator, which allows to write and test algorithm in Java and then translate to C-language. The CRuntimeJavalike-base-system replaces the functionality of the Java-basics for the embedded C-software.
Some more complex functionality of the CRuntimeJavalike is programmed in Java and translated to C. The pure C-Source-code should be able to use and understand well. But it should not be improved in C.
C++-usage: All functionality is provided in C. But there are wrappers for C++ to get a better calling style. The usage of C++ for embedded applications is recommended by me, if a subset is used. The whole slang of C++ may not so proper in my mind: C is more closed to machine code, it is known whats happen.
The CRuntimeJavalike-functions are not complex. They are no more complex as any hand-written functions for the same requests, which are present in many software. A user can include the whole sources and use step by step the ones or other function. There is a hierarchical systems from solitaire basic functions, functions which uses some OSAL-calls, and more complex functions. The usage prepares the flow-path to program more ObjectOriented till usage of Java in embedded.