Unicon (programming language)
Paradigm | object-oriented, procedural |
---|---|
Designed by | Clint Jeffery |
OS | Cross-platform: Windows, Unix |
License | GNU General Public License |
Website | unicon |
Influenced by | |
Icon |
Unicon is a programming language designed by American computer scientist Clint Jeffery with collaborators including Shamim Mohamed, Jafar Al Gharaibeh, Robert Parlett and others. Unicon descended from Icon and a preprocessor for Icon called IDOL. Compared with Icon, Unicon offers better access to the operating system as well as support for object-oriented programming. Unicon began life as a merger of three popular Icon extensions: an OO preprocessor named Idol, a POSIX filesystem and networking interface, and an ODBC facility. The name is shorthand for "Unified Extended Dialect of Icon."
Features
[edit]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
[edit]- 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, with novel[1] semantics
- ODBC database access[2]
- dbm files can be used as associative arrays
- Posix system interface
- 3D graphics[3]
- True concurrency (on platforms supporting Posix threads)[4]
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[5] is a popular way to learn Unicon. The book includes an introduction to object-oriented development as well as UML. It includes useful chapters on topics such as the use of Unicon for CGI. Recent additions to Unicon include true concurrency.
Unicode
[edit]Unicon is not yet Unicode-compliant. There are opportunities posted at a help-wanted page.[6]
Example code
[edit]procedure main()
w := open("test UNICON window", "g")
write(w, "Hello, World!")
read(w)
close(w)
end
See also
[edit]- Rebol, a similar web-oriented expression-based language without the use of keywords
- Curl, multi-paradigm web content functional language which is also expression-based but only for client-side
- Coroutine
- Generators
- Continuation
References
[edit]- ^ Clinton Jeffery (August 1998). "Closure-Based Inheritance and Inheritance Cycles in Idol" – via ResearchGate.
- ^ "Unicon ODBC Interface".
- ^ "Unicon 3D Graphics - User's Guide and Reference Manual" (PDF). Retrieved 2024-01-27.
- ^ "Unicon Threads - User's Guide and Reference Manual" (PDF). Retrieved 2024-01-27.
- ^ "Programming with Unicon" (PDF). Retrieved 2024-01-27.
- ^ "Help Wanted!".