混合语言是一种知识密集型的编程。我们必须具备能判断这些语言在什么地方最合适。虽然C语言的工作效率高和接近机器语言。但开发速度成本高,而相对脚步语言,则更容易解决实际问题。以下就我工作中会用到的脚步语言.
Shell
Shell 有多种变种,目前大多数Linux默认的shell是bash。简单shell程序的编写及其容易和自然。Unix使用解释语言搭建原型系统。shell 的最佳之处在于书写小型脚本非常自然快捷。最糟糕之处在于大型shell脚本必须依靠大量的辅助命令,而这些辅助命令不一定在所有目标机器上都表现一致。
Perl
Perl是增强型的shell。它为代替awk 而专门设计,并扩展用来代替shell 作为混合语言脚本编程交换胶合剂使用。Perl的最佳之处是作为强力工具以提供涉及正则表达式匹配的小型胶合脚本使用。最遭之处在于当程序很大时Perl会变得非常丑陋、刻板,几乎无法维护。
Tcl
Tcl(工具命令语言)是一个设计用来接入C编译库的小型语言解释器,提供C代码的脚步控制。Tcl最初应用在控制电子仿真器所用的程序库。Tcl的主要优势在于它特别灵活而且本质非常简单。
目前用到的shell有 bash 和csh,用来实现设计的自动化开发。Tcl用在FPGA开发工具,DC,VCS等EDA软件中。Perl用于UVM等验证工作工作中。我使用这些语言就是为了解决平时工作中的问题。上学时,老师说各种编程语言都差不多,精通一种就可以了。在工作才明白这句话是不完整的,各种编程语言在语法上是有相似之处,的确如果精通一门语言,学习另外一种语言会容易些,但每种语言都有其特定的用途,不然,它就不会出现。应用设计和实现语言的合理搭配对生产力有极大的促进。
参考文献:
[1] Eric Raymond. Unix编程艺术. 电子工业出版社. 2013.
[2] 几种计算机语言的评价(修订版).
http://www.ruanyifeng.com/blog/2010/03/programming_language_evaluations_revised.html
[3] Paul Graham. 编程语言解析.. 黑客与画家. 2011.
[4] Unix编程艺术的作者对几种计算机语言的评价. http://blog.csdn.net/cnpdn/article/details/5465617