Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.compilers > #1371
| From | Boris Burshteyn <bburshteyn@amsdec.com> |
|---|---|
| Newsgroups | comp.compilers |
| Subject | Hello v1.0.3 distributed programming language available (alpha) |
| Date | 2014-09-09 12:38 -0700 |
| Organization | Compilers Central |
| Message-ID | <14-09-005@comp.compilers> (permalink) |
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
Back to comp.compilers | Previous | Next — Next in thread | Find similar | Unroll thread
Hello v1.0.3 distributed programming language available (alpha) Boris Burshteyn <bburshteyn@amsdec.com> - 2014-09-09 12:38 -0700
Re: Hello v1.0.3 distributed programming language available (alpha) glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2014-09-10 01:48 +0000
Re: OOP vs imperative, was Hello v1.0.3 distributed programming language available (alpha) Kaz Kylheku <kaz@kylheku.com> - 2014-09-10 04:58 +0000
Re: OOP vs imperative, was Hello v1.0.3 distributed programming language available (alpha) Martin Ward <martin@gkc.org.uk> - 2014-09-10 09:44 +0100
Re: OOP vs imperative, was Hello v1.0.3 distributed programming language available (alpha) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-09-10 16:14 +0000
Re: OOP vs imperative, was Hello v1.0.3 distributed programming language available (alpha) Martin Ward <martin@gkc.org.uk> - 2014-09-11 13:16 +0100
Re: OOP vs imperative, was Hello v1.0.3 distributed programming language available (alpha) anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2014-09-15 08:07 +0000
csiph-web