Paradigm | Multi-paradigm: Procedural, object-oriented (class-based and prototype-based), functional, tabular, message passing |
---|---|
Designed by | Giancarlo Niccolai |
Developer | Falcon Committee |
First appeared | 2003 |
Stable release |
0.9.6.8 (Chimera) / December 31, 2010
|
Typing discipline | Dynamic |
OS | Cross-platform |
License | GPLv2, FPLLv1.1 (a modified version of the Apache License) |
Filename extensions | .ftd, .fal, .fam |
Website | falconpl |
Influenced by | |
C++, Perl, Lua, Smalltalk, PHP, Lisp, Python, Ruby |
Author | Giancarlo Niccolai |
---|---|
Latest version | 1.1 |
Published | March 2008 |
DFSG compatible | Yes |
FSF approved | No |
OSI approved | No |
GPL compatible | No |
Copyleft | Yes |
Falcon is an open source, multi-paradigm programming language. Design and implementation is led by Giancarlo Niccolai, a native of Bologna, Italy and Information Technology graduate from Pistoia.
Falcon translates computer source code to virtual machine instructions for evaluation. The virtual machine is intended to be both a stand-alone interpreter as well as for integration in third-party embedding applications.
A core design consideration for the Falcon programming language is to provide acceptably high performing scripting plug-ins to multi threaded data acquisition, reporting and dispersion applications.
As programming languages go, Falcon design leans more towards conciseness of code and expressiveness than general readability. The Falcon implementation does provide facilities for source level documentation and this documentation may become important as the mixed paradigm potential of Falcon scripting attempts to meet the problems faced with programming in the large.
A small project, HASTE, developed in 2002, in an attempt to create a small fast virtual machine, soon evolved into the Falcon programming language. In early 2008, the package was first shipped under open source licensing as a package in Ubuntu, and included in the KDE 4 scripting framework.
Rather than focusing on one programming style or paradigm, Falcon merges several different styles into a single framework. At the same time, it targets multiple application domains (stand-alone, embedded into other applications and server-side dynamic pages), merging them into a single hood of a common architectural design.