《erlang程序设计》翻译稿1

来源:互联网 发布:网贷系统源码 编辑:程序博客网 时间:2024/05/16 09:53

 

 

 

  Erlang程序设计

      

        ------------------------为并行而生

 

 

 

                         Joe Armtrong

 

 

 

 

 

 

 

    如果要想让我们的程序像世上万物般共存,那么我们的程序必须要有一个并行的结构,因为世界本身就是并行。运用为并行量身订做的一门语言,软件开发将变得异常简单。

Erlang程序设计理念恰合吾意。

Joe Armstrong>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                       

 Erlang 程序设计

        -------------------------------------------为并行而生

 

                             Joe Armstrong

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                             Chapter 1

                                Begin

我的天呐,有一门编程语言,我有必要学它吗?我学的编程语言还不够多吗?

我可以理解你此时的感受,诚然是有许多的编程语言,但我们为什么要学习这门编程语言呢?

我们有五条学习erlang的原因:

1.   你想让你的程序在双核上的运行速度比单核更快。

2.   你想让你的软件系统具备超常的容错能力,并且能够不用中断系统运转就可以纠正系统的错误。

3.   你想对曾经有所耳闻的函数式编程一探究竟。

4.   你想使用一门已应用于大型的商业产品,并且有这众多的库和活跃的用户群的语言。

5.   你想减少你的代码量。

   我们可以做些什么呢?翻到20.3节,运行SMP erlang,然后翻到376页,一些程序如果在多核计算机上运行时,它的的运行速度会得到线性的提高。在18章,通过OTP系统,我可以学习如果构造一个不当机的可以系统。在16.1部分,将讲述构建一般的服务器的思路。在292页,我们将讨论不用关闭服务器,就可以对系统进行升级的技术。

   本文中的很多地方,你会为函数式程式的优点而感叹。函数式编程杜绝了代码的副作用。副作用和并行是不能共存的。带有副作用的顺序化程式与远离副作用的并发程式,二者只可选其一,没有中间道路可走。

Erlang的并发是语言级的而非操作系统级的。Erlang通过将世界抽象成若干彼此相互通信的并行进程,很容易的实现了程序的并行化。在erlang的世界里,并行的进程是没有锁,没有同步,甚至没有共享内存冲突,因为根本就没有共享内存。

 Erlang程序可以由数以万计的超轻量级进程组成,这些进程可以运行与单核处理器,多核处理器,抑或是网络处理器。

 

原创粉丝点击