|Hello v1.0.3 distributed programming language available (alpha) firstname.lastname@example.org (Boris Burshteyn) (2014-09-09)|
|Re: Hello v1.0.3 distributed programming language available (alpha) email@example.com (glen herrmannsfeldt) (2014-09-10)|
|Re: OOP vs imperative, was Hello v1.0.3 distributed programming langua firstname.lastname@example.org (Kaz Kylheku) (2014-09-10)|
|Re: OOP vs imperative, was Hello v1.0.3 distributed programming langua email@example.com (Martin Ward) (2014-09-10)|
|Re: OOP vs imperative, was Hello v1.0.3 distributed programming langua firstname.lastname@example.org (2014-09-10)|
|Re: OOP vs imperative, was Hello v1.0.3 distributed programming langua email@example.com (Martin Ward) (2014-09-11)|
|Re: OOP vs imperative, was Hello v1.0.3 distributed programming langua firstname.lastname@example.org (2014-09-15)|
|From:||Boris Burshteyn <email@example.com>|
|Date:||Tue, 9 Sep 2014 12:38:17 -0700 (PDT)|
|Posted-Date:||09 Sep 2014 17:31:21 EDT|
The distributed programming language Hello v1.0.3 (alpha) is ready for a free
download at www.amsdec.com <http://www.amsdec.com> . This version works on
64-bit Centos, Fedora and Ubuntu versions of the Linux OS on Intel x86_64
Hello is a general-purpose, object-oriented, imperative, protocol-agnostic
language for distributed applications. It combines the following unique
properties that set it apart from other distributed systems:
* The ability to create objects, access their data, and invoke their methods
multiple threads anywhere on the network, using simple Java-like syntax and
* The language-embedded distributed architecture directly represents the
graph-structured underlying networking resources. The distributed elements
augment the single-host imperative language constructs, which represent the
linearly structured components of a von Neumann machine.
* Distributed operations include:
o queued asynchronous and synchronous synchronization requests,
o group traversals,
o intelligent, deep copy algorithms,
o asynchronous event processing,
o handling of timeouts and exceptions.
The Hello distributed architecture had emerged from the hands-on practical
experience of programming diverse distributed applications such as databases,
cluster monitors, protocol discovery, email and video servers. Because of
Hello design pursues the following two goals:
* The general-purpose distributed language should provide superior
for developing a variety of efficient, reliable, and secure distributed
* A mainstream programmer should be able to adopt this language in a short
amount of time.
* Hello White Paper <http://0361e7b.netsolhost.com/hellowhitepaper.pdf> --
explains the ideas that guided Hello design, illustrates Hello spirit on
programs, explains translation technique, and lists language features.
* Language Overview <http://www.amsdec.com/hello_overview.pdf> -- presents
language features via brief code examples.
* Hello Programming Guide <http://www.amsdec.com/helloguide.pdf> -- contains
comprehensive language reference and user manual, with the explanations of
code examples from hello.install.
* hello.install <http://www.amsdec.com/hello.install> -- a self-extracting
binary archive containing Hello translator, runtime engine, package standard,
and a number of working code examples (this executable works only on Centos,
Fedora, and Ubuntu Intel machines).
* Shared Object Access <http://www.amsdec.com/AccessMethod.pdf> -- explains
Hello translator maps Hello objects into C++ objects inside the shared memory
Hello Feature List
1. Hello translator parallelizes distributed operations for runtime
2. Hello packages do not run inside a virtual machine. Hello translator
them into shared binary libraries through the intermediary C++ invocation;
C++ translator can harness the power of its optimizer to optimize generated
3. Hello translator allows for embedding into Hello programs any C++ code and
linking with any C++ library.
4. Hello programs are written inside object-oriented type hierarchies
in packages. Hello translator translates Hello programs into C++ programs and
then calls a C++ compiler to compile the generated C++ code into a 64-bit
dynamic shared library.
5. Hello runtime engine dynamically loads the libraries and executes them; it
also transfers the libraries on demand across the network. Engines manage
in partitions where the programs share runtime data. All this happens while
executing concurrent threads under control of the queues.
6. A runtime engine belongs to a host b a named collection of engines
a single computer; any computer can run multiple hosts.
7. Engines from the same host access data from shared memory partitions
8. Engines from different hosts access each other data via the network.
9. Hosts connect, while engines transfer data, code, and control flow across
network transparently to the Hello programs.
10. Hello programs manipulate strongly typed primitive data, arrays, strings,
and class instances (objects).
11. Local operations are performed on data from a thread stack, the engine
and host partitions; remote operations are performed by navigating references
objects from other hosts.
12. Hello provides safe data sharing in memory partitions and automatic
of packages across the network.
13. Hello offers object-level security identifiers and privileges.
14. It handles distributed failures via monitoring state label transitions,
catching exceptions, and timeouts.
15. Method arguments and return values are transferred to any host by
or value following an intelligent, deep copy algorithm.
16. Remote and local objects assemble in groups for automated traversals.
17. Hello programs can build neighborhoods and paths of connected hosts and
them to communicate between disconnected hosts for better reliability,
efficiency and security.
Return to the
Search the comp.compilers archives again.