为什么带有源代码的框架是绝对必要的

我的App都依赖第三方框架和类库。如果你在iOS市场,你可能使用SSToolKitGPUImage框架。如果你是一名web开发者,你或许使用优秀的SpringASP.NETRuby on Rails。不要忘了,Java和.NET运行时每天为数亿行代码提供动力。

软件是有bug的。如果你自己的app好像没有,它事实上是有的。即使你有着大量的单元测试、项目中不错的代码覆盖率以及非常少的技术债务,你使用的框架或许不是这样子的。有调查显示60%的开发组在产品发布之后通常能够找到致命问题。

这个图表显示了Apache基金会代码库的测试覆盖率。红色代表低或没有覆盖。绿色代表覆盖。越大的区块代表越大的项目。

Apache基金会代码库的测试覆盖率

大多数开发者甚至不想修复他们遇到的编译警告。在我的Mac OS机器上build稳定版Ruby 2.1.1时,就有一些编译器产生的警告。

自由软件对我意味着什么

本周我获得了自由软件基金会的自由软件奖。我事先得到了告知,不过我仍然花了大量时间来思考自由软件是如何影响我的生活的。事实证明影响很大。

在90年代的成长岁月里,我当时所处的环境,对女学生的兴趣要大于计算机,那段时间也几乎接触不到因特网。我的整个宽广的自由软件社区的知识来源于一堆CD,它包含了技术术语文件的拷贝、整个GNU项目的源代码和m68k Linux 内核的早期拷贝。

但是足够了。在我进入大学之前,我知道了自由软件是什么。我有机会教会自己操作系统究竟是如何运行的。我看到了能够修改软件、以及与别人分享那些修改所带来的好处。我遇到了臭味相投的人。我找了个编写自由软件的工作,与其他人协作并集成到上游代码。这样,我在自由软件社区参与的范围越来越广,并找到了越来越多的帮助做出改变的机会,这使我和其他人都从中受益。

没有自由软件,我会晚几年开始,我会失去与他人协作、并在整个世界传播的机会,我的第一份工作将会是不同的,既然我的整个职业生涯都是从那时开始的。没有自由软件,我在成年时期所取得的差不多所有成就都是不可能的。

对于我来说,自由软件意味着我过着比 其他方式所得到的生活 好得多的生活。还不仅仅如此,它意味着 我能够确认其他人有同样的机会。我在这里是因为其他人的工作。我继续参与的最有价值的部分是一个认识,那就是不计其数的努力的人来确保其他人未来能够讲述同样的故事,我只是其中一员。

原文地址:http://mjg59.dreamwidth.org/30420.html

Facebook想让我们成为Hacker…它不是你想的样子

Facebook已经发布了一种叫做Hack的新的编程语言。被一个Facebook工程师团队开发的新语言,是为了最终更新社会化网络时,允许更快的变化和极少的错误。

Facebook说,Hack语言产生于PHP,工程师团队为了让PHP更好用而做了精简。而且,团队设法在去年差不多把Facebook的所有PHP代码迁移到了Hack,一个Facebook工程师Julien Verlaguet通过公司的博客说的。

“今天我们发布了Hack,我们为HHVM开发的新语言,和PHP实现了无缝互操作性。增加了通常在其它现代编程语言里才能找到的特性,Hack实现了PHP较快的开发周期与静态类型的完美结合。”

“我们已经在Facebook部署了Hack,它已经是一个巨大的成功了。去年,我们依赖系统的采用和大量的自主研发的重构工具,差不多把整个PHP代码库迁移到了Hack。”

切换到Hack的主要原因是PHP使得简单任务变得难以捉摸的某种挑战。而且,这些PHP引起的代码错误的问题在脚本上线之前无法检测出来。Hack改善了这些问题,这使得Facebook成为社会化网络用户的最佳场所。

使Hack开源

工程师团队不会决定不把所有Facebook代码库转换成Hack。很明显,计划也包括了为了让人们使用这门语言而开源,这已经开始做了。

“我们也自豪地在 http://hacklang.org/ 上发布了Hack的一个开源版本,它是HHVM运行时平台的一部分,该平台现在同时支持Hack和PHP”,Facebook说。

不管Hack曾经发生了什么,Facebook之外的世界一定会发生大规模应用。一些程序员或许对留在后面的核心PHP语言不感兴趣,因此当这天结束的时候,Facebook或许成为Hack背后坚决代表它的剩下生命的唯一实体。

原文地址:http://www.techtimes.com/articles/4723/20140324/facebook-wants-to-us-to-be-hackers-and-its-not-what-you-think.htm