◆C:C能够帮助我们学会在硬件体系层次上考虑问题。他的最佳之处是资源效率和接近机器语言。而最糟糕的地方是其编程简直是资源管理的炼狱。
实例:fetchmail
◆C++:最佳之处是编译效率以及面向对象和泛型编程的结合。最糟之处是它非常怪异复杂,往往鼓励过分复杂的设计。
实例:Qt工具包
◆shell:最佳之处在于书写小型脚本非常自然快捷。最糟之处在于大型shell脚本必须依靠大量辅助命令,而这些辅助命令不一定在所有目标机器上都表现一致甚至不一定存在。
实例:xmlto
Sorcery Linux
◆Perl:增强了的shell。最佳之处是作为强力工具以供大量涉及正则表达式匹配的小型胶合脚本使用。最糟之处在于当程序很大时Perl会变得非常丑陋、刻板,几乎无法维护。
实例:blq(小型),keeper(大型)
◆Tcl(工具命令语言):一个设计来连入C编译库德小型语言解释器,提供C代码的脚本控制(扩展脚本)。它的最佳之处在于节俭、紧凑的设计和Tcl解释器的可扩展性。最糟之处在于其古怪的位置分析器和孱弱的数据结构及命名空间控制。
实例:TkMan
Moodss
◆Python:最佳之处在于鼓励清晰、易读的代码,易学易用,又能够扩展到大型项目。最糟之处在于,不仅相对于编译语言,而且相对于其他脚本语言,它也是效率低下,速度缓慢的。
实例:imgsizer
fetchmailconf
PIL
◆Java:最佳之处在于它非常接近“一次编写、到处运行”的目标,作为一个独立于操作系统的环境非常有用。最糟之处在于Java1/Java2的分裂令人沮丧的损害了这个目标的实现。
实例:FreeNet
◆Emacs Lisp:最佳之处在于结合了非常优秀的基础语言Lisp,其域原语对文本操作非常有效。最糟之处在于性能较差,难以和其他程序通讯。 |