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編程語言通常支持各種發行版本仲會保持更新嘅,其中有:
- Ubuntu
- Fedora
- Gentoo
- Slackware
- Arch Linux
喺基於Solaris系統嘅發行版本上面透過Blastwave項目同埋OpenSolaris系統嘅AuroraUX發行版本Falcon編程語言係可用嘅。
參考
出面網頁
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.