Erlang_Programming_导读

Erlang_Programming_导读

ID:37551786

大小:325.88 KB

页数:19页

时间:2019-05-25

Erlang_Programming_导读_第1页
Erlang_Programming_导读_第2页
Erlang_Programming_导读_第3页
Erlang_Programming_导读_第4页
Erlang_Programming_导读_第5页
资源描述:

《Erlang_Programming_导读》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《ProgrammingErlang导读》前言如果你没有学习过C语言,我建议先去学C,并学习计算机的编译原理。因为那才是真正意义上的计算机程序设计。否则,如果把erlang作为你开始学习计算机的第一门语言,你将感到非常困惑,而且对程序的理解将停留在应用层面,很难有所底层技术的突破。本导读的作用是帮助你快速理解Erlang,并基于该理解去考虑Erlang语言是否适合您的应用开发。要对Erlang全面了解,包括语法的各个方面,库函数的各个方面,以及Socket编程,文件操作等,你还是需要去仔细研读Erlang的官方著作——《ProgrammingErlang》。不过,当

2、我看完这本书的时候,还是认为其中的某些章节,作者并没有写清楚,尤其是在一些例子方面,因此,如果时间充裕,我接下来会尝试给大家提供一份更容易理解的Erlang例程,并基于这些例程详细说明Erlang的用法和作用。2008-11-27(北京)第一、Erlang是什么?首先,Erlang包括一个Erlang虚拟机,Erlang编译器,以及Erlang语法。什么是虚拟机(VitualMachine)呢?其实虚拟机可以理解是一个软件,如果你在windows操作系统上安装了Erlang的虚拟机,那么从进程的角度来讲,VM的地位可你计算器上其他软件的地位是一样的,比如Office

3、Word,金山词典,Photoshop等。只是VM所提供的功能和其他应用软件有所不同罢了。Erlang编译器是一个exe可执行程序,当然,在Window下的编译器和UNIX下的编译器有所不同,然而,所完成的功能都是把一个.erl文件转换为.beam文件。.erl文件是用所谓的erlang语言编写的程序代码,而.beam文件是一个可以在ErlangVM环境下运行的“程序”。Erlang语法就是规定好的Erlang编译器可以理解的一种程序设计语言。然而,erlang语言和C语言还是两种不同层次的语言。Erlang语言更应该定义为一种应用语言,因为它并不是面向CPU编程的

4、语言,相比之下,C语言基本上是直接面向CPU编程的(这不是严格意义上的,实际上C语言会被编译为汇编语言,并再次编译为CPU能够执行的二进制指令)。了解java的人可以把Erlang虚拟机理解为java虚拟机,对erlang语言和java的语言则是对等的。说的更通俗一点,相信你用过officeword吧,首先你安装了Microsoft的Office软件,然后编辑了一个.doc文档。Office提供了你一种图形化编写.doc文档的功能,你可以通过输入法输入文字,你可以点击“文件”里面的“保存”菜单,把输入的文字保存在硬盘里,你还可以插入一个表格,当然,还包括照片等。然而

5、,要知道,最终生成的.doc文件不只是这些,它还包含了很多其他信息,比如图片在文件中的位置,文本的页面信息等。好了,让我们把Erlang和office对比一下吧。Erlang的虚拟机就好像Office程序,是独立的一个进程(独立的程序),.erl文件就好像你所编写的.doc文件,erlang编译器把.erl文件编译为.beam文件,.beam文件是Erlang虚拟机能理解的程序文件,相比之下,office更高级,它可以直接理解.doc文件,而不需要再把.doc文件编译为其它格式。Erlang提供了自己的语法,可以进行数据处理,数据的输入或者输出。Officeword

6、也提供了数据处理以及数据输入、输出的接口,只是用法不同而已。Erlang生成自己对多线程的并发式应用很擅长,当然Office却声称自己对文字处理很擅长,的确是这个样子。我之所以把Erlang和Officeword对比,为的是让大家理解,Erlang不是一个纯粹的程序语言,它是为了面向某种应用而设计的语言,这就是为什么总有新的语言层出不穷。你是否问过自己,为什么CPU只有一个,然而却又无数种计算机语言,比如Ruby,java,php,erlang…,未来可能会有新的语言产生。实际上,计算机语言只有一种,那就是汇编语言,c,以及c++只是汇编语言的一种高级呈现方式,都是

7、面向机器的语言,这种语法基本上代表了CPU的执行方式。然后,那种基于虚拟机VM上的语言,大多数则是由于应用的需求而人为设计的一种语言,这种语言则是面向应用的,而不是面向机器的。当然,erlang就是一种,它面向的应用就是并发程序。举个例子,对于Web服务器,要求同时能够提供多个连接,而且彼此的连接要求并发,那么如何设计一个Web服务器,并发需求显得额外突出,因此,如果能有一些更好用的接口,那么的确是一件很美好的事情,就好像在officeword里面,我们可以很容易的输入不同字体的文字,很容易把这些页面打印到纸张上。道理是一样的。因此,学习一门基于VM的应用类语言

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。