What: | NHI1 - http://nhi1.de http://thedev.nhi1.de/NHI1/main/ |
Intro: | the 6 crises |
Description: | The NHI1 project is an infrastructure for create the first Non-Human-Intelligence |
Updated: | 08 Mai 2023 (version: 0.5, full rewrite of the software) |
Contact: | mailto:[email protected] Andreas Otto |
NHI1 was splitted into multiple sub-projects :
theKernel: | http://thedev.nhi1.de/theKernel/main/index.htm |
theLink: | http://thedev.nhi1.de/theLink/main/index.htm |
theCompiler: | http://thedev.nhi1.de/theCompiler/main/index.htm |
theGuard: | http://thedev.nhi1.de/theGuard/main/index.htm |
theBrain: | http://thedev.nhi1.de/theBrain/main/index.htm |
theConfig: | http://thedev.nhi1.de/theConfig/main/index.htm |
Update from 25 Sep 2024
Now it's that time again and *NHI10* has managed to deliver another update. In addition to many improvements in the API, the JAVA integration has been re-enabled and the CALLBACK integration has been revised. Many small improvements expand the capabilities, the *NULL* pointer has been given a new API and the *parallelism* of the tools has been significantly increased throughout the framework, which significantly reduces the BUILD and TEST time.
TCL plays a central role in the framework because the ALC compiler was written in TCL. Many tools have a TCL background, although BASH shell etc. is of course also used.
Update from 26 Aug 2024
C++ has been revised and MOT-Wrapper has been rewritten so that mostly inline code is generated. The speed is now at C level, with C++ providing a significantly better programming interface than classic C. The technology project C++ kernel has now overcome another hurdle and C++ now has the status of a reference frontend language.
During the migration from C to C++, the following sub-projects were completed:
For the integration of Managed-Object-Technology (MOT) into C++ was implemented:
Still an open point:
Update from 18 Aug 2024
New performance test documentation:
Update from 15 July 2024
time passes and now the "NULL" in the context of the managed object has been precisely defined
Update from 04 July 2024
Update from 19 June 2024
Update from 21 Nov 2023
Update from 18 Nov 2023
Update from 29 may 2023
Attention: the style-sheet (css) has also been adjusted so that SHIFT+F5 is required to update the browser cache.
Update from 25 may 2023
Update from 21 may 2023
Update from 20 may 2023
Update from 15 may 2023
Update from: 8 may 2023
Well - after 20 years of development the NHI1 become real
This release is a massive rewrite of the kernel and also of all tools.
The main goal of the Meta-Programming is to increase the productivity of a senior programmer to 10.000 - 100.000 new or updated lines of code, documentation or configuration per day
Update from: 4 may 2023
The current release-cycle ends and a couple of features are added:
Well, "C" is the most famous programming language in the world and the basis for almost everything in the computing world. The strategic goal in metaprogramming is to use the existing C programming language and add new language elements that are used for integration.
The new "C" has:
static typing | All types are checked at compile time by default (like C) |
object support | A class type is available and, like C, is also a static type, but can be checked at runtime if necessary (upgrade cast). |
basic object class | Unlike C++ there is a root class MkObjectC and thus there is no need for a "template mechanism" like in C++ |
clear names | All functions and names (including class, method and attribute) are unique and are therefore easily locatable via the TAG file. |
code generation | To add a new function in C additional code is required (e.g. class). However, the required code is NOT written by the programmer or the compiler (C++), but inserted DIRECTLY into the source code (.c or .h) by the meta code generator, where the code ends up in release management where it is then safe and is verifiable. |
safe pointer | Like C, memory must be allocated and deallocated, but unlike C and C++, a pointer can be checked for validity or invalidity |
tried and tested toolset | The new "C" is still the old "C" so you can still use your favorite toolset like gcc, make, ctage, vim, etc |
built-in integration | The new "C" was designed to automatically integrate with your favorite programming language, which means your "C" code can be reused in a variety of projects |
libmsgque and tclmsgque are parts of the NHI1 project