再见Forth&Perl 运维自动化的关键技术1985
Forth是六十年代末期,由Charles H. Moore发展出来在天文台使用的电脑自动控制系统及程序设计语言,允许使用者很容易组合系统已有的简单指令,定义成为功能较复杂的高阶指令。由于其结构精简、执行快速、操作方便,广为当代天文学界使用。八十年代以后,有爱用者成立Forth Interest Group在世界各地推广,并陆续在各类计算机上建立Forth系统及标准的语言。FORTH以可延伸的词典为核心,采用两个堆栈为基础的高度模块化结构,是一种将解译程序interpreting和编译程序compiling合并运用的双态系统。使用FORTH,可在编译过程中检测差错,并且逐步扩充编译程序代码。利用标准FORTH所写的程序几乎不必大修改,就能在各类计算机运作;甚至在特别设计的电脑上可以完全放弃组合语言,直接由FORTH转化成机器语言,就好像现代的Java machine。同时,使用者也可以自由使用自己定义的运算功能,加入编译器(compiler)中,使Forth语言更有弹性。
Forth语言的Hello World!程序
下面是一个在标准输出设备上输出Hello World的简单程序,这种程序通常作为开始学习编程语言时的第一个程序:
." Hello, world!" CR
从程序员的角度看Forth
用Forth的“追随者”的话来说,Forth是一种“人机一体”的语言。在程序员的意识中必须要有一台逻辑上的机器(可能是实际的芯片,也可能是虚拟机)。这台机器拥有两个堆栈(数据堆栈和返回堆栈),一个词典(在Forth中的词(word) 对应于高级语言的函数或者子程序,若干的词构成词典。)一个内部解释器和一个外部解释器。
和Forth语言一样,也是基于堆栈的程序设计语言还有PostScript。
forth是一种可扩展的,交互式的语言。最初为小型的嵌入式电脑设计的,现在它几乎可以在任何主流的芯片上解译和编译,甚至已有多种可直接运行forth指令的芯片。 在电子表格,专家系统,多用户数据库,和分布式实时控制系统中有广泛的应用。 表面来看,forth是一种基于堆栈的概念机。例如要计算 (3+4)*5,我们的程序就是:3 4 + 5 *。首先把3和4入堆栈,然后调用+子程序,把堆栈的最顶上两个元素取出(也就是3和4)进行加法运算,然后把结果入堆栈,然后把5入堆栈,然后调用*子程序,把最顶的2个元素,也就是7和5取出,并进行乘法运算,然后把结果入堆栈,最后的。把结果从堆栈中取出打印。事实上这是一种最简单有效的概念机。当然forth远远不止这些。
Perl是一种高级、通用、直译式、动态的程序语言。最初设计者拉里·沃尔(Larry Wall)为了让在UNIX上进行报表处理的工作变得更方便,决定开发一个通用的脚本语言,而在1987年12月18日发表。
和C语言一样,在Perl界,难以读懂的代码大赛是个有名的活动。近似难以读懂的代码,但方向不同,Perl Poetry是可以被perl编译的诗。新的诗经通常会在Perl Monks网站发表。
另一个Perl黑客的有趣活动是写JAPHs。 恩最近在Perl的山脚下,不知道什么时候能上到山的高处。 刚刚了解了一点forth,很有意思。 回复 2# wenhq
perl现在低落了很多,如果还没开始,工作上也不是非常需要,建议直接转到python或者ruby要实惠很多。
页:
[1]