`
zoutm
  • 浏览: 96382 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Erlang,让我找到了云计算时代的编程语言

阅读更多

      从去年开始研究java并发编程,对java的多线程,各种锁,线程池都有一定的了解。再加上看了一部分周伟明老师的《多核计算与程序设计》和《多核编程艺术》,总感觉多核时代的编程模式让程序员很痛苦。程序员不对软件和硬件知识做深入了解,要开发出具有高性能,高可用,高伸缩性的程序不是那么容易,特别是同步,锁,原子性,程序活性让很多从事软件开发多年的资深程序员都搞得不太清楚。而云计算时代,多核,多任务,多系统交互,程序之间的独立性和依赖性都变得越来越强,如何系统之间的关系更简单,如何能充分系统的资源,如何让程序具有高度的独立性,容错性都是我们面对的主要问题。

 

      今年在口碑网上看到了一个java并发编程的程序员圆桌会,主要来至于淘宝,支付宝,阿里云的技术专家们详细深入地介绍了java并发编程的基础知识及各种实践经验,特别是林昊提出的协程比较有意思,感觉java并发编程的模型必须得改,以适应云计算的需求。我对java在并发上的感觉就是它提供了一把宝剑,材质不错,但磨刀石,怎么磨出最锋利的宝剑还得自己去打造,弄得不好或不是能工巧匠很难打造。

 

       最近公司号召我们学习,而近几年云计算的概念也是热火朝天,互联网的大公司无一例外都卷到云了,Amazon,google,yahoo,IBM,Facebook,Twitter,Microsoft,oracle都提供了自己的云,国内的大型互联网公司也在研究。云计算相关的SAAS,PAAS,LAAS都相继提出。云计算的分布式特征非常明显,云计算的最大特点是:分布,互连,容错性,可伸缩性,简单性。再加上硬件的多核时代到来,cpu的核心越来越多,如何充分利用这些硬件资源,是我们软件必须面对的问题。共享内存的多核架构使我们不得不面对并发,多线程,锁这些复杂问题。

 

        Erlang语言被一些同事提起,一直想抽空研究一下,今天有空静下心来看看这个天生并发处理的魅力。Erlang的原理非常简单,基于函数式的编程,我们知道,函数的一些基本要素,输入,输出,处理过程。最纯粹的处理过程是只对输入进行变换处理,不对周围环境变量或者全局变量产生任何影响,输出就是函数的产品。基于函数式的语言天生就具有线程安全性。 Erlang语言提供了超轻量级的进程,据说比创建普通线程的代价还小(有待考查),程序都是基于进程级,进程之间的通信只有一种模式:消息传递。彻底解放了共享内存的多线程模型编程难度。而消息的传递都是异步的,不可靠的。不管进程是否在同一台机器还是不同机器,编程模型都一样,这和我们现实生活的状态一样。人就像进程,而社会提供的各种物质形态就像计算机的各类数据,人的活动就如像运行时函数。人类社会的各种活动改变着物质形态,程序的进程运行改变着数据,如此合乎人类思维的语言并充分解决了原有并发编程中的各种难题。那么,它的局限性在哪里呢?由于还没有仔细研究,但可以看出,原有共享内存方式让多个线程可以共同方式来访问相同的资源,而消息传递方式意味着相同的内容必须要复制一份传递给其他进程。怎么觉得有点像管道。 标题有点吓人,Erlang究竟能解决我们哪些问题呢,还需要继续进行研究,我将会在后续文章中提及。

2
2
分享到:
评论
2 楼 zoutm 2010-04-11  
谢谢,主要是编辑没用习惯,有点乱,本来是分段了的
1 楼 ZangXT 2010-04-10  
写篇blog不容易,排下版吧

相关推荐

    Erlang零成本实现云计算

    Erlang零成本实现云计算,为初学者提供参考和学习,并为企业建设云提供帮助

    Erlang零成本实现云计算.pptx

    Erlang零成本实现云计算.pptx

    Erlang:并行计算和云计算

    Erlang是一种动态类型的函数式编程语言,由爱立信在1986年为电话交换系统设计,后来因其在处理并发、分布式和容错性上的优秀特性,逐渐在并行计算和云计算领域崭露头角。 ### 1. 并行计算 并行计算是利用多处理器...

    Erlang零成本实现云计算讲义.pptx

    Erlang零成本实现云计算讲义.pptx

    Erlang与云计算.pdf(确保可以打开)

    综上所述,Erlang作为一种面向并发的编程语言,在云计算领域有着广泛的应用前景。无论是通过内置的分布式支持还是通过强大的并发机制,Erlang都能够有效地解决云计算面临的挑战。同时,结合上述提到的开源项目,我们...

    erlang与云计算

    erlang 云计算erlang 云计算erlang 云计算

    Erlang编程语言

    Erlang是一种专为构建大规模并发服务系统而设计的编程语言,尤其在电信和云计算领域有着广泛的应用。由于其独特的设计理念和能力,它在处理高并发、分布式计算以及容错性方面表现出色,使得它成为在高度复杂和要求极...

    Erlang编程

    Erlang是一种专为并发计算设计的编程语言,由瑞典电信公司爱立信于20世纪80年代开发。由于其独特的并发处理能力,它在电信、银行、电子商务以及需要大量并发活动处理的系统中被广泛使用。Erlang的设计哲学是创建简单...

    Erlang并发编程,Erlang程序设计,Erlang中文手册

     Erlang是一个结构化,动态类型编程语言,内建并行计算支持。最初是由爱立信专门为通信应用设计的,比如控制交换机或者变换协议等,因此非常适 合于构建分布式,实时软并行计算系统。 使用Erlang编写出的应用运行时...

    erlang编程 Introducing Erlang

    Erlang是一种函数式编程语言,由爱立信在1986年开发,主要用于构建高可用性、容错性和并发性的分布式系统。"Introducing Erlang"是Simon St. Laurent撰写的一本入门级教程,旨在帮助初学者理解和掌握Erlang的核心...

    erlang编程指南

    erlang编程语言圣经 erlang从业人员的必备书籍 erlang语言开发入门

    Erlang编程规则——中文翻译版本

    Erlang是一种高级编程语言,专为构建并发、分布式、容错的系统设计。Erlang语言的编程规则和约定对于保证代码的可读性、可维护性、性能和稳定性至关重要。本文将对Erlang编程规则的中文翻译版本中的部分内容进行详细...

    Erlang编程语言The Erlang Programming Language

    这是《 Erlang编程语言》的上一页,我们正在处理中,将那里的所有书籍都转换为新页面。 请再次检查此页面!!!

    并行编程语言Erlang:Erlang OTP框架及其应用开发指南

    内容概要:本文档详细介绍了Erlang编程语言及其并行编程模型,并重点阐述了Erlang OTP框架的特性和应用场景。首先,文档简述了Erlang语言的特点,包括轻量级进程、模式匹配和热代码升级等特性,以及它在构建高可用、...

    图书:Erlang编程

    《Erlang编程》是一本深入探讨Erlang语言的图书,主要面向对并发处理、分布式系统和高可用性有需求的开发者。Erlang是一种为构建大规模并发系统而设计的函数式编程语言,它源自爱立信,以其在电信行业的成功应用而...

    erlang中文基础教程

    Erlang 编程语言是一种功能强大且灵活的编程语言,它提供了一个交互式的 shell 环境,允许用户在其中编写和运行代码。 Erlang Shell 是一个命令行交互环境,类似于 UNIX 和 LINUX 系统的命令行模式。 1. Erlang ...

Global site tag (gtag.js) - Google Analytics