Saturday, April 23, 2005

How indispensable is Z++ ?

The rapid adoption of C++ is probably responsible for a number of unfinished design issues. The requirement to maintain compatibility with C has also contributed to carrying over the weaknesses of an older language. However, future corrections to C++ should either leave the C subset as is, or correct the C syntactic clumsiness in parallel. In other words, C or an evolved C is needed as a universal high-level assembly language.

The purpose of C++ has been confused, and probably lost anymore. While C is for low-level programs for direct interaction with hardware devices, C++ is for the wider range of mid-level system software. Generally, system programs are medium size and considerably more complex than low-level modules. The object-oriented features of C++ are indispensable for managing the complexity of system software.

Applications are generally large, though. Furthermore, applications need to interact with other (remote) applications as well as technologies such as databases. Last but not the least is the fact that applications must provide a convenient graphical user interface.

The communication among remote components should not be different from that of modules within one program. That is, all irrelevant details relative to the abstractions of the problem space must be transparent to the implementation of the application.

Currently, there is no language for crafting realistic platform-free distributed applications. Even if an engineer confines himself/herself to the platforms of one technology lead, he will have to develop in a language different and less expressive than C++. Contrast this to Z++, which is a superset of C++. The engineer does not need to learn a new language, and think in two different languages.

In designing the futuristic abstract programming language, solutions by technology leaders should not be confused with scientific endeavors. The problems of software engineering can only be resolved through pure research and without compatibility with isolated short-term technologies.

The goal of designing an abstract language is to enable the construction of platform-free applications that will continue to run on platforms that appear after the completion of the application. By run in this context I mean run without porting or any code adjustments except for the GUI component of the application.

Limited expressiveness forces programmers to produce obscure and unmanageably lengthy programs. Thus, the expressiveness of the language is equally significant to its platform-free abstractions. The term expressiveness should not be taken for interoperability with transient technologies for purely marketing reasons.

The abstract language should be an evolutionary superset of an expressive and popular language, rather than a new revolutionary language. Modern programming concepts are just too many to learn in the context of an entirely new language.

The language that satisfies all the requirements for developing platform independent distributed applications, indeed with negligible learning curve for a C++ engineer, is the scientifically designed language Z++. The design of Z++ coherently brings together the evolution of software development over its entire history. The facilities engineered into the language exceed documented wish lists.

For developing distributed applications that span over heterogeneous platforms there is only one solution, unless we prefer to waste time and money in dealing simultaneously with multiple languages as well as XML, CORBA etc.

The home of Z++ is ZH Micro.

Labels: , ,

3 Comments:

Blogger Dave said...

Hello Dr.Z.. I was looking for some information on software and came across your site. Not really what I was after but I found it very interesting. I was looking for software related information. Glad I found your site even though it was not exactly what I was after. Keep up the good posting - thanks

5:11 AM  
Blogger Dave said...

Hello Dr.Z.. I was looking for some information on business software and came across your site. Not really what I was after but I found it very interesting. I was looking for business software related information. Glad I found your site even though it was not exactly what I was after. Keep up the good posting - thanks

4:49 AM  
Blogger Dave said...

Hi Dr.Z.. I was looking for some info on computer software and came across your site. Although How indispensable is Z++ ? was not what I was after exactly, it certainly got my interest. I see now that I found your page when I was looking for computer software related information. Even though it was not a perfect match I'm glad I stopped by. Good post - have a good day.

1:13 AM  

Post a Comment

<< Back to Blogger Start Page >>