对于erlang语言,有的人称将会是未来的"java语言"(这种说法有待商榷),由此可见,此语言的潜力。至于这个,我也不是很清楚。当我第一次在当当网上买这本《erlang程序设计》时,居然是缺货,然后我在其他电子商务网站寻找,结果同样是缺货,可见,对此语言关注的人也不是很多。
首先简单介绍以下erlang语言
Erlang是一个结构化,动态类型编程语言,内建并行计算支持。最初是由爱立信专门为通信应用设计的,比如控制交换机或者变换协议等,因此非常适合于构 建分布式,实时软并行计算系统。
使用Erlang编写出的应用运行时通常由成千上万个轻量级进程组成,并通过消息传递相互通讯。进 程间上下文切换对于Erlang来说仅仅只是一两个环节,比起C程序的线程切换要高效得多得多了。
使用Erlang来编写分布式应用要简单的多,因为它的分布式机制是透明的:对于程序来说并不 知道自己是在分布式运行。
Erlang运行时环境是一个虚拟机,有点像Java虚拟机,这样代码一经编译,同样可以随处 运行。它的运行时系统甚至允许代码在不被中断的情况下更新。另外如果你需要更高效的话,字节代码也可以编译成本地代码运行。
Erlang特性:
● 并发性 - Erlang支持超大量级的并发线程,并且不需要操作系统具 有并发机制。
● 分布式 - 一个分布式Erlang系统是多个Erlang节点组成的网络(通常每个处理器被作为一个节点)
● 健壮性 - Erlang具有多种基本的错误检测能力,它们能够用于构建容错系统。
● 软实时性- Erlang支持可编程的“软”实时系统,使用了递增式垃圾收集技术。
● 热代码升级-Erlang允许程序代码在运行系统中被修改。旧代码能被逐步淘汰而后被新代码替换。在此过渡期间,新旧代码是共存的。
●递增式代码装载-用户能够控制代码如何被装载的细节。
●外部接口-Erlang进程与外部世界之间的通讯使用和在Erlang进程之间相同的消息传 送机制。
●Fail-fast(中文译为速错),即尽可能快的暴露程序中的错误。
●面向并发的编程(COP concurrency-oriented programming)
●函数式编程
●动态类型
●及早求值或严格求值
●脚本语言
erlang的安装
可以登录到http:://www.erlang.org网站下载源码安装包,或者在linux下使用命令安装。
fedora下安装:sudo yum install erlang
编写第一个erlang程序:
新建文件,名为“test.erl”,(必须是这个名字)
编写如下内容
在shell下输入erl,其执行过程如下:
在shell下输入“erl”命令后,会进入erl的工作环境下,开始显示的是您所使用的当前的elang的版本号。
“1>”表示的是您要输入的第一个命令的字符提示 c(test)表示的是编译刚才写的test.erl文件。
在第二个命令是对其的执行。注意在每一条语句之后都有一个符号“.”来结束当前这个命令语句。有时,当你输入命令之后,敲一个回车没有显示结果时,你就应该想到是不是没有加这个“小不点”——“.”。
想退出的话,在linux下,直接是ctrl+c,这时会显示出来
ctrl+N 获取下一行。
ctrl+A 将输入焦点移动到当前行首。
ctrl+E 将输入焦点移动到当前行尾首。
ctrl+D 删除当前光标所在的字符。
ctrl+F 向前移动一个字符。
ctrl+B 向后移动一个字符。
回车 执行当前命令。
阅读(2490) | 评论(1) | 转发(1) |
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
首先简单介绍以下erlang语言
Erlang是一个结构化,动态类型编程语言,内建并行计算支持。最初是由爱立信专门为通信应用设计的,比如控制交换机或者变换协议等,因此非常适合于构 建分布式,实时软并行计算系统。
使用Erlang编写出的应用运行时通常由成千上万个轻量级进程组成,并通过消息传递相互通讯。进 程间上下文切换对于Erlang来说仅仅只是一两个环节,比起C程序的线程切换要高效得多得多了。
使用Erlang来编写分布式应用要简单的多,因为它的分布式机制是透明的:对于程序来说并不 知道自己是在分布式运行。
Erlang运行时环境是一个虚拟机,有点像Java虚拟机,这样代码一经编译,同样可以随处 运行。它的运行时系统甚至允许代码在不被中断的情况下更新。另外如果你需要更高效的话,字节代码也可以编译成本地代码运行。
Erlang特性:
● 并发性 - Erlang支持超大量级的并发线程,并且不需要操作系统具 有并发机制。
● 分布式 - 一个分布式Erlang系统是多个Erlang节点组成的网络(通常每个处理器被作为一个节点)
● 健壮性 - Erlang具有多种基本的错误检测能力,它们能够用于构建容错系统。
● 软实时性- Erlang支持可编程的“软”实时系统,使用了递增式垃圾收集技术。
● 热代码升级-Erlang允许程序代码在运行系统中被修改。旧代码能被逐步淘汰而后被新代码替换。在此过渡期间,新旧代码是共存的。
●递增式代码装载-用户能够控制代码如何被装载的细节。
●外部接口-Erlang进程与外部世界之间的通讯使用和在Erlang进程之间相同的消息传 送机制。
●Fail-fast(中文译为速错),即尽可能快的暴露程序中的错误。
●面向并发的编程(COP concurrency-oriented programming)
●函数式编程
●动态类型
●及早求值或严格求值
●脚本语言
erlang的安装
可以登录到http:://www.erlang.org网站下载源码安装包,或者在linux下使用命令安装。
fedora下安装:sudo yum install erlang
编写第一个erlang程序:
新建文件,名为“test.erl”,(必须是这个名字)
编写如下内容
|
在shell下输入erl,其执行过程如下:
|
在shell下输入“erl”命令后,会进入erl的工作环境下,开始显示的是您所使用的当前的elang的版本号。
“1>”表示的是您要输入的第一个命令的字符提示 c(test)表示的是编译刚才写的test.erl文件。
在第二个命令是对其的执行。注意在每一条语句之后都有一个符号“.”来结束当前这个命令语句。有时,当你输入命令之后,敲一个回车没有显示结果时,你就应该想到是不是没有加这个“小不点”——“.”。
想退出的话,在linux下,直接是ctrl+c,这时会显示出来
BREAK: (a)bort (c)ontinue (p)roc info (i)nfo (l)oaded
(v)ersion (k)ill (D)b-tables (d)istribution
输入a,然后回车,就退出了erl.
附录:
一直没有注意到的shell下的几个快捷键,当然,这些在erl下同样是使用的。
ctrl+P 获取上一行。
ctrl+N 获取下一行。
ctrl+A 将输入焦点移动到当前行首。
ctrl+E 将输入焦点移动到当前行尾首。
ctrl+D 删除当前光标所在的字符。
ctrl+F 向前移动一个字符。
ctrl+B 向后移动一个字符。
回车 执行当前命令。
相关热门文章
给主人留下些什么吧!~~
chinaunix网友2011-03-09 16:57:02
一位Erlang程序员的自白:http://blog.csdn.net/turingbooks/archive/2008/11/07/3247749.aspx
评论热议