Main Page

From Java4c

(Difference between revisions)
(structure of links)
Line 1: Line 1:
-
==Java4C==
+
This site holds information about programming for embedded software in an ObjectOriented style. Ideas and concepts of the Java programming language are integrated in this thinks. Some articles describe software-engineering-topics.
-
Goals:
+
-
* Using Java-programming language for embedded software in cooperation with C (and C++-) software.
+
-
* Using a ObjectOriented style of programming also in C!
+
-
* Using Java-like basic routines inclusive operation-system-calls.
+
-
* Using Java for program and test, and translate the sources to C.  
+
-
===Why Java?===
+
==Base links==
-
Java is not only a language for internet applications. Java is a programming system for common usage. The first approach to develop Java in 1994 was: Creation of a portable language for embedded applications. Java is used in some embedded applications like mobil phones, routers. It is present with a ''JTRES'': ''Java Technology for Realtime Embedded Systems'' provided by companies like Sun/Oracle, Aicas, Aonix/Atego and others.
+
* [[Java4C]] - why Java-thinking and Java-using for the C-programming
 +
* [[CRuntimeJavalike]] - A base library for embedded C-software
 +
* [[Java2C]] - A translator from Java-sources to C-sources
 +
* [[Component]] - Building the application with components and moduls
 +
* [[Bazaar]] - A Source Version System
-
The Java-syntax for expressions is similar like C. Java is strong declarative, like C. The differences to C are:
+
==Java4C==
-
* ObjectOrientation
+
* [[Java4C]] - why Java-thinking and Java-using for the C-programming
-
* It is a Language of a new generation. The C-style of programming was born in 1970 with orientation to structured programming. Java was born in 1994.
+
-
* Java supports a better test of algorithms. If there are any errors for example in the addressing (indexing) of arrays, it is detected safely in runtime. The algorithms need not be tested step by step to prevent such errors. A paradigma ''compile 'n run'' can be used. The time for testing can be reduced drasticly without reducing the quality of software respectively more complex algorithms can be tested in the same time like simple algorithm in C or C++.
+
-
Java uses dynamic data. The approach of dynamic data helps to handle with variegated data in many threads in large applications. For example the String-processing needs dynamic memory. But it is also possible to handle with static data (allocated on startup). For example, String processing using a StringBuilder-instance and the CharSequence-interface can execute without allocation of memory. Static data are proper to use for embedded systems often.
+
==CRuntimeJavalike==
 +
* [[CRuntimeJavalike]] - A base library for embedded C-software
 +
===OSAL===
 +
* [[OSAL]] - The interface to the operation system with its application layer
 +
* [[os_types_def]] - A header-file define all basic types and macros
-
===Why not C++?===
+
==Java2C==
-
C++ is ObjectOriented and a modern programming language too. It is downward-compatible with C.  
+
* [[http://www.vishia.org/Java2C www.vishia.org/Java2C]]
 +
* [[http://sourceforge.net/projects/java2c Java2C on sourceforge]]
-
But the usual programming style in C++ divergates from the style in C. There are handled with dynamic memory in some basic classes, complex constructs using the template concept are usual. An ordinary C++-program can't be used for embedded programming often.
+
==Component==
 +
* [[Component]] - Building the application with components and moduls
-
The disadvantages of the C-language: Unsafe pointer arithmetic, arbitrary casts, unchecked array addressing are all present in C++ too. C++ doesn't help for testing such errors like C.
+
==Bazaar==
 +
* [[Bazaar]] - A Source Version System
 +
* [[Bazaar-Notes]]: discussion (german) about Source-Management and directory structures
==The key author of this site==
==The key author of this site==
-
has experience in embedded programming since 1977, beginning with Assembler programming with the Z80-processor. I'm working for a company in germany in themes of embedded control. This site presents experiences independently of concretely job definitions.
+
has experience in embedded programming since 1977, beginning with Assembler programming with the Z80-processor. I'm working for a company in germany in themes of embedded control. This site presents experiences independently of concretely job definitions. Hartmut Schorrig, [[http://www.vishia.org www.vishia.org]]
==The mission of this site - Your contribution==
==The mission of this site - Your contribution==
Line 31: Line 36:
Exchange of experiences. You can take place on discussion. You can complement the text of the pages with your experience and knowledge. You can improve the appearance of the text.
Exchange of experiences. You can take place on discussion. You can complement the text of the pages with your experience and knowledge. You can improve the appearance of the text.
-
It is necessary to register with a user name to this site.  
+
It is necessary to register with a user name to this site.
-
 
+
-
==Guide through the site==
+
-
 
+
-
TODO
+
-
*Style of programming in C: ObjectOrientation, OSAL layer, re-using
+
-
*CRuntimeJavalike
+
-
*Java2C-translator
+
-
 
+
-
First page: [[os_types_def]].
+
-
 
+
-
==Links==
+
-
* [[Bazaar-Notes]]: discussion (german) about Source-Management and directory structures
+

Revision as of 04:23, 25 February 2011

This site holds information about programming for embedded software in an ObjectOriented style. Ideas and concepts of the Java programming language are integrated in this thinks. Some articles describe software-engineering-topics.

Contents

Base links

  • Java4C - why Java-thinking and Java-using for the C-programming
  • CRuntimeJavalike - A base library for embedded C-software
  • Java2C - A translator from Java-sources to C-sources
  • Component - Building the application with components and moduls
  • Bazaar - A Source Version System

Java4C

  • Java4C - why Java-thinking and Java-using for the C-programming

CRuntimeJavalike

OSAL

  • OSAL - The interface to the operation system with its application layer
  • os_types_def - A header-file define all basic types and macros

Java2C

Component

  • Component - Building the application with components and moduls

Bazaar

  • Bazaar - A Source Version System
  • Bazaar-Notes: discussion (german) about Source-Management and directory structures

The key author of this site

has experience in embedded programming since 1977, beginning with Assembler programming with the Z80-processor. I'm working for a company in germany in themes of embedded control. This site presents experiences independently of concretely job definitions. Hartmut Schorrig, [www.vishia.org]

The mission of this site - Your contribution

Exchange of experiences. You can take place on discussion. You can complement the text of the pages with your experience and knowledge. You can improve the appearance of the text.

It is necessary to register with a user name to this site.

Personal tools