- 浏览: 5933 次
- 性别:
- 来自: 上海
最新评论
-
diggywang:
一个语音命令,就能完成所有编码o-o!
乌托邦中开发者的工具
文章列表
在乌托邦的开发者,拥有:
一间靠窗的独立的办公室。其中有若干当前最快的电脑,至少两个显示器,人体工学的无线鼠标键盘,一块白板,一张舒服的椅子。
每到一台新机器。只要运行一个脚本。它就可以完成所有开发环境和所需软件的安装 并且check out所有的源代码并完成所有的构建。
一个完美的编辑器,无需配置插件。支持所有的编程语言,神速的intellisense。良好的重构支持。重要的是,即使你有上千万行代码。依然有良好的反应速度。
一个聪明的构建环境。永远只构建必需的部分。可以轻松和快速的部署。
完美覆盖的单元测试和集成测试。它们还要有很高运行效率。如果运行时间超过一顿中饭,那就可以一个脚本部署到远 ...
我从来没有实现过任何一个编辑器。但对于这么一个我们每天都使用的工具,如何高效的实现其内部结构是一个有趣的话题。首先,
一个高效的算法,以下几点是值得考虑的重点:
1. 所占的空间大小
2. 插入,删除的效率。
最直接的方法是使用一个数组,
数组的每一个成员对应一个相应的字符。这样不需要任何冗余空间,但是缺点也是显而易见的: 每次插入和删除都要进行数组拷贝的动作。
一个初步的提高,
我们是否能够在删除的时候不做这个拷贝动作,
而使用一个特殊的字符来取代。但是我们如何避免在插入时进行数组拷贝的动作呢。这个问题将直接导致两个常用的编辑器数据结构: Gap Buffe ...
David Patterson 在 Communication of ACM 的专栏中发表了"Techinical Perspective: Datacenter is computer"
David Patterson 从一个计算机体系结构的研究者角度出发, 将如何设计Data Center的架构以提供可靠,可伸缩 的 Internet Service 类比成设计一种新的体系结构。
在这一体系结构中,Patterson 提出了三个基本的问题:
• What are useful programming abstractions for such a large sys ...
原文出自Communicaton of ACM 2008一月号。 作者 Jeannette M. Wing 是CMU的教授和NSF计算机科学与工程部的头:
1. P=NP?
2. What is computable?
3. What is intelligence?
4. What is information?
5. (How) can we build complex systems simply?