Green (programming language)

Green (programming language)

Green is a statically-typed object-oriented programming language which supports garbage collection, assertions, methods with variable number of parameters, parameterized classes, metaobjects, introspective reflection, and classes as first-class objects. The exception handling is completely object-oriented: it encapsulates exceptions and exception handling in classes, bringing all the power of object-oriented programming to the exception system. A type in Green is a collection of method signatures ― a class B is subtype of a class A if B has at least the method signatures of A, regardless B inherits from A or not. Every subclass is a subtype but not every subtype is a subclass.

Classes are objects, though classless. But they do have types and can be subtypes of normal classes. Then classes are first-class objects without the use of metaclasses. Whenever necessary, basic values such as 1, 6, ‘A’ or 3.14 are considered objects through automatic conversion to wrapper classes Integer, Char, Real, etc. This feature has been adopted recently by Java. In Green, the Any class, corresponding to Object in Java or Smalltalk, can receive any type, even 1, 6 or ‘A’.

The metaobjects of Green are surprisingly efficient and easy to use, a side-effect of being designed together with the language.

External links

* [http://www.dc.ufscar.br/~jose/green/green.htm home page of the Green language] .


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Look at other dictionaries:

  • Programming language — lists Alphabetical Categorical Chronological Generational A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that… …   Wikipedia

  • Ada (programming language) — For other uses of Ada or ADA, see Ada (disambiguation). Ada Paradigm(s) Multi paradigm Appeared in 1980 Designed by MIL STD 1815/Ada 83: Jean Ichbiah Ada 95: Tucker Taft Ada 2005: Tucker Taft Stable release …   Wikipedia

  • Java (programming language) — infobox programming language name = Java paradigm = Object oriented, structured, imperative year = 1995 designer = Sun Microsystems latest release version = Java Standard Edition 6 (1.6.0) latest release date = latest test version = latest test… …   Wikipedia

  • Oak (programming language) — Oak was a programming language created by James Gosling in 1991, initially for Sun Microsystems set top box project. The language later evolved to become Java. The name Oak was used by Gosling after an oak tree that stood outside his office.… …   Wikipedia

  • Planner (programming language) — Planner (often seen in publications as PLANNER although it is not an acronym) is a programming language designed by Carl Hewitt at MIT, and first published in 1969. First, subsets such as Micro Planner and Pico Planner were implemented, and then… …   Wikipedia

  • Erlang (programming language) — Erlang Paradigm(s) multi paradigm: concurrent, functional Appeared in 1986 Designed by Ericsson …   Wikipedia

  • Pascal (programming language) — Pascal Paradigm(s) imperative, structured Appeared in 1970 Designed by Niklaus Wirth Typing discipline static, strong, safe …   Wikipedia

  • Racket (programming language) — Racket Paradigm(s) Multi paradigm: Functional, Procedural, Modular, Object oriented, Reflective, Meta Appeared in 1994 Developer …   Wikipedia

  • Qi (programming language) — Qi is a functional programming language developed by Dr Mark Tarver and introduced in its current form in April 2005 under the GNU GPL license. Although Qi is written in Lisp, it includes most of the features common to modern functional… …   Wikipedia

  • Curl (programming language) — Curl Paradigm(s) multi paradigm: object oriented, markup Appeared in 1998 Designed by Steve Ward, MIT Developer …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”