Dear Users;
Â* this is the ANNOUNCEMENT of:
Â*Â*Â*Â*Â*Â*Â*Â*libmsgque 3.5
Â* and the first public Â*ANNOUNCEMENT of the:
Â*Â*Â*Â*Â*Â*Â*Â*(P)rogramming (L)anguage (M)icro(K)ernel 1.0
Â*
Â* libmsgque 3.5
=============
LibMsgque is an OS independent, programming language independent,
and hardware independent solution to link applications together to act like
a single application. In other words, LibMsgque is an application-server
toolkit.
Â* changes from libmsgque 3.5
=======================
- Add new programming language "C++" :
Â* The new language is added if the "--enable-cxx" configure switch is used.
- C++ add a new design pattern to libmsgque based on the language
requirements:
Â* 1. Â*In "C++" a constructor can not call a "virtual" method. This is the
main
Â* Â* Â* difference between "C++" and "C#" or "JAVA". This require that
Â* Â* Â* "Object" creation/deletion and "Link" creation/deletion have to be
Â* Â* Â* separated into two different tasks. The former (C# and JAVA)
Â* Â* Â* implementation was to use a "feature-rich" constructor to setup a
Â* Â* Â*"Link" during object creation. This was changed.
Â* Â* Â* A new methods "LinkCreate(..)" and "LinkCreateChild(..)" were
Â* Â* Â* introduced for "Link" setup as counterpart for the "LinkDelete()"
Â* Â* Â* method. A new method "ConfigGetIsConnected()" return the "Link-Status"
Â* Â* Â* of the Object-Instance. With the new "Pattern" it is now possible to
Â* Â* Â* "reuse" a object-instance.
Â* 2. Â*In "C++" a RTTI based Object-Creation is not possible. This task was
Â* Â* Â* shifted into a "Factory" pattern. A "virtual" method called:
Â* Â* Â* Â* Â* Â* Â* Â* Â* "virtual MqC* Factory() const"
Â* Â* Â* is used to return a new object instance of the top-most class.
Â* Â* Â* The "Factory" pattern was used as "default" design pattern because of:
Â* Â* Â* Â* - far more easy as the RTTI design pattern
Â* Â* Â* Â* - available for every programming language
- change the default visibility for GCC functions to hidden "-
Â* Â* fvisibility=hidden".
Â* Â* -> This support the "Windows" binary design on Linux to create faster
Â* Â* Â* Â* code.
- redesign of the main "struct MqS" and delete many of the data pointers
Â* Â* -> create smarter and faster code
Â* Â* -> only one pointer is used to used the entire API
- the "Filter" mode was redesigned and is using the "Master/Slave" pattern
Â* Â* -> code cleanup and standardization
Â* Â* -> the IFilterFTR / IFilterEOF does now support a "pipelining" as
Â* Â* Â* Â*"default"
- the "Error" handling was redesigned and moved into an independent "object"
Â* or "class". This was necessary to "transport" an "error" through the error
Â* stack of the "embedded" programming language.
Â* (P)rogramming (L)anguage (M)icro(K)ernel 1.0
====================================
Â* JAVA says:
Â* Â* "YOU can do whatever YOU want on every os YOU require but YOU have
Â* Â* Â*to use JAVA"
Â* C# says:
Â* Â* "YOU can do whatever YOU want on every os YOU require but YOU have
Â* Â* Â*to have to use a CLR compatible language"
Â* I say:
Â* Â* "YOU can do whatever YOU want on every os YOU require using the
Â* Â* Â*programming language YOU like most but YOU have to use the PLMK
Â* Â* Â*design pattern"
The PLMK is an afford to shift the design responsible away from the very
heteros group of language designers to a free open and mature framework
called PLMK. This framework is available for C, C++, C#, JAVA, PYTHON
and TCL and was designed as C/C++ shared library. The library is able to
plugin into the hosting programming language to take-over the responsibly
for the application design. PLMK is not a programming language, the
software
programming is done using the hosting programming language *only*.
Â* Â* Â* Â*-> libmsgque is the first component of the PLMK framework <-
Â* GET IT
========
Â* read more at:Â*
http://libmsgque.sourceforge.net/
Â* get the software from:Â*Â*Â*Â*Â*Â*Â*Â*
http://sourceforge.net/projects/libmsgque/
Â* subversion archive:Â*Â*Â*
https://libmsgque.svn.sourceforge.ne...libmsgque-3.5/
mfg
Â* aotto1968