archives

Open5G web app language/system

Has anybody taken a look at Open5G? From only briefly looking at one code sample, it seems to at least partially be a JSP type thing where HTML is mixed up with code to build the final page/app. Apparently they made Zude with it.

The open-source Fifth Generation Language, Open5G, combined with the FifthGen Engine, is designed as a tightly-integrated self-contained development and execution environment utilizing best-of-breed programming tools and methodologies, optimized web/application server, highly-scalable relational/object database, and robust extension interface.

Open5G is a highly-optimized compiled language combining excellent performance and scalability with integrated support for pre-compiled objects and code-blocks, automated creation and utilization of p-code binaries, libraries, and intermediate files, as well as advanced resource caching and just-in-time (“JIT”) compiler.

Open5G provides strong dynamic data typing, support for procedural, functional, and object-oriented programming methodologies, and includes optimized memory and resource management with automated garbage collection.

Impact of OO language style on code

A few questions come to mind while reading about Salzman & Aldrich's PMD which combines multiple-dispatch and prototype OO, while eschewing Java/C# style class-based OO. Any experience/thoughts with respect to both language design and language use?

  1. Seems like the advantage they claim for the prototype approach is that behaviour really is part of the object, not the class. This allows one to remove complex conditional logic from inside methods, replacing it with specialized methods based on state.
    1. Question: taken to the extreme, would this mean any time you have a conditional which tests member data, you instead make a new object? How crazy does that get for understanding the code? Or for the VM dealing with the combinatorial explosion of objects?
  2. (less directly related to the paper...) Both the network approach of OO and the relational approach can run into broken references.
    1. Question: Is it generally the case that the OO approach leads to deferred runtime exceptions or leaks, whereas the usual approach with constraint/integrity checking in a relational database gives you the errors more "up front"?
    2. Question: Could one have some sort of integrity checking for the network model that would help show errors earlier?