1.去:
Go 或 Golang 是一种静态类型(即编译前需要定义变量的数据类型)的开源面向过程的编程语言。它由 Robert Griesemer、Rob Pike 和 Ken Thompson 在 Google 设计,并于 2009 年 11 月 10 日发布。该语言是使用 C 语言设计的,因此该语言的语法与 C 语言非常相似。 Go 也比其他 C 类型语言更容易学习。优步、DailyMotion、Medium、Soundcloud、Docker、英特尔、百度、Twitch、谷歌等科技巨头都在使用 Go 语言。它主要用于创建静态网站、网页抓取、服务器开发和设计后端。然而,由于语言较慢且冗长,GO 仍然不是很流行。它在开源社区中非常受欢迎。
好处 :
- Go 非常简单,而且它是由 C 开发的,因此更容易学习,尤其是对于那些来自 C\C++ 背景的人。
- GO 被编译成机器码,因此速度非常快,生成的二进制文件也非常小。
- GO 使用 goroutines 支持并发。这意味着不是按顺序线性处理所有程序,而是并行执行任务并相应地执行程序。
- GO 具有内存安全性,这意味着 Go 没有悬空指针或数据泄漏的风险。 Go 非常安全。
- Go 的标准库具有大部分必需的功能,可以使用户免于导入库的麻烦。
- GO 得到了科技巨头谷歌的支持,谷歌也在使用 GO,这足以假设它不会很快消失。
- 程序可以直接在网络上编辑和运行。
缺点:
- GO 没有泛型。这降低了代码的可重用性。
- 对 GO 的库支持非常弱。这是因为语言非常年轻。
- GO 没有 GUI 库。
- GO 中的依赖管理器有很多问题。
2.二郎:
ERLANG 是一种函数式开源编程语言,由 Joe Armstrong、Robert Virding 和 Mike Williams 于 1986 年在爱立信计算机科学实验室开发。它是在 Apache 许可证 2.0 下发布的。 Erlang 用于开发可大规模扩展的实时和高度可靠的系统。 Erlang 已被 Whatsapp、国民健康服务 (NHS)、AdRoll、Vocalink 万事达卡公司、高盛、任天堂、bet365、IBM Cloudant 等成功使用。
好处 :
- Erlang 是一种非常简单的语言,功能也很容易理解。
- Erlang 具有并发性。
- Erlang 有垃圾收集功能。
- Erlang 有最受欢迎的热重载功能。
- Erlang 的标准库具有易于使用的功能,易于实现的同时也很优雅。
- Erlang 是一种动态语言,所以我们不必在编译前定义数据类型。
- Erlang 的社区基础非常强大,规模小,而且以简单为导向。
缺点:
- 设置 Erlang 可能很难理解。
- 引入容器后,不再使用 Erlang 的热重载功能。
- Erlang 的动态排版使其容易出错。
Go 和 Erlang 的区别:
S.NO. |
GO |
ERLANG |
01. | Go is a statically typed procedural-oriented programming language developed at Google. | Erlang is a dynamically typed functional programming language developed at Ericsson labs. |
02. | GO is preferred by programmers for the simplicity of the language. | Erlang is preferred by the programmers as it is real-time and supports memory-distribution. |
03. | Concurrency in GO is better comparatively. | Concurrency in GO is better comparatively. Concurrency in Erlang is inferior to GO. |
04. | GO isn’t preferred for fault tolerance. | Erlang is preferred for its fault tolerance |
05. | GO is a relatively young language hence the community is very small. | Erlang is backed by a nice community for more than 20 years. |
06. | GO is easy to learn. Erlang has bigger lines of code. | Erlang has bigger lines of code. |
07. | GO is preferred for its speed and syntax. | Erlang is slower than GO. |
08. | GO is used for server development. | GO is used for server development. Erlang is used for developing scalable systems. |
09. | GO is portable and the binaries generated are small. | Erlang is not portable and the size is large. |