fbpx
维基百科

Pharo

Pharo 是一套开源Smalltalk程序开发平台。Pharo具备所谓现场编程英语Interactive programming的特性,例如实时操控对象,实时更新等。Pharo支持高级Web开发框架,例如Seaside英语Seaside (software)

Pharo
编程范型面向对象
實作者Pharo 社区
发行时间2008年,​15年前​(2008
穩定版本
10.0
(2022年4月5日,​8個月前​(2022-04-05
作業系統LinuxOS XWindows
許可證MIT license, 部分采用 Apache License 2.0[1]
網站pharo.org
啟發語言
Smalltalk-80Squeak

简介

 
Pharo 10.0的截图

Pharo是在2008年3月从Squeak v3.9分叉而来[2][3][4][4]:10[5]。Pharo的英文名称源自希腊语(Φάρος),意为灯塔。事实上在其标志上的最后一个字母O里有一座灯塔。

作为Smalltalk平台,Pharo具备Smalltak的特点:

  • 面向对象编程
  • 立即对象身份切换
  • 动态继承
  • 对象作为方法
  • 可选的绿色线程
  • 可定制的元类
  • 易于使用代理对象

它的虚拟机的特点:

  • 具有JIT的多平台虚拟机,合并了分代垃圾回收器ephemeron英语ephemeron,转发器
  • 快速对象枚举
  • 容易的调用栈操纵
  • AST元连接
  • 相对较低的内存消耗
  • 可定制的编译器
  • 可选的完全的对象内存持久化
  • 可恢复的异常
  • 快速对象序列化

它的内建软件的特点:

  • 已开发程序和开发环境的可选融合
  • 现场对象检查

凭借Smalltalk与生具来的特点, Pharo最大的优势之一是在修改代码时不必全程编译。例如,在调试窗口里编辑一个方法或者创建一个方法后不需要重启进程。这就是所谓的“编辑、继续”,有别于在其他语言里常见的“编辑、编译然后运行”。

特征性语法

 
Pharo语法明信片

Pharo语法基于了具有一些扩展的Smalltalk-80语言语法。这些扩展在现代Smalltalk方言中是常见的。

  • 用于动态数组的文字,指定数组内容在程序执行期间求值的表达式:
{1. 2. 1+2} 
  • 用于字节数组的文字,它只能用在0255范围内的整数构成:
#[1 2 3 4] 
  • 用于比例十进制数的文字,它是能够准确表示十进制分数的定点十进制数的表示法:
3.14s2 
  • pragma。在Smalltalk-80中,pragma只用于原始方法。在Pharo中,它们是全功能的方法标注:
<gtInspectorPresentationOrder: 30> 
  • 在注释中的两个双引号,被被解释为作为这个注释内容一部份的一个单引号字符。

提供的Pharo语言语法是非常简单和极简主义的。基本语言元素通常可以体现在一张明信片上。它的文法被归类为LL(1)

语言文法不直接指定代码应怎样存储在文件中。Pharo使用Tonel[6],作为其偏好的代码序列化格式。

历史

Squeak衍生,Pharo旨在创建一个符合Smalltalk-80规范的开源Smalltak环境。它专注于现代软件工程和程序开发技术,而Squeak定位于教学。

版本 发行时间 主要特征
2008年3月16日 [7] 从Squeak环境分叉
Pharo 1.0 2010年4月15日 真实的闭包,移除EToys和MVC
Pharo 1.1 2010年7月26日 Cog JIT VM,设置框架
Pharo 1.2 2011年3月29日 新的Finder,新近变更工具,改进的Help,更好的theme
Pharo 1.3 2011年8月 Zinc,无头映像
Pharo 1.4 2012年4月[8] Ring元模型,更好的代码模拟器
Pharo 2.0 2013年3月18日[9] 浏览器改进,QA工具,Fuel序列化器,更好的文件API
Pharo 3.0 2014年4月[10] 新的模块编译器(Opal)和调试器,续体
Pharo 4.0 2015年4月[11] GTools(Playground,Inspector,Spotter),槽模型
Pharo 5.0 2016年5月[12] Spur VM,UFFI,改进的反射性
Pharo 6.0 2017年6月6日[13] 64-bit和Git支持
Pharo 6.1 2017年7月24日[14] 改进的Git支持
Pharo 7.0 2019年1月22日[15] 引导, 新的代码浏览器(Calypso), 有状态的trait
Pharo 8.0 2020年1月20日[16] 改进的Git支持,测试,重构和Windows
Pharo 9.0 2021年7月15日[17] GTK3支持,对象中心调试器和检查器,重构,官方ARM VM
當前版本: Pharo 10.0 2022年4月5日[18] 清理,模块化,很多重写和改进的工具

学习Pharo

Pharo有一个活跃的社区和宽松的MIT许可。学习Smalltalk程序语言的利器,是两本介绍Pharo的书。第一本书为《Pharo by Example》[19] ,免费下载。第二本书是《Deep into Pharo》,免费下载。[20]

初学者最好的体验Pharo的方法是在其官方网站下载一站式版本[21]

Pharo的使用

Pharo意在开发为公司和研究人员开发一个现代Smalltalk。作为示例,Pharo用于开发Seaside英语Seaside (software),一个Web应用框架。Pharo有两个支持机构,面向公司的Pharo财团[22],和面向用户的Pharo协会[23]

公司和咨询

一些公司在开发中使用Pharo[24],典型例子为:

  • Seaside英语Seaside (software),动态Web开发[25]
  • Zinc,服务器架构[26]
  • Moose英语Moose (analysis),分析所有程序语言的数据和软件[27]
  • 图形库,用于演化的用户界面
  • Roassal,用于可视化数据[28]

教学和研究

一些教育机构使用Pharo,包括:

  • 布宜诺斯艾丽斯大学
  • 伯恩大学
  • 布鲁塞尔大学
  • Bretagne Occidentale大学
  • École des Mines de Douai
  • Savoie大学
  • Ivan Franko Nat. Uni. of Lviv
  • Czech 技术大学
  • CULS Prague
  • 喀麦隆Maroua大学
  • 北密执根大学
  • 阿根廷天主教大学
  • Santiago大学
  • Policnica de Catalunya大学
  • Saarland大学
  • Quilmes大学
  • La Plata大学
  • Technologica Nacional大学
  • Nacional de San Martin大学
  • Tomsk大学

一些使用Pharo的研究机构:

  • LAFHIS, AR
  • SCG, CH
  • CEA-List, FR
  • CAR-EMD, FR
  • RMOD-Inria, FR
  • UMMISCO-IRD, FR
  • Reveal, CH
  • LYSIC, FR
  • IGEVET, AR
  • Pleiad, CL
  • Uqbar, AR

虚拟机

Pharo的虚拟机几乎完全用Smalltalk语言打造。自2008年,Pharo的虚拟机的表现接近最快的Smalltalk虚拟机。[29]

相关条目

参考

  1. ^ Pharo license information. [2017-06-08]. (原始内容于2016-05-30). 
  2. ^ . developontheweb.co.uk. [2021-11-24]. (原始内容存档于2021-12-23). 
  3. ^ Pharo by example. Andrew P. Black, Stéphane Ducasse, Oscar Nierstrasz, Damien Pollet, Damien Cassou, Marcus Denker. [Kehrsatz] Switzerland. October 28, 2009. ISBN 978-3-9523341-4-0. OCLC 957555627. 
  4. ^ 4.0 4.1 Black, Andrew P.; Ducasse, Stéphane; Nierstrasz, Oscar; Pollet, Damien. . Samuel Morello. ResearchGate. October 28, 2009 [2022-02-12]. ISBN 978-3-9523341-4-0. (原始内容存档于2021-11-24). 
  5. ^ . www.wirfs-brock.com. [2021-11-24]. (原始内容存档于2022-04-15) (美国英语). 
  6. ^ . [2022-02-12]. (原始内容存档于2022-04-03). 
  7. ^ . Pharo-project.org. [May 31, 2018]. (原始内容存档于2022-03-14). 
  8. ^ . Pharo-project.org. April 17, 2012 [April 5, 2013]. (原始内容存档于2014-03-29). 
  9. ^ . Pharo-project.org. March 18, 2013 [April 5, 2013]. (原始内容存档于2014-03-29). 
  10. ^ . pharo.org. April 30, 2014 [May 1, 2014]. (原始内容存档于August 23, 2017). 
  11. ^ . pharo.org. April 15, 2015 [April 16, 2015]. (原始内容存档于August 23, 2017). 
  12. ^ . pharo.org. May 12, 2016 [May 13, 2016]. (原始内容存档于December 29, 2017). 
  13. ^ . pharo.org. June 6, 2017 [2022-02-12]. (原始内容存档于2017-11-20). 
  14. ^ . pharo.org. July 24, 2017 [2022-02-12]. (原始内容存档于2017-08-20). 
  15. ^ . pharo.org. January 22, 2019 [2022-02-12]. (原始内容存档于2022-02-12). 
  16. ^ . pharo.org. January 20, 2020 [2022-02-12]. (原始内容存档于2022-02-12). 
  17. ^ . pharo.org. July 15, 2020 [2022-02-12]. (原始内容存档于2021-07-20). 
  18. ^ . pharo.org. April 5, 2022 [2022-04-06]. (原始内容存档于2022-04-07). 
  19. ^ . Pharo by Example. [April 5, 2013]. (原始内容存档于2013年3月26日). 
  20. ^ Deep into Pharo. Deep into Pharo. [September 1, 2013]. (原始内容于2015-02-18). 
  21. ^ one-click version(页面存档备份,存于互联网档案馆
  22. ^ Pharo consortium(页面存档备份,存于互联网档案馆
  23. ^ Pharo association(页面存档备份,存于互联网档案馆
  24. ^ Pharo Open Source Smalltalk — Success stories. Pharo-project.org. [April 5, 2013]. (原始内容于2014-03-29). 
  25. ^ Home. seaside.st. March 18, 2007 [April 5, 2013]. (原始内容于2015-03-23). 
  26. ^ Zinc HTTP Components. Zn.stfx.eu. [April 5, 2013]. (原始内容于2015-05-09). 
  27. ^ Girba, Tudor. Home. Moose technology. [April 5, 2013]. (原始内容于2020-09-21). 
  28. ^ . Object Profile. [May 31, 2018]. (原始内容存档于2022-05-01). 
  29. ^ Cog Blog. Mirandabanda.org. [April 5, 2013]. (原始内容于2015-02-18). 

外部链接

pharo, 是一套开源smalltalk程序开发平台, 具备所谓现场编程, 英语, interactive, programming, 的特性, 例如实时操控对象, 实时更新等, 支持高级web开发框架, 例如seaside, 英语, seaside, software, 编程范型面向对象實作者, 社区发行时间2008年, 15年前, 2008, 穩定版本10, 2022年4月5日, 8個月前, 2022, 作業系統linux, windows許可證mit, license, 部分采用, apache, lice. Pharo 是一套开源Smalltalk程序开发平台 Pharo具备所谓现场编程 英语 Interactive programming 的特性 例如实时操控对象 实时更新等 Pharo支持高级Web开发框架 例如Seaside 英语 Seaside software Pharo编程范型面向对象實作者Pharo 社区发行时间2008年 15年前 2008 穩定版本10 0 2022年4月5日 8個月前 2022 04 05 作業系統Linux OS X Windows許可證MIT license 部分采用 Apache License 2 0 1 網站pharo wbr org啟發語言Smalltalk 80 Squeak 目录 1 简介 2 特征性语法 3 历史 4 学习Pharo 5 Pharo的使用 5 1 公司和咨询 5 2 教学和研究 6 虚拟机 7 相关条目 8 参考 9 外部链接简介 编辑 Pharo 10 0的截图 Pharo是在2008年3月从Squeak v3 9分叉而来 2 3 4 4 10 5 Pharo的英文名称源自希腊语 Faros 意为灯塔 事实上在其标志上的最后一个字母O里有一座灯塔 作为Smalltalk平台 Pharo具备Smalltak的特点 面向对象编程 立即对象身份切换 动态继承 对象作为方法 可选的绿色线程 可定制的元类 易于使用代理对象它的虚拟机的特点 具有JIT的多平台虚拟机 合并了分代垃圾回收器 ephemeron 英语 ephemeron 转发器 快速对象枚举 容易的调用栈操纵 AST元连接 相对较低的内存消耗 可定制的编译器 可选的完全的对象内存持久化 可恢复的异常 快速对象序列化它的内建软件的特点 已开发程序和开发环境的可选融合 现场对象检查凭借Smalltalk与生具来的特点 Pharo最大的优势之一是在修改代码时不必全程编译 例如 在调试窗口里编辑一个方法或者创建一个方法后不需要重启进程 这就是所谓的 编辑 继续 有别于在其他语言里常见的 编辑 编译然后运行 特征性语法 编辑 Pharo语法明信片 Pharo语法基于了具有一些扩展的Smalltalk 80语言语法 这些扩展在现代Smalltalk方言中是常见的 用于动态数组的文字 指定数组内容在程序执行期间求值的表达式 1 2 1 2 用于字节数组的文字 它只能用在0到255范围内的整数构成 1 2 3 4 用于比例十进制数的文字 它是能够准确表示十进制分数的定点十进制数的表示法 3 14 s2 pragma 在Smalltalk 80中 pragma只用于原始方法 在Pharo中 它们是全功能的方法标注 lt gtInspectorPresentationOrder 30 gt 在注释中的两个双引号 被被解释为作为这个注释内容一部份的一个单引号字符 提供的Pharo语言语法是非常简单和极简主义的 基本语言元素通常可以体现在一张明信片上 它的文法被归类为LL 1 语言文法不直接指定代码应怎样存储在文件中 Pharo使用Tonel 6 作为其偏好的代码序列化格式 历史 编辑自Squeak衍生 Pharo旨在创建一个符合Smalltalk 80规范的开源Smalltak环境 它专注于现代软件工程和程序开发技术 而Squeak定位于教学 版本 发行时间 主要特征2008年3月16日 7 从Squeak环境分叉Pharo 1 0 2010年4月15日 真实的闭包 移除EToys和MVCPharo 1 1 2010年7月26日 Cog JIT VM 设置框架Pharo 1 2 2011年3月29日 新的Finder 新近变更工具 改进的Help 更好的themePharo 1 3 2011年8月 Zinc 无头映像Pharo 1 4 2012年4月 8 Ring元模型 更好的代码模拟器Pharo 2 0 2013年3月18日 9 浏览器改进 QA工具 Fuel序列化器 更好的文件APIPharo 3 0 2014年4月 10 新的模块编译器 Opal 和调试器 续体Pharo 4 0 2015年4月 11 GTools Playground Inspector Spotter 槽模型Pharo 5 0 2016年5月 12 Spur VM UFFI 改进的反射性Pharo 6 0 2017年6月6日 13 64 bit和Git支持Pharo 6 1 2017年7月24日 14 改进的Git支持Pharo 7 0 2019年1月22日 15 引导 新的代码浏览器 Calypso 有状态的traitPharo 8 0 2020年1月20日 16 改进的Git支持 测试 重构和WindowsPharo 9 0 2021年7月15日 17 GTK3支持 对象中心调试器和检查器 重构 官方ARM VM當前版本 Pharo 10 0 2022年4月5日 18 清理 模块化 很多重写和改进的工具学习Pharo 编辑Pharo有一个活跃的社区和宽松的MIT许可 学习Smalltalk程序语言的利器 是两本介绍Pharo的书 第一本书为 Pharo by Example 19 免费下载 第二本书是 Deep into Pharo 免费下载 20 初学者最好的体验Pharo的方法是在其官方网站下载一站式版本 21 Pharo的使用 编辑Pharo意在开发为公司和研究人员开发一个现代Smalltalk 作为示例 Pharo用于开发Seaside 英语 Seaside software 一个Web应用框架 Pharo有两个支持机构 面向公司的Pharo财团 22 和面向用户的Pharo协会 23 公司和咨询 编辑 一些公司在开发中使用Pharo 24 典型例子为 Seaside 英语 Seaside software 动态Web开发 25 Zinc 服务器架构 26 Moose 英语 Moose analysis 分析所有程序语言的数据和软件 27 图形库 用于演化的用户界面 Roassal 用于可视化数据 28 教学和研究 编辑 一些教育机构使用Pharo 包括 布宜诺斯艾丽斯大学 伯恩大学 布鲁塞尔大学 Bretagne Occidentale大学 Ecole des Mines de Douai Savoie大学 Ivan Franko Nat Uni of Lviv Czech 技术大学 CULS Prague 喀麦隆Maroua大学 北密执根大学 阿根廷天主教大学 Santiago大学 Policnica de Catalunya大学 Saarland大学 Quilmes大学 La Plata大学 Technologica Nacional大学 Nacional de San Martin大学 Tomsk大学 一些使用Pharo的研究机构 LAFHIS AR SCG CH CEA List FR CAR EMD FR RMOD Inria FR UMMISCO IRD FR Reveal CH LYSIC FR IGEVET AR Pleiad CL Uqbar AR虚拟机 编辑Pharo的虚拟机几乎完全用Smalltalk语言打造 自2008年 Pharo的虚拟机的表现接近最快的Smalltalk虚拟机 29 相关条目 编辑Smalltalk GNU Smalltalk Squeak参考 编辑 Pharo license information 2017 06 08 原始内容存档于2016 05 30 DevelopOnTheWeb developontheweb co uk 2021 11 24 原始内容存档于2021 12 23 Pharo by example Andrew P Black Stephane Ducasse Oscar Nierstrasz Damien Pollet Damien Cassou Marcus Denker Kehrsatz Switzerland October 28 2009 ISBN 978 3 9523341 4 0 OCLC 957555627 4 0 4 1 Black Andrew P Ducasse Stephane Nierstrasz Oscar Pollet Damien Pharo by Example Samuel Morello ResearchGate October 28 2009 2022 02 12 ISBN 978 3 9523341 4 0 原始内容存档于2021 11 24 The Rise and Fall of Commercial Smalltalk www wirfs brock com 2021 11 24 原始内容存档于2022 04 15 美国英语 Tonel 2022 02 12 原始内容存档于2022 04 03 Pharo got 10 years Pharo project org May 31 2018 原始内容存档于2022 03 14 Pharo Open Source Smalltalk Release 1 4 Pharo project org April 17 2012 April 5 2013 原始内容存档于2014 03 29 Pharo Open Source Smalltalk Release 2 0 Pharo project org March 18 2013 April 5 2013 原始内容存档于2014 03 29 Pharo Open Source Smalltalk Release 3 0 pharo org April 30 2014 May 1 2014 原始内容存档于August 23 2017 Pharo Open Source Smalltalk Release 4 0 pharo org April 15 2015 April 16 2015 原始内容存档于August 23 2017 Pharo Open Source Smalltalk Release 5 0 pharo org May 12 2016 May 13 2016 原始内容存档于December 29 2017 Pharo Open Source Smalltalk Release 6 0 pharo org June 6 2017 2022 02 12 原始内容存档于2017 11 20 Pharo 6 1 released pharo org July 24 2017 2022 02 12 原始内容存档于2017 08 20 Pharo 7 0 released pharo org January 22 2019 2022 02 12 原始内容存档于2022 02 12 Pharo 8 0 Released pharo org January 20 2020 2022 02 12 原始内容存档于2022 02 12 Pharo 9 0 Released pharo org July 15 2020 2022 02 12 原始内容存档于2021 07 20 Pharo 10 0 Released pharo org April 5 2022 2022 04 06 原始内容存档于2022 04 07 Pharo by Example Pharo by Example April 5 2013 原始内容存档于2013年3月26日 Deep into Pharo Deep into Pharo September 1 2013 原始内容存档于2015 02 18 one click version 页面存档备份 存于互联网档案馆 Pharo consortium 页面存档备份 存于互联网档案馆 Pharo association 页面存档备份 存于互联网档案馆 Pharo Open Source Smalltalk Success stories Pharo project org April 5 2013 原始内容存档于2014 03 29 Home seaside st March 18 2007 April 5 2013 原始内容存档于2015 03 23 Zinc HTTP Components Zn stfx eu April 5 2013 原始内容存档于2015 05 09 Girba Tudor Home Moose technology April 5 2013 原始内容存档于2020 09 21 Agile Visualization Object Profile May 31 2018 原始内容存档于2022 05 01 Cog Blog Mirandabanda org April 5 2013 原始内容存档于2015 02 18 外部链接 编辑Pharo Homepage 页面存档备份 存于互联网档案馆 Awesome Pharo 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title Pharo amp oldid 74500459, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。