4.1. 开发
4.1.1. Perl
4.1.1.1. Perl 更新至 5.16
Perl
5.16 包括一些显著变化:
4.1.1.1.1. 新特性
-
Unicode 6.1
-
eval
与unicode_eval
及evalbytes
的功能控制更加一致 -
在左值上下文情况下调用的 2 元和 3 元
substr
将会被考察,甚至在变更原始字符串之后 -
新的
T_*REF_REFCOUNT_FIXED
XS typemap 修复了引用计数自减少的问题 -
新的
is_utf8_char_buf
XS-callable 函数取代了有问题的is_utf8_char
函数 -
允许写入
$$
变量 -
改善了除错调试器: 在回溯模式可以限定到某个级别,可以暂时禁用断点,可以通过文件名设定断点
-
sort
子程序可以自动加载 -
$[
变量由arybase
模块提供 -
mmaped PerlIO 层现在是一个独立的模块
PerlIO::mmap
4.1.1.1.2. 废弃的功能
-
直接访问 Unicode 数据库文件现在已被弃用;换为使用
Unicode::UCD
-
Version::Requirements
已被废弃,转而使用CPAN::Meta::Requirements
4.1.1.1.3. 不兼容的变更
-
在空上下文中调用特殊字段 (比如
BEGIN
) -
未重载的字符化正则表达式不再以字符形式返回表达式
-
移除
T_DATAUNIT
和T_CALLBACK
XS typemaps -
移除用户定义的大小写变化,取而代之的是
Unicode::Casing
-
XSUB
C 函数现在是静态的并且将不能从它们的对象文件导出 -
不能削弱只读引用
-
$$
,$<
,$>
,$(
, and$)
并不缓存他们的值 -
Devel::DProf
,Shell
已经被从 Perl 核心移除 -
已移除的 perl4 库:
abbrev.pl
,assert.pl
,bigfloat.pl
,bigint.pl
,bigrat.pl
,cacheout.pl
,complete.pl
,ctime.pl
,dotsh.pl
,exceptions.pl
,fastcwd.pl
,flush.pl
,getcwd.pl
,getopt.pl
,getopts.pl
,hostname.pl
,importenv.pl
,lib/find{,depth}.pl
,look.pl
,newgetopt.pl
,open2.pl
,open3.pl
,pwd.pl
,hellwords.pl
,stat.pl
,tainted.pl
,termcap.pl
,timelocal.pl
4.1.1.2. PCRE 库升级至8.30
Fedora 18 将提供
PCRE ( Perl 兼容正则表达式 ) 库
8.30 或更新 版本。这引入了
UTF-16
支持和 API 变化,详细记录于放置在
/usr/share/doc/pcre*
下的
changelog
和
NEWS
文件中
4.1.2. Python 更新至 3.3
系统的
Python 3 栈升级至
3.3 (系统的
Python 2 栈保持在
2.7 ),带来了数以百计的修复和微调,变化列表请看
http://docs.python.org/dev/whatsnew/3.3.html
4.1.3. Ruby on Rails 框架更新
Fedora 18 将提供
Ruby on Rails 3.2,最新版本的
Ruby on Rails 框架。 开发者可以使用最新的
Ruby on Rails 功能,详情记录于项目的发布日志
http://guides.rubyonrails.org/3_2_release_notes.html 和
http://guides.rubyonrails.org/3_1_release_notes.html 里
4.1.4. Clojure 新增Leiningen 及工具
Fedora 18 现将提供一个更加完整的
Clojure 编程栈,包含了构建工具
Leiningen。这将更加方便未来打包其他
Clojure 库。
4.2. 开发工具
4.2.1. boost 提速
Fedora 18 将采用
Boost
1.50 。这个流行的 C 语言库集合在每个 Fedora 版本中都使用了它的最新版。
4.2.2. Systemtap 2.0
Systemtap 2.0 包含了一个新的原型后端,使用
DynInst 在运行时构建用户特有的二进制文件。这个可选后端不使用内核模块,也不需要 root 权限,但是受限于脚本所使用的探测器类型和其他组成部分。
4.2.3. 用 LTTng 进行跟踪
想要提升应用程序的开发者会发现 Fedora 18 的
lttng-tools 和
ltt-ust 软件包提供了快速高效的追溯。该追溯器允许方便的修正用户态和内核态追溯,如果后者可用的话。实现达到一纳秒的精准时间戳,
LTTng 对于查询隐藏的延迟特别有用。可以通过项目的官方指南
http://lttng.org/quickstart 开始上手
4.2.4. 崩溃报告的改进
4.2.4.1. 默认提供 Debuginfo
Fedora 18 默认只提供了调试信息的一小部分。但完整调试信息仍然可以用
debuginfo
获得。
4.2.4.2. Debuginfo
由 DWARF 压缩
Debuginfo
会由
DWARF 压缩工具
dwz 做后处理以减少
*.debug
文件的大小。开发人员也可以在他们的二进制包中运行该程序。
4.2.4.3. 通过 ABRT Server 简化了崩溃报告
Fedora 的 bug 报告工具
ABRT 使用全新、简化的方式进行用户问题的报告。这些报告由
ABRT Server 处理,它同时提供了报告的统计和分类归并信息,向维护人员提供了有关问题更准确的数据。
4.2.5. IPython 更新
IPython 更新至
0.13 ,显著特性有:
Notebook
拥有了全新用户界面,并有了诸如对较长行的自动换行,向仪表盘上传新笔记,管理已启动的集群以及改进的工具提示等新功能。笔记格式发生了变化,如果您要向旧版用户分享笔记,可使用附带的转换脚本。新增单元魔术函数,像
%%bash
,
%%ruby
,
%%timeit
和其他函数。Qt 控制台菜单得到改进,同时控制台能够直接显示 jpeg 图像。
4.3. GCC 工具
4.3.1. DragonEgg 优化 GCC
DragonEgg 是
GCC 编译器的一个插件,以便能够使用
LLVM 优化以及代码生成框架。
DragonEgg 为使用
GCC 的开发人员带来了更好的优化和代码生成选择。
DragonEgg 还可以让
GCC 用于
LLVM 支持的目标架构的跨平台编译,而无需任何特殊的跨平台编译软件包。
4.4. D
Fedora 18 提供了
D 语言。
D 是一种与 C/C++ 性能相近并与其有相似语法的现代编程语言。C/C++ 和 Java 开发人员可轻松转移到
D 语言。Fedora 18 为
D 工具集提供了更多更新:
-
Idc 编译器更新至最新稳定版
-
使用 llvm 3.1 构建
-
标准库更新至 dmd 前端 2.060
-
更新了 gtkd 以支持 gtk3
-
derelict 更新至第 3 版
-
为在 D 语言下使用 sqlite 而增加了 DSQLITE 软件包。
-
为 D 语言的 OpenGL Maths 增加了 gl3n 软件包。
-
增加 glamour 软件包: 一个适用于 D 编程语言的 OpenGL 封装器。
4.5. Haskell
GHC 更新至 7.4.1,
haskell-platform 更新至 2012.2.0.0,另外剩余的 200 多个软件包中很多也得到了更新。
新增软件包有
Agda、
cabal-rpm 和
snap-server。