Unicon (programming Language)
   HOME

TheInfoList



OR:

Unicon is a
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
designed by American computer scientist Clint Jeffery with collaborators including Shamim Mohamed, Jafar Al Gharaibeh, Robert Parlett and others. Unicon descended from
Icon An icon () is a religious work of art, most commonly a painting, in the cultures of the Eastern Orthodox, Oriental Orthodox, and Catholic churches. They are not simply artworks; "an icon is a sacred image used in religious devotion". The most ...
and a preprocessor for Icon called
IDOL Idol or Idols may refer to: Religion and philosophy * Cult image, a neutral term for a man-made object that is worshipped or venerated for the deity, spirit or demon that it embodies or represents * Murti, a point of focus for devotion or medit ...
. Compared with Icon, Unicon offers better access to the
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs. Time-sharing operating systems schedule tasks for efficient use of the system and may also in ...
as well as support for
object-oriented programming Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of pr ...
. Unicon began life as a merger of three popular Icon extensions: an OO preprocessor named Idol, a
POSIX The Portable Operating System Interface (POSIX) is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems. POSIX defines both the system- and user-level application programming interf ...
filesystem and networking interface, and an
ODBC In computing, Open Database Connectivity (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS). The designers of ODBC aimed to make it independent of database systems and operating systems. An ...
facility. The name is shorthand for "Unified Extended Dialect of Icon."


Features

Compared with Icon, many of the new features of Unicon are extensions to the I/O and system interface, to complement Icon's core control and data structures. Rather than providing lower-level APIs as-is from C, Unicon implements higher level and easier to use facilities, enabling rapid development of graphic- and network-intensive applications in addition to Icon's core strengths in text and file processing.


Feature list

* Classes and packages * Exceptions as a contributed class library - see mailing list * Loadable child programs * Monitoring of child programs * Dynamic loading of C modules (some platforms) *
Multiple inheritance Multiple inheritance is a feature of some object-oriented computer programming languages in which an object or class can inherit features from more than one parent object or parent class. It is distinct from single inheritance, where an object or ...
, with novel semantics * ODBC database access * dbm files can be used as associative arrays * Posix system interface * 3D graphics * True concurrency (on platforms supporting Posix threads) When run as a graphical IDE, the Unicon program ui.exe continues to offer links to Icon help. The official Unicon programming book in PDF format is a popular way to learn Unicon. The book includes an introduction to object-oriented development as well as
UML The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system. The creation of UML was originally m ...
. It includes useful chapters on topics such as the use of Unicon for CGI. Recent additions to Unicon include true concurrency.


Unicode

Unicon is not yet
Unicode Unicode, formally The Unicode Standard,The formal version reference is is an information technology Technical standard, standard for the consistent character encoding, encoding, representation, and handling of Character (computing), text expre ...
-compliant. There are opportunities posted at a help-wanted page.


Example code

procedure main() w := open("test UNICON window", "g") write(w, "Hello, World!") read(w) close(w) end


See also

* Rebol, a similar web-oriented expression-based language without the use of keywords *
Curl cURL (pronounced like "curl", UK: , US: ) is a computer software project providing a library (libcurl) and command-line tool (curl) for transferring data using various network protocols. The name stands for "Client URL". History cURL was fi ...
, multi-paradigm web content functional language which is also expression-based but only for client-side *
Coroutine Coroutines are computer program components that generalize subroutines for non-preemptive multitasking, by allowing execution to be suspended and resumed. Coroutines are well-suited for implementing familiar program components such as cooperative ...
* Generators *
Continuation In computer science, a continuation is an abstract representation of the control state of a computer program. A continuation implements ( reifies) the program control state, i.e. the continuation is a data structure that represents the computati ...


References


External links

* {{SourceForge, unicon
Unicon Programming book

Posix Interface for Unicon

ADAPTING SNOBOL-STYLE PATTERNS TO UNICON

Java version of Icon



Literate programs
Icon programming language family Pattern matching programming languages Text-oriented programming languages SNOBOL programming language family