发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 CQRS 扩展性 并发编程 事件溯源 分布式 SOA

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

                   
2016-12-01 15:42
赞助商链接

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

语言平台      swift语言      RUST语言      go语言     

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系反馈 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com