Pharo是一个纯粹的面向对象编程语言和强大的开发环境,目标是提供一个简洁新颖的开源Smalltalk开发环境。现已提供最新版本的下载。

Smalltalk被公认为历史上第二个面向对象的程序设计语言和第一个真正的集成开发环境(IDE)。Smalltalk由Alan Kay,Dan Ingalls,Ted Kaehler,Adele Goldberg等于70年代初在Xerox PARC开发。Smalltalk对其它众多的程序设计语言的产生起到了极大的推动作用,主要有:Objective-C,Actor,Java和Ruby等。90年代的许多软件开发思想得利于Smalltalk,例如设计模式、敏捷编程和重构等。

现在Pharo 4.0版本做出了一个数量相当大的修复和增强,你可以在FogBugz问题追踪上了解详情。这次版本值得关注的特性有:

  • 新增一种方法来报告系统错误和收集统计信息,此功能也将用于未来的改进
  • 增加了黑暗主题
  • 使用 Slots 模型实例变量可作为实体,开发者可以在 Slots 模型中进行元编程(meta-programming)
  • 新增开发工具 Inspector/Playground/Spotter 用于检查/编码/搜索对象

以下为详细信息:

新事物

  • GTools:Playground、Inspector、Spotter
  • Slots模型实例变量作为第一类型实体并能够在该级别上进行元编程
  • ShoreLine reporter:错误发生时自动提交信息
  • TxModel:一个与Athens协作的现代文本模型(预览)
  • OSWindow:一个处理Windows和输入事件的新方法(预览)
  • Glamour:一个成熟的声明浏览器构建器
  • 黑暗主题

更新事物

  • Zinc:新的对象记录;改进字符编码/解码;改进URL解析;bug修复、简化、注释
  • Zodiac:bug修复
  • Fuel
  • Versionner

重要改变

1.用户界面

  • 默认FreeType字体
  • 增强对Nautilus的重构
  • 增强Nautilus的检测,如脚本
  • 增强Monticello GUI(包括状态图标)

2.Athens

  • 增强利用Athens的Morph绘制(现在几乎所有的部件都可呈现)
  • 更多的例子

3.系统

  • 增强聚集层次词汇
  • 增强字符串词汇
  • 修复Delay一个很重要的bug并从DelayScheduling分解出
  • TimeStamp类重新由DateAndTime取代
  • ContextPart和MethodContext类重新由Context取代
  • #on:sent:to:重新由#when:send:to取代

4.编译器

  • 修复多个bug
  • 新的字节码集
  • OpalDecompiler

5.VM

  • 可在Raspbian和FreeBSD上编译
  • 添加:libgit2, libssh2, libsdl2
  • 几个补丁

废弃

  • 大量Morphic被清除
  • 大量Spec被清除

屏蔽

  • PackageInfo (由RPackage取代)
  • ObjectExplorer (由GTInspector取代)
  • Spotlight (由GTSpotter取代)

外部项目和包

许多现有的扩展项目已经将代码转移到了Pharo 4.0,而且也目前也出现了许多新的项目。这里仅举几个例子:

1.框架:

  • Artefact
  • Pillar
  • Log4S
  • Roassal3D
  • Scheduler
  • Units
  • ……

2.Web

  • Seaside
  • Pier
  • Bootstrap
  • Iliad

3.测试

  • Autotest
  • BabyMock2

4.工具

  • Pomodoro
  • TilingWindowManager

更多信息可查看Pharo 4.0在GitHub上的地址,点此进入。

极客头条正式开通了微信公众号,刊选每日精华内容和最新的资讯文章。在微信搜索“csdn_geek”或扫描下方的二维码。

