Falcon Swoops Down on Version 0.9
Giancarlo Niccolai has released version 0.9 of the Falcon programming language.
Falcon is …
…an Open Source, simple, fast and powerful programming language, easy to learn and to feel comfortable with, and a scripting engine ready to empower mission-critical multithreaded applications.
Falcon provides six integrated programming paradigms: procedural, object oriented, prototype oriented, functional, tabular and message oriented. And you don’t have to master all of them; you just need to pick the ingredients you prefer, and let the code to follow your inspiration.
People ask me: “With so many languages around, why start to write another one?”
The answer is stunningly simple: there wasn’t any language that completely satisfied the needs I had — needs that are basic to a professional IT consultant writing performance-critical and heavily multithreaded applications.
| Falcon | Python* | Ruby | PHP5 | Lua | Perl | |
|---|---|---|---|---|---|---|
| Document Template | yes | no | no | yes | no | no |
| Native regular expressions | no | no | partial | no | no | yes |
| Coroutines | yes | no | partial | yes | no | yes | no |
| Multithreading | yes | partial | no | no | no | partial |
| Embeddability | high | low | low | no | high | low |
| C Dynamic Library Interface | yes | via ctypes | no | no | partial | no |
| Native internationalization | yes | no | no | no | no | no |
| Metaprogramming | yes | no | no | no | no | no |
| Procedural programming | yes | partial | no | yes | yes | yes |
| Object oriented | yes | partial | yes | yes | no | partial |
| Prototype oriented | yes | partial | no | no | yes | partial |
| Functional programming | yes | no | no | no | no | no |
| Tabular programming | yes | no | no | no | no | no |
| Message programming | yes | no | no | no | no | no |
| Raw VM loop speed (2) | 1023 | 442 | 340 | 116 | 670 | 1247 | 369 |
| Direct binary data access | yes | no | no | no | no | no |
| Data sharing & reflection | yes | no | no | no | no | no |
| Virtual filesystem | yes (from 0.9) | no | no | yes | no | no |
| Library size | small | huge | large | Huge(3) | medium | huge |
| License | FPLL or GPL | Python | Custom or GPL | PHP | MIT | ARTISTIC or GPL |
Native regular expressions
Specifies whether native regular expressions are part of the language specification or not. Although PERL is the only language integrating regular expression in the language, Ruby has also a very good language support for regular expressions. All the other languages provide them as library routines.
Multithreading
On the other hand, Falcon is explicitly designed to integrate as a scripting engine into MT applications without any compromise, providing 0 contention across different concurrently running scripts. Same contention free approach is provided to Falcon applications through a newel programming model that doesn’t require full visibility of variables and is 100% portable across platforms.
Here is a small “Hello, World” example:
>>> [printl, "Hello", " "]( “world” )
Hello world
Here is some more information on the developer, Giancarlo Niccolai:
Despite of the fact that I am currently the only active developer, and despite of the fact that other developers joining randomly in the project have been contributing to about 2% of the code, people is coming gathering around the project. We’ve got Pete taking good care of the documentation (my Italian English couldn’t stand for a long time), and several visitors of our site have been starting writing Wikipedia pages for Falcon in various languages. Then, we have the AuroraUX distro (SunOS) electing Falcon as one of the language of choices (directly available in the core packages), and Blastwave (the project porting GNU/open source projects to OpenSolaris). And Kross, bridging Falcon and KDE 4.2.
All this encourages me to push forward the 0.9 release and to seek for more developers willing to join and help in the project. Future of Falcon Programming Language seems bright; thanks to everyone supporting our ideas.


Leave a Reply