Unicon programming language
Encyclopedia
Unicon is a programming language
Programming language
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 control the behavior of a machine and/or to express algorithms precisely....

 designed by American computer scientist Clint Jeffery. Unicon descended from Icon
Icon programming language
Icon is a very high-level programming language featuring goal directed execution and many facilities for managing strings and textual patterns. It is related to SNOBOL and SL5, string processing languages...

 and its preprocessor, IDOL
Idol
An idol is an image or other material object representing a deity to which religious worship is addressed or any person or thing regarded with blind admiration, adoration, or devotion.More specific terms include:Worship...

, that offers better access to the operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

 as well as support for object-oriented programming
Object-oriented programming
Object-oriented programming is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction,...

. Unicon began life as a merger of three popular Icon extensions: an OO preprocessor named Idol, a POSIX
POSIX
POSIX , an acronym for "Portable Operating System Interface", is a family of standards specified by the IEEE for maintaining compatibility between operating systems...

 filesystem and networking interface, and an ODBC
Open Database Connectivity
In computing, ODBC is a standard C interface for accessing database management systems . The designers of ODBC aimed to make it independent of database systems and operating systems...

 facility. The name is shorthand for "Unified Extended Dialect of Icon."

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.
  • classes and packages
  • exceptions
    Exception handling
    Exception handling is a programming language construct or computer hardware mechanism designed to handle the occurrence of exceptions, special conditions that change the normal flow of program execution....

     as a contributed class library - see mailing list
  • loadable child programs
  • monitoring of child programs
  • dynamic loading of C modules (some platforms)
  • multiple inheritance, with novel semantics
  • ODBC database access
  • dbm files can be used as associative arrays
  • posix system interface
  • 3D graphics


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
Unified Modeling Language
Unified Modeling Language is a standardized general-purpose modeling language in the field of object-oriented software engineering. The standard is managed, and was created, by the Object Management Group...

. It includes useful chapters on topics such as the use of Unicon for CGI. Recent additions to Unicon include XMLHttpRequest
XMLHttpRequest
XMLHttpRequest is an API available in web browser scripting languages such as JavaScript. It is used to send HTTP or HTTPS requests directly to a web server and load the server response data directly back into the script. The data might be received from the server as XML text or as plain text...

 and SNOBOL
SNOBOL
SNOBOL is a generic name for the computer programming languages developed between 1962 and 1967 at AT&T Bell Laboratories by David J. Farber, Ralph E. Griswold and Ivan P. Polonsky, culminating in SNOBOL4...

-style pattern matching.

Unicon is not yet Unicode
Unicode
Unicode is a computing industry standard for the consistent encoding, representation and handling of text expressed in most of the world's writing systems...

-compliant and there are opportunities posted at a help-wanted page.

Example


procedure main
w := open("test UNICON window", "g")
write( w, "testing")
write( w, "Any key will close this window")
read(w)
close(w)
end

See also

  • Icon
    Icon programming language
    Icon is a very high-level programming language featuring goal directed execution and many facilities for managing strings and textual patterns. It is related to SNOBOL and SL5, string processing languages...

     - from which Unicon evolved
  • Converge
    Converge PL
    Converge is a dynamic object-oriented programming language with compile-time meta-programming facilities.Developed by the British computer scientist Laurence Tratt, Converge was originally intended for implementing model transformations in the context of Model-Driven Software Development approaches...

     - a language with similar objectives
  • Godiva - goal-directed Java with succeed | fail
  • Rebol
    REBOL
    REBOL is a cross-platform data exchange language and a multi-paradigm dynamic programming language originally designed by Carl Sassenrath for network communications and distributed computing. The language and its official implementation, which is a proprietary freely redistributable software are...

     - a similar web-oriented expression-based language without the use of keywords
  • Curl - another multi-paradigm web content functional language which is also expression-based but only for client-side (There is no server-side module as of March, 2008)
  • co-routines
    Coroutine
    Coroutines are computer program components that generalize subroutines to allow multiple entry points for suspending and resuming execution at certain locations...

  • generators
    Generator (computer science)
    In computer science, a generator is a special routine that can be used to control the iteration behaviour of a loop. A generator is very similar to a function that returns an array, in that a generator has parameters, can be called, and generates a sequence of values...

  • continuations
    Continuation
    In computer science and programming, a continuation is an abstract representation of the control state of a computer program. A continuation reifies the program control state, i.e...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK