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

16-12-01 banq
                   

本文是作者在使用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修改过]

                   

2