Falcon
閱讀設定
編程範式 | 多範型:過程式編程、物件導向、基於原型、函數程式設計、表格編程、訊息傳遞 |
---|---|
設計者 | Giancarlo Niccolai |
編程員 | Falcon Committee |
第一次出現 | 2003年2月3號 |
穩定版本 | 0.9.6.8 (Chimera)
/ 2010年 12月 31號 [1] |
類型系統 | 動態檢查 |
操作系統 | 跨平台 |
軟件授權 | GPLv2, FPLLv1.1[2] |
副檔名 | .ftd, .fal |
網站 | falconpl.org |
啟發語言 | |
C++、Perl、Lua、Smalltalk、PHP、Lisp、Python、Ruby |
Falcon編程語言(英文:The Falcon Programming Language),又叫做Falcon P.L.、Falconpl或者Falcon,係一個開源、多範式嘅編程語言,佢嘅設計同埋推廣由Giancarlo Niccolai領導。
核心
[編輯]同關注喺一個編程風格或者範式(paradigm)唔同,Falcon喺一個簡單嘅框架(framework)入面融合咗幾種唔同嘅風格。喺實現級別上面,Falcon係「服務概念」驅動,當唔作為一個單一嘅工具畀人用嘅時候,腳本引擎畀人當做一個服務腳本,模塊同埋內嵌嘅應用。
Hello Falcon
[編輯]即使有唔同形式嘅基本I/O,一個「hello world (全世界朋友你好!)例子都可以用fast print(快速列印):
> "Hello World!"
用到Unicode,下面係一個國際化例子嘅介紹:
// International class; name and street class 國際(なまえ, Straße) // set class name and street address नाम = なまえ شَارِع = Straße // Say who am I! function 言え!() >@"I am $(self.नाम) from ",self.شَارِع end end // all the people of the world! 民族 = [國際("高田 Friederich", "臺灣"), 國際("Smith Σωκράτης", "Cantù"), 國際("Stanisław Lec", "południow")]
for garçon in 民族:garçon.言え!()
數據類型
[編輯]- Nil - The nil關鍵字,一個空值。
- Integer - 一個64位整數值。
- Numeric - 一個IEEE 64位浮點值。
- Range - 一組上限,下限同埋步長。
- MemBuf - Raw內存緩衝,每一個地址係一個無符號嘅1,2,3,或者4字節整數。
- Function - 函數(可調用實體)。
- String - 唔定長嘅UNICODE字符序列(但佢哋可以作為字節緩衝被使用)。
- Array - 唔定長嘅元素序列。
- Dictionary - 唔定長有序鍵/值對嘅集合;鍵能係任何Falcon元素。
- Object - 來源喺類嘅實例或者單一嘅非類對象。
- Class - 可以創建實例嘅類,實體。
- Method - 實例冇變嘅部分,用函數形式關聯。
特色
[編輯]Falcon完整咁支持模塊化編程,Falcon裝載著特色(Feathers),標準模塊套件。特色依家有嘅模塊包括:
- 編譯器 - 反射型編譯器同埋動態插件引導器。
- 配置分析器 - 完成配置文件分析支持。
- MXML - 非常快速同埋簡潔嘅迷你XML分析器(兼容XML 1.0)。
- 正則表達式 - PCRE 7.x兼容正則表達式庫接口。
- 套接字(Socket) - BSD套接字跨平台網絡支持。
- ZLib - 簡潔嘅壓縮程式接口。
實現
[編輯]核心VM同埋官方模塊,(包括特色模塊同埋社區提供支持嘅模塊)都係用C++寫嘅,一啲好底層嘅模塊同引擎元素係用C語言同集匯程式寫。
可用資源
[編輯]喺Mac OS X同埋MS-Windows系統上面Falcon透過安裝程式發布,令到構建同埋安裝變成一個清晰嘅過程,或者喺唔同嘅開源系統例如Linux或者OpenSolaris上面透過自己整源代碼包。
喺後者嘅系統上,Falcon編程語言通常支持各種發行版本仲會保持更新嘅,其中有:
喺基於Solaris系統嘅發行版本上面透過Blastwave項目同埋OpenSolaris系統嘅AuroraUX發行版本Falcon編程語言係可用嘅。
參考
[編輯]出面網頁
[編輯]- Falcon網站Wayback Machine嘅版面存檔備份
- 文檔Wayback Machine嘅版面存檔備份
- Falcon community wikiWayback Machine嘅版面存檔備份
- Falcon community論壇
- linuxjournal上的相關文章
- 發表在Free Software Magazine