Pharo 4.0:简洁新颖的开源Smalltalk开发环境相关推荐

  1. 搭建基于ASP.NET 2.0的DNN 4.X模块开发环境及模块实例(2)

    群里一直有朋友在问如何构建基于ASP.NET 2.0的DNN 4.X模块开发环境,受原来ASP.NET1.1多工程机制的思维影响,大家一直在等待VS2005支持多工程,经过一段时间的学习和摸索,发现其 ...

  2. 从0开始使用QEMU模拟ARM开发环境之脚本制作分区镜像(rootfs+zImage+dtb)

    文章目录 从0开始使用QEMU模拟ARM开发环境系列一览表 目录结构: 脚本介绍: 分区镜像制作脚本 qemu启动脚本 流程示例 从0开始使用QEMU模拟ARM开发环境系列一览表 文章中 u-boot ...

  3. 从0开始搭建一台服务器开发环境【开始篇】

    通过本博客你将搭建的服务,以及配置如下: 0,用SeceruCRM连接服务器后台 1,设置linux字符编码 2,统一服务器时区 3,安装jdk环境 4,安装maven 5,安装tomcat 6,安装 ...

  4. Mit Mini Cheetah开源代码开发环境搭建

    MIT Mini Cheetah–开源代码仿真环境搭建 摘要 2019年以来,关于四足机器人的报道越来越多,我比较关注的是MIT mini cheetah.Mini Cheetah的外表是很可爱的,它 ...

  5. creo2.0+VS2010采用protoolkit二次开发环境配置(64位win7)

    在网上找了很多资料,也遇到过很多问题.本文的配置过程主要参考了网上的两篇文章,地址如下: http://www.doc88.com/p-3085972896759.html http://wenku. ...

  6. 前端自动化构建工具:用Gulp4.0搭建一个基本的前端开发环境

    一个项目的完成一般需要经过三个步骤:初始化.开发和部署.在前端开发过程中,我们经常需要依靠一些自动化构建工具来优化前端工作流程,来帮助我们完成一系列繁琐的工作,例如浏览器热更新.ES6编译.代码压缩. ...

  7. 中标麒麟Linux服务器5.0(mips64el)安装QT开发环境

    中标麒麟服务器5.0(mips64el)上QT开发需要用到can口,原版自带的QT不包含相关模块,故重新下载一个带有can模块的qt版本进行安装. 该系统架构是mips64el的,所以X86架构等其它 ...

  8. Windows 10 下基于WSL的开源飞控开发环境配置(Ardupilot/PX4)

    目录 0 环境 1 环境概述 2 配置 WSL 2.1 安装 WSL2 2.2 安装工具链 3 配置VS Code 0 环境 Windows 10 build version >= 18917 ...

  9. 关于ext2.0基本引入说明引入过多开发环境效验太多老火

    1.1 Ext版本变迁 * Ext1.0发布于2007年2月,Ext正式从YUI社区中独立出来,不再仅仅支持YUI,而是提供了ext-base.prototype.jquery和YUI4种底层实现.这 ...

最新文章

  1. 京东某员工因加班太多引女友不满,下定决心离职:不想被迫加班!
  2. springboot(七) 配置嵌入式Servlet容器
  3. 面向对象进阶-反射(二)重要知识点
  4. 程序员管理思维修炼,只需要反复阅读本篇
  5. python pillow环境_解决Python图片处理模块pillow使用中出现的问题
  6. linux系统中删除一次性任务流程,Linux系统中的计划任务
  7. Linux系统下智能DNS服务器BIND9.7.2安装配置
  8. 互融云融资担保系统:助力企业解决融资难题
  9. 让你了解一下世界名人blog
  10. windows上pip安装及使用详解
  11. SAP Script教程:SE71、SE78、SCC1、VF03、SO10-013
  12. python创建person类_python类的创建
  13. Linus 一生只为寻找欢笑(下)-转
  14. PayPay migrated the core payment database from Aurora to TiDB
  15. 如何查阅电脑最大可以扩充多大的内存
  16. 工地上的这些工种工资差距很大,你知道是哪些工种吗?
  17. Linux禁止普通用户使用某些命令
  18. 网络游戏外挂编写原理
  19. element plus 引入icon
  20. 性能工具之 Locust 简单入门

热门文章

  1. 最近一些大厂开始调整考勤时间,996将成为过去式
  2. mysql utf8 latin1_mysql latin1 转 utf8 中文乱码
  3. php display_startup_errors,php.ini中display_startup_errors=on显示的都是什么错误?
  4. 【个人实验报告】博客网站
  5. boostrap中scrollspy结合affix、以及affix的滚动与定位
  6. 网页音乐 最小化后自动暂停_当其他声音开始播放时,如何自动暂停音乐
  7. CodeForces-1379C Choosing flowers
  8. fwrite写文件的问题解析
  9. linux fwrite 头文件,linux c之用fwrite和fread实现文件的复制
  10. AttributeError: 'PhotoImage' object has no attribute '_PhotoImage__photo'