进了游戏行业,弃Java而用Erlang两个月后,对erlang的一些浅薄认识:
优点:
(1)一切弱类型脚本语言的优点。
(2)现成的组件都很实用,包括ets、进程字典、gen_server、gen_fsm等。
(3)消息型并发模型和不变变量减少了需要考虑并发加锁的场景。
缺点:
(1)一切弱类型脚本语言的缺点,没有静态类型检测,在调用其他模块时比较依赖注解,不然就要自己看代码,影响效率。还有代码修改时往往不能及时发现依赖这段代码的其他代码也要修改,编译器有时候不会告诉你,要到运行时才发现。
(2)调试困难,倒不是没有调试工具,IM还是有的,但是非常不好用,有时候还不如用老方法debug("1111")来得快。
(3)由于函数式编程的语法特点,有些算法实现起来不是太顺手。
(4)还是语言特点,匹配模式和不变变量,让本来可以不那么长的程序结构变长了。
(5)使用record时必须很小心,不然很容易覆盖。
(6)伤眼!!妥妥的!!!
(待续...)
分享到:
相关推荐
### Erlang 心得 1. **并发处理**:Erlang 的核心特性之一是其内置的并发模型。它使用轻量级进程(Lightweight Processes, LWP)实现并发,每个进程占用资源少,易于创建和通信,使得处理大量并发任务变得高效。 2...
Erlang的独特之处在于其对并发的处理方式,它使用轻量级进程(Lightweight Processes,LWP)实现微内核架构,这使得在单个节点上可以同时运行数千个进程。OTP的引入进一步强化了这种并发能力,提供了诸如GenServer、...
目前,有多个Erlang库可以实现这一功能,如`es_client`可能就是这样的一个库。这个库提供了与Elasticsearch通信的API,使得开发者能够方便地发送HTTP请求到ES集群进行索引、查询、更新等操作。 **安装Erlang ES...
使用erlang进行UDP测试,这几个是为了凑够20字。
在本文中,我们将探讨如何使用Erlang编程语言和Yaws Web服务器开发RESTful服务。Erlang是一种面向并发和分布式系统的语言,以其高可靠性而著称,而Yaws是由Claes Wikström用Erlang编写的高性能Web服务器,能够处理...
这两个模型由丹麦工程师Agner Krarup Erlang在20世纪初提出,至今仍广泛应用于现代通信网络的设计与优化。 Erlang B模型,也称为无阻塞模型,主要用于计算在给定呼叫到达率和系统容量下,系统不发生阻塞的概率。它...
标题中的“使用Erlang的动态执行编写DSL”是指利用Erlang这门函数式编程语言来构建领域特定语言(Domain Specific Language)。DSL是一种专为某一特定领域设计的语言,它通常比通用编程语言更为简洁,更易于理解和...
分布式Erlang使用虚拟机(VM)的克隆,使得构建大规模分布式系统变得简单。 ### 7. 错误处理与恢复 Erlang采用“let it crash”哲学,鼓励程序在遇到错误时立即崩溃,而不是尝试恢复。这样可以快速暴露问题,便于...
进程间上下文切换对于Erlang来说仅仅 只是一两个环节,比起C程序的线程切换要高效得多得多了。 使用Erlang来编写分布式应用要简单的多,因为它的分布式机制是透明的:对于程序来说并不知道自己是在分布式运行。
总结来说,这个例子展示了如何在Erlang项目中使用protobuf进行数据序列化和通信。通过定义`.proto`文件,编译生成Erlang模块,然后在代码中使用这些模块,可以轻松地处理结构化数据,并在不同的系统之间交换这些数据...
在本文中,我们将介绍如何使用Erlang开发一个简单的游戏服务器,并讨论其优点和实现细节。 Why Erlang? Erlang是一种轻量级的语言,非常适合开发高性能的服务器应用程序。其主要优点有: * 轻量级process:...
安装过程中,你可能会被询问是否要添加Erlang环境变量到PATH,这个选项建议选中,以便在命令行中可以直接使用erl命令。此外,安装路径的选择也很关键,最好选择一个不会频繁变动的位置,以避免日后升级或重装带来的...
这个是平时工作中使用到的xml处理,使用的是erlang自带的方法加上自已的一个调整使用的,没找到可以选1分的地方
这是Erlang中一个较少使用但功能强大的特性。它有助于代码的模块化和代码复用,因为不同的模块可以实现同一个行为,从而提供相同的行为但具体实现不同的功能。通过将行为和参数化模块结合,可以实现更高层次的抽象和...
这个“erlang资源”包含两本PDF书籍——《Erlang并发编程》和《Erlang入门手册》,它们是深入理解和学习Erlang语言的关键资料。 《Erlang并发编程》这本书可能涵盖了以下知识点: 1. **并发模型**:Erlang的并发...
在使用Erlang进行开发时,你可能需要用到以下工具和概念: - **Rebar3**:Erlang的构建和依赖管理工具,帮助你组织项目结构、编译代码和管理依赖。 - **OTP(Open Telephony Platform)**:Erlang的核心库,包含...
Erlang22是Erlang的第22个主要版本,它包含了对语言特性的改进、性能优化以及一些新的库和工具。 在“erlang22最新下载包”中,提供的文件是`otp_src_22.1`,这表明这是一个源代码包,包含Erlang/OTP(开放电信平台...
版本24.3.4.4是Erlang的一个更新版本,包含了对先前版本的改进和修复。Erlang以其强大的错误恢复能力和轻量级进程(称为Erlang进程)而闻名,这些进程具有内置的并发性和容错性。 在安装Erlang 24.3.4.4之前,首先...
Erlang的安装包分为32位和64位两种,这对应于不同的操作系统架构。32位版本适用于传统的32位操作系统,如Windows XP 32-bit或某些旧版Linux发行版。64位版本则用于64位操作系统,如Windows 10 64-bit、macOS以及...
Erlang是一种面向并发的、函数式编程语言,主要用于构建高度可扩展的、容错性强的分布式系统。在IT行业中,Erlang因其强大的实时性、...了解并熟练掌握这两个工具的安装和使用,对于构建高效、稳定的后台服务至关重要。