Fortran|让程序员梦寐以求的编程语言,实现编程的完美开发(上)( 四 )


Perl就是一个鲜明的例子 。 它不仅仅设计成适合开发一次性程序 , 而且它本身就很像一次性程序 。 最初的Perl只是好几个生成表格的工具收集在一起而已 。 后来程序员用它写一次性程序 , 当那些程序逐渐发展壮大后 , Perl才随之发展成了一种正式的编程语言 。 到了Perl 5 , 这种语言才适合开发重要的程序 , 但是在此之前它已经广为流行了 。
什么样的语言适合写一次性程序?首先 , 它必须很容易装备 。 一次性程序是你只想在一小时内写出来的程序 , 所以它不应该耗费很多时间安装和配置 , 最好已经安装在你的电脑上了 。 它必须是想用就用的 。 C语言可以想用就用 , 因为它是操作系统的一部分;Perl可以想用就用 , 因为它本来就是一种系统管理工具 , 操作系统已经默认安装它了 。
很容易装备不仅仅指很容易安装或者已经安装 , 还指很容易与使用者互动 。 一种有命令行界面、可以实时反馈的语言就具有互动性 , 那些必须先编译后使用的语言就不具备互动性 。 受欢迎的编程语言应该是前者 , 具有良好的互动性 , 可以快速得到运行结果 。
一次性程序的另一个特点就是简洁 。 对黑客来说 , 这一点永远有吸引力 。 如果考虑到你最多只打算在这个程序上耗费一个小时 , 这一点就更重要了 。
函数库简性的最高形式当然是有人已经帮你把程序写好 , 你只要运行就可以了 。 函数库就是别人帮你写好的程序 , 所以它是编程语言的另一个重要特点 , 并且我认为正在变得越来越重要 。 Perl就赢在它具有操作字符串的巨大函数库 。 这类函数库对一次性程序特别重要 , 因为开发一次性程序的原始目的往往就是转化或提取字符串 。 许多Perl程序的原型可能就是把几个函数库调用放在一起 。
我认为 , 未来50年中 , 编程语言的进步很大一部分与函数库有关 。 未来的函数库将像语言内核一样精心设计 。 优秀函数库的重要性将超过语言本身 。 某种语言到底是静态类型还是动态类型、是面向对象还是函数式编程 , 这些都不如函数库重要 。 那些习惯用变量类型考虑问题的语言设计者可能会对这种趋势感到不寒而栗 。 这不等于把语言设计降到开发应用程序的层次吗?哦 , 真是太糟了 。 但是别忘了 , 编程语言是供程序员使用的 , 而函数库就是程序员需要的东西 。
设计优秀的函数库是很难的 , 并不只是写一大堆代码而已 。 一旦函数库数量变得太多 , 找到一个你需要的函数有时候还不如自己动手写来得快 。 函数库的设计基础与语言内核一样 , 都是一个小规模的正交集合 。 函数库的使用应该符合程序员的直觉 , 让他可以猜得出哪个函数能满足自己的需要 。
(未完待续)
——本文节选自《黑客与画家:硅谷创业之父Paul Graham文集》[美]Paul Graham 著
Fortran|让程序员梦寐以求的编程语言,实现编程的完美开发(上)文章插图