我已经在 C++ 中进行了一段时间的套接字编程,并且有点厌倦了必须编写相同的代码来处理错误、序列化/反序列化数据等。
有没有对分布式系统提供一流支持的编程语言?
我已经在 C++ 中进行了一段时间的套接字编程,并且有点厌倦了必须编写相同的代码来处理错误、序列化/反序列化数据等。
有没有对分布式系统提供一流支持的编程语言?
它由爱立信设计,旨在支持分布式、容错、软实时、不间断的应用程序。
您可能还想阅读他们手册的Distributed Erlang部分。
但是,请注意,Erlang 是一种函数式语言,与 C++ 相比,它需要一种截然不同的思维范式。
来自 Google 的 Go-Lang 是一种相当新的语言。似乎在它的众多属性中,有朝一日它可能适用于需要大量消息队列以实现可扩展的一致和可靠行为的大型分布式系统,至少根据heroku的这些人的说法。
Go 似乎专注于并发问题、语言中的线程原语等等,这对于分布式系统来说可能是一个必要但不够充分的起点。也许他们的想法会对你有所帮助。我不会将 Go-lang 对分布式系统的支持称为“一流”,而是说可以使用 Go 的库和语言原语构建一流的分布式系统框架。
更新:几年后我对 Go 的印象不那么深刻了。我认为它的作者有一些悲伤和有限的想法。我认为它对故障和异常处理的决定是倒退的,并且使该语言无法使用。
2016 年更新:我实际上再次对 Go 印象深刻。我现在认为在大型团队开发方面,拥有 N 因子实现选项会导致 N 因子不同的编码 tarpit。至少 Go 似乎没有 labrea 规模的沥青坑,只有某些传统的泥坑。他们绝对喜欢标签,如果你不够爱它们,他们会为你将它们插入你的代码中。
Bloom是一种用于分布式编程的新领域特定语言。当前的 alpha 版本嵌入在 Ruby 中,面向早期采用者。Bloom 利用对“CALM”分析的新研究来提供工具来查明代码中的分布式一致性和协调问题。
Parallel Python是一个 Python 模块,它提供了在 SMP(具有多个处理器或内核的系统)和集群(通过网络连接的计算机)上并行执行 Python 代码的机制:
特征:
通过查看集群的快速入门指南,您可以快速了解代码的外观。
Reia是一种分布式系统的脚本语言:
Reia 旨在以一种让普通程序员更容易理解的方式展示 Erlang 的强大功能。它旨在将 Ruby(一种易于编程的语言)的美丽和简单带到 Erlang(一种很少有人认为使用起来容易或有趣的语言)。