Programming languages 分布式系统的编程语言 我在C++中已经做了一段时间的Socket编程,厌倦了编写相同的代码来处理错误、序列化/反序列化数据等。

Programming languages 分布式系统的编程语言 我在C++中已经做了一段时间的Socket编程,厌倦了编写相同的代码来处理错误、序列化/反序列化数据等。,programming-languages,distributed-system,Programming Languages,Distributed System,有没有对分布式系统提供一流支持的编程语言?,如下所述: 它由爱立信设计,支持分布式、容错、软实时、不间断的应用 您可能还想阅读他们手册中的部分 但是,注意到,与C++相比,Erlang是一种需要不同的思维范式。< P>是分布式系统的脚本语言: Reia的目标是揭露有权势的人 Erlang的功能 对你的普通程序员来说更容易 理解。它的目的是使 美丽和简单的红宝石,一个 简单有趣的语言 用Erlang语言编写程序 很少有人会认为这很容易 或者使用起来很有趣 是一个python模块,它提供了在SMP(

有没有对分布式系统提供一流支持的编程语言?

,如下所述:

它由爱立信设计,支持分布式、容错、软实时、不间断的应用

您可能还想阅读他们手册中的部分

<>但是,注意到,与C++相比,Erlang是一种需要不同的思维范式。

< P>是分布式系统的脚本语言:

Reia的目标是揭露有权势的人 Erlang的功能 对你的普通程序员来说更容易 理解。它的目的是使 美丽和简单的红宝石,一个 简单有趣的语言 用Erlang语言编写程序 很少有人会认为这很容易 或者使用起来很有趣

是一个python模块,它提供了在SMP(具有多个处理器或内核的系统)和集群(通过网络连接的计算机)上并行执行python代码的机制:

功能:

  • 在SMP和集群上并行执行python代码
  • 易于理解和实现基于作业的并行化技术(易于并行转换串行应用程序)
  • 自动检测最佳配置(默认情况下,工作进程数设置为有效处理器数)
  • 动态处理器分配(可在运行时更改工作进程数)
  • 具有相同功能的后续作业的低开销(实现透明缓存以减少开销)
  • 动态负载平衡(作业在运行时分布在处理器之间)
  • 容错性(如果其中一个节点失败,则在其他节点上重新调度任务)
  • 计算资源的自动发现
  • 计算资源的动态分配(自动发现和容错的结果)
  • 基于SHA的网络连接身份验证
  • 跨平台可移植性和互操作性(Windows、Linux、Unix、Mac OS X)
  • 跨体系结构的可移植性和互操作性(x86、x86-64等)
  • 开源

您可以快速了解代码的外观。

是一种用于分布式编程的新领域特定语言。当前的alpha版本嵌入到Ruby中,面向早期采用者。Bloom利用关于“CALM”分析的新研究,提供工具,精确定位代码中的分布式一致性和协调问题。

谷歌的Go Lang是一种非常新的语言。看起来,在它的众多属性中,它可能有一天适合于需要大量消息队列的大型分布式系统,以实现可伸缩的、一致的和可靠的行为,至少根据at-heroku的说法是如此

Go似乎专注于并发性问题、语言中的线程原语等,这可能是分布式系统的一个必要但并不充分的起点。也许他们的想法会对你有所帮助。我不会把Go lang对分布式系统的支持称为“一流”,而是说,可以使用Go的库和语言原语构建一流的分布式系统框架

更新:几年后,我对围棋的印象就不那么深刻了。我认为它的作者有一些悲伤和有限的思考。我认为它在错误和异常处理方面的决定是倒退的,并且使语言无法使用


2016年更新:事实上,我对围棋印象深刻。我现在认为,在大型团队开发中,拥有N-阶乘实现选项会导致N-阶乘不同的编码陷阱。至少Go似乎并没有labrea规模的柏油坑,只有某些传统的泥墙。他们绝对喜欢标签,如果你不够喜欢,他们会把标签插入你的代码中。

Erlang绝对是海报上的孩子。尽管有成千上万种语言是专门为分布式编程设计的,但Erlang是目前为止最主流的(事实上也是唯一的一种)。我之所以选择接受这个答案,是因为Erlang在现实世界的系统中使用,而且是主流的,尽管正如Jorg所指出的,还有上千种是为分布式系统构建的,我认为Scala“本机”不支持分布式编程。但是,对于赤陶,请参见:。或者参见Swarm:注意Reia仍处于非常早期的开发阶段。见鬼,它还处于设计的早期阶段。例如,不久前,Tony删掉了整个语法。关于你的想法的更新经过了这么长的时间,其中的原因非常有趣。谢谢。当在区域级别的大尺寸范围内进行扩展时,go不像erlang那样对分布友好。无论是并行的还是并发的,这些特性都不同于分布式的需求。似乎这种东西在2017年仍然存在。如果你一直在使用它,它的更新可能是一个很好的编辑;P