This Domain(Admin5.com) is for Sale:

My SQL数据库实用技术(28)

时间:2007-12-23  来源:不详  作者:迈克DB

5.2.3 开发时间
刚才描述的这些因素影响应用程序的性能,但不能只考虑运行效率。时间及编程的简易性也是重要的,所以为MySQL 编程选择API 时要考虑的另一个因素是如何很快地开发出自己的应用程序。假如开发同样程序,用P e r l脚本只需用C 语言一半的时间,那您可能宁愿使用Perl DBI API,而非C API,即使开发出的应用程序运行速度不是非常快也如此。考虑程序的运行时间比考虑编写程序时花的时间更少一些通常是合理的,非凡是对不经常运行的应用程序更是如此。您的一小时比机器的一小时要值钱得多!
一般来说,脚本语言编写程序更快,非凡是得到应用程序的原型更快,这是由于以下两个原因:
第一,脚本语言提供更高级别的结构。这答应您在抽象的更高级别上进行思考,以便集中考虑要做些什么,而不是考虑如何做。例如, Perl 的关联数组(散列)对于维护具有键/值系(如学生I D /学生姓名对)的数据节省了大量时间。C 没有这样的构造。假如想在C 中实现这样的事情,则可能需要编写代码来处理许多低级的细节,其中包括内存治理和串操纵的问题,并且需要调试它,这也要花时间。
第二,脚本语言的开发周期的步骤较少。用C 开发应用程序时,要经历通常的编辑—编译—测试的循环周期。每次修改程序时,在测试之前都必须重新编译它。而用Perl 和P H P,由于每次修改后不用编译就可以立即运行脚本,因此,开发周期可简化为编辑—测试。另一方面,编译程序对程序在严格的类型检查形式方面有更多的约束条件。编译程序施加的更多约束条件有助于避免在松散语言(如Perl 和P H P )中不易捕捉的错误。在C 中,假如您错误地拼写了变量的名称,则编译程序将警告您。PHP 不这样,Perl 也不这样,除非向它询问。当应用程序变得更大且更难于维护时,这些更严格的约束条件可能非凡有用。

本文来自织梦


一般来说,在编译和解释语言之间权衡的是开发时间与性能的折衷:是想要使用编译语言开发程序,以便在运行时可以更快,但花费更多的时间来编写它?还是想要用脚本语言编写程序,以便在缩短编程时间,但要损失一些运行速度?
将两种方法合并起来也是可能的。编写一个脚本作为“第一个草案”来快速地开发出一个应用程序原型以测试其逻辑性,确定算法的可用性。假如这个程序有用,并且被频繁使用,则性能成为关心的焦点,这时可作为编译的应用程序重新对它编写代码。这样做给您带来两种方法的优点:快速得到应用程序的初始开发原型,同时得到最终产品的最佳性能。从某种严格的意义来说, Perl DBI 和
PHP API 并没有给您在C 客户机库中没有的能力。这是因为这两种API 通过MySQL C 库连接到Perl 和PHP 解释程序来获取对MySQL 的访问。然而,对于嵌入MySQL 的环境,C 与Perl 或PHP 有很大的不同。应考虑在与MySQL服务器相互作用时要做的事情并提问每个API 语言如何帮助您完成这些事情。下面有一些样例:
copyright dedecms

■ 内存治理。在C中,您发现自己对任何任务,包括动态分配数据结构都使用malloc() 和free() 来工作。Perl 和
PHP 可为您处理这些任务。例如,数组的大小自动地增加,并且可以使用动态长度的字符串而不用考虑内存治理。
■ 文本处理。在这点Perl 具有最大的开发能力,而
PHP 位于第二。比较起来,C 是非常初级的。当然,可以用C编写自己的库,将内存治理和文本处理这样一些任务封装成更轻易工作的函数。但是,然后还必须调试它们,并且您也想使自己的算法效率更高。在这两个方面,基本上可以断定,由于它们已经具有了通过许多双眼睛检查过的好处,对这些事情Perl 和P H P中的算法一般是易于调试并且有合理的效率。通过利用其他人的工作可以节省您的时间(另一方面,假如解释程序偶然有一个错误,您可能必须携带它,直到这个问题纠正为止。而用C 编写时,可以更细地控制程序性能)。

看完这篇,您有何感觉呢?

文章评论

共有位Admini5网友发表了评论 查看完整内容

24小时热门信息