Hello v1.0.3 distributed programming language available (alpha)

Boris Burshteyn <bburshteyn@amsdec.com>
Tue, 9 Sep 2014 12:38:17 -0700 (PDT)

          From comp.compilers

Related articles
Hello v1.0.3 distributed programming language available (alpha) bburshteyn@amsdec.com (Boris Burshteyn) (2014-09-09)
Re: Hello v1.0.3 distributed programming language available (alpha) gah@ugcs.caltech.edu (glen herrmannsfeldt) (2014-09-10)
Re: OOP vs imperative, was Hello v1.0.3 distributed programming langua kaz@kylheku.com (Kaz Kylheku) (2014-09-10)
Re: OOP vs imperative, was Hello v1.0.3 distributed programming langua martin@gkc.org.uk (Martin Ward) (2014-09-10)
Re: OOP vs imperative, was Hello v1.0.3 distributed programming langua anton@mips.complang.tuwien.ac.at (2014-09-10)
Re: OOP vs imperative, was Hello v1.0.3 distributed programming langua martin@gkc.org.uk (Martin Ward) (2014-09-11)
Re: OOP vs imperative, was Hello v1.0.3 distributed programming langua anton@mips.complang.tuwien.ac.at (2014-09-15)
| List of all articles for this month |

From: Boris Burshteyn <bburshteyn@amsdec.com>
Newsgroups: comp.compilers
Date: Tue, 9 Sep 2014 12:38:17 -0700 (PDT)
Organization: Compilers Central
Keywords: available
Posted-Date: 09 Sep 2014 17:31:21 EDT

Hello,


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
architecture.


About Hello


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
on
multiple threads anywhere on the network, using simple Java-like syntax and
semantics.
* 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.


Hello Purpose


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
that,
Hello design pursues the following two goals:


* The general-purpose distributed language should provide superior
productivity
for developing a variety of efficient, reliable, and secure distributed
software.
* A mainstream programmer should be able to adopt this language in a short
amount of time.


Download Items


* Hello White Paper <http://0361e7b.netsolhost.com/hellowhitepaper.pdf> --
explains the ideas that guided Hello design, illustrates Hello spirit on
sample
programs, explains translation technique, and lists language features.
* Language Overview <http://www.amsdec.com/hello_overview.pdf> -- presents
most
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
the
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
how
Hello translator maps Hello objects into C++ objects inside the shared memory
segments.


Hello Feature List


1. Hello translator parallelizes distributed operations for runtime
efficiency.
2. Hello packages do not run inside a virtual machine. Hello translator
converts
them into shared binary libraries through the intermediary C++ invocation;
the
C++ translator can harness the power of its optimizer to optimize generated
C++
code.
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
organized
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
binary
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
memory
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
running on
a single computer; any computer can run multiple hosts.
7. Engines from the same host access data from shared memory partitions
directly.
8. Engines from different hosts access each other data via the network.
9. Hosts connect, while engines transfer data, code, and control flow across
the
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
heap
and host partitions; remote operations are performed by navigating references
to
objects from other hosts.
12. Hello provides safe data sharing in memory partitions and automatic
transfer
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
reference
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
use
them to communicate between disconnected hosts for better reliability,
efficiency and security.


Regards,


Boris Burshteyn


bburshteyn@amsdec.com


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.