每种语言都有它擅长的领域,所以,我们的策略,就是使用多种语言,让每个语言完成他们擅长的部分任务。
混合语言编程是一种语言密集型,而不是代码密集型的编程。我们不但要具备多种语言的知识,还要能够知道各个语言的特长。
C:可以作为其他语言的基础,来实现其他语言的核心。它的效率接近机器语言。但是容易犯错,开发效率低。
C++:编译效率,面向对象,泛型编程的结合。但是非常怪异复杂,往往鼓励复杂的设计。
Shell:书写小型脚本非常自然快捷。难于处理大型程序。
Perl:大量开源实现模块,正则表达式,模式匹配。但是程序很大时会非常丑陋,刻板,无法维护。
Tcl:最佳之处在于它节俭,紧凑的设计和tcl解释器的可扩展性。缺点是古怪的位置分析和孱弱的数据结构及命名空间控制。
Python:最佳之处在于它鼓励清晰,易读的代码,易学易用,又能扩展到大型项目。缺点是相对于编译语言,甚至是脚步语言,也是速度最低的。