Shang -- A High Level Programming Language |
|
Shang
is a feature-rich high-level programming language and computing environment. It unifies the essences of many diverse and perhaps conflicting programming language concepts and paradigms, such as procedural, functional programming, and object-oriented programming,
etc, and offers many features including first class parameterizd
functions, partial substitution, domains, conditional classes, and
automatons. Shang combines the strengths of both dynamic typing and static typing.
The goal of design is to make the language very easy to read and learn, and the syntax as intuitive, concise, and clean as possible. Unnecessary keywords, counter-intuitive and complicated syntax rules, and any other kind of inelegant kludges are never introduced into the design. Shang supports object oriented programming with a number of annovative features. Access to class member attributes can be controlled and member attributes can have domains which protect the integrity of member data and make class interfaces more expressive and readable, and often enough to completely specify the class. Shang is meant to be a gereral-purpose programming language. Yet it is equipped with built-in features for efficiently handling scientific computations, many of which are not found in other popular numerical softwares, such as sets, matrices of infinite size integers and arbitrary precision floating point numbers, internal support for matrices of special patterns such as banded matrices (besides general sparse matrices), handle parameterized functions, etc. For executing function calls and large loops the Shang interpreter is very fast, compared to other interpreted programming languages (except when the so called Just-In-Time compiler is used; in which case the program is running in compiled mode). This is achieved before any substantial effort is made on optimization. Our next goal is to bring the interpreter close to the speed of compiled languages. Shang interpreter runs on all versions of Windows operating system, Linux, and FreeBSD, and needs no installation/setup. The Shang language interpreter and its software package are freely available. It will develop into an open source project in the future.
Latest News
|
Copyright (c) 2009 Li Xiaorang Comments and questions regarding this web site can be sent to (lixiaorang@trentu.ca) Last update Tue Dec 22 11:43:23 EDT 2009 |