现代语言Go、Rust、Swift和Dart的比较

                   
banq 16-12-01

本文是作者在使用Go、Rust、Swift和Dart四种语言编写email语法的检查功能以后的总结:

Go
Go作为一种简单的语言,非常适合构建网络应用程序,这是正确的,如果你不需要其他功能,如泛型。

优点
1.AOT编译器
2.快速编译
3.并发支持
4.丰富的标准库
5.工具gofmt格式化代码
6.编译后的可执行文件可快速执行和低内存消耗

缺点
1.没有泛型
2.没有依赖管理的官方包管理器

快速帮助(在快速帮助中是用0到3的评分来表示是否足够快得到帮助。)
IRC:2
Gitter:0
Slack(gophers):3

用法
它是网络的理想语言,因为标准库包含所有这些任务所需要的,至少在Rust或Swift拥有良好的网络支持之前是这样。

GUI
有一个名为一个实验项目Shiny,我不知道它是否适合移动或桌面应用程序。

Rust
Rust绝对是一种伟大的语言。

优点
1.AOT编译器
2.没有垃圾收集器
3.内存安全默认
4.编译的可执行文件性能类似于C ++
5.具有依赖关系管理的包管理器
6.Packages host
7.更好的社区

缺点
1.Learning of lifetimes and borrowing
2.错误建语法建立是冗长

快速帮助
IRC:3
Gitter:2
Slack:0

用法
底层级别软件,如内核模块和嵌入式软件,以及库包。

GUI
Conrod :一个易于使用的,2D GUI库。


Dart
JavaScript的替代品,除非Swift可以转换为JS。

作为一种现代语言,它看起来像一种旧语言,因为它使用类似于Java的语法;他们的设计师过于保守。 虽然语法可能在与Dart 2.0变得现代化

Dart的大问题是,一旦有其他语言(具有更好的语法),可以用于在移动平台开发,然后Dart将不再有用了。 此外,使用WebASM,开发人员可以使用Rust或Swift等语言编写Web应用程序。

注意:我无法将包上传到Pub包管理器,因为您需要一个Google帐户,我没有(因为我不会给我的手机号码注册一个)。

优点
1.比JavaScript好
2.异步/等待支持
3.有用的方法级联
4.大代码分析器(由Visual Studio Code,Webstorm,Atom,DartPad使用)
5.工具dartfmt格式化代码
6.具有依赖关系管理的包管理器
7.Packages host

缺点
1.在控制流语句中使用圆括号
2.行终止符的分号的使用
3.错误构建的语法太详细

快速帮助
IRC:0
Gitter:1
Slack(dartlang):3

用法
等同于JavaScript框架 Angular 和 Polymer 。

GUI
flutter :另类打造的Android和iOS移动应用。

Swift
Swift有一个伟大的语法,但由于长名称它可能冗长。

Swift的一个很大的问题是没有一个Package host,以便能够搜索不同于macOS的系统的有效包。

注意:在测试中有一个问题,我无法解决。

优点
1.AOT编译器
2.伟大的语法
3.用于构建和处理错误的更好的语法
4.IBM支持,特别是对于服务器端开发

缺点
1.长关键字的使用,如Character或public
2.像长的函数名称的使用characters
3.在索引中使用String类型是太详细
4.核心库中质量较差
5.在Visual Studio代码中更糟的支持

快速帮助
IRC:0
Gitter:0
Slack:0

用法
苹果世界的应用程序
服务器API准备就绪,可网络编程


结论
对于网络,要使用Go。
对于前端,使用Dart,并且可能是在iOS和Android中开发都不错。
对于多平台应用程序,要使用可以在多个系统和平台中共享的语言(如Rust)。

Modern languages · Jonas Me

几种语言的电子邮件格式检查库包下载:这里
[该贴被banq于2016-12-01 15:43修改过]
[该贴被banq于2016-12-01 18:00修改过]