1 Dart是个好语言
自己在几年前就关注了Dart,主要原因就是我实在是太讨厌JavaScript了.作为一名程序员,手上一点都不沾JS在这个时代似乎有点不现实, 于是我就在找寻JS替代这条不归路上渐行渐远.
这货后来似乎遇到了一个打击,Chrome不打算集成dart的vm.当然,这个倒也不影响web上继续,因为这货本来就支持编译到JavaScript. 当然,感觉这伙一直也就这么半死不活的. 这几天决定给自己写个玩具玩玩. 于是就想到了这货. 打开一看, 嘿嘿嘿, 你这浓眉大眼的也开始闷声发大财了: flutter用的是dart. 再看看官网的几个方向: Web前端, Server端, 移动端, 嵌入式端. 这盘子开的有点大.
1.1 为毛好
因为我觉得好, 因为好就是个主观的看法. 这世界上有很多东西无所谓好坏, 无所谓对错, 对我胃口就可以了.
- 类C语言语法
无需陡峭的上手, 语法层面学习成本几近于零. 文档和教程都还算丰富.
- 标准库支持
本身有良好的标准库, 日常开发, 自己实现数据结构的需求几近于零.
- 类型系统与自动推断
有类型系统, 从我个人的尿性来看, 这是多么好的一个特性. 更加好的是, 有自动的类型推断, 这还有什么好说的. 编译器算是能帮你做的都往死里给你做了.
- OOP,泛型, traits
虽说我对OOP没太多感情, 但是泛型这个东西我个人感情上很喜欢啊. 还有个traits(虽然我一直就不知道traits是个毛东西,反正我就一直当是interface).
- 可用的DE
官方提供了开发环境支持, 包括, 算了够多了, 懒得写. 我用的是atom写dart, 插件工具我只能说是好好好. 虽然官网上说了atom插件不是官方支持, 但是我感觉这一定是官网太谦虚, 怎么看atom上的插件也是官方支持的水准.
- 包管理系统
有个pub管理系统, 虽说看起来呆呆的, 我用起来也是一头雾水, 但是起码管用, pub可以自己安装项目模板工具, 新建项目也很简单(虽然我只是用来生成项目文件, 装下依赖, 最后还是自己亲手动一下项目结构).
- 全软件栈&多平台支持
与NodeJS无异, 这对我等恨JS堪比国恨家仇的人来说, 简直了. 另外, Flutter要是能成了, 直接写iOS和Android应用.
1.2 Cons
剩下的问题, 我觉得, 都不是问题, 没错.
1.3 总结
- Dart是个好学校, 好语言.
- 没有标新立异的地方, 语言核心不大, 语法糖足够, 生产率能保证. 是个好劳模.
- 开发环境灵活多样, 按需选择.
- 软件框架可有可无, 项目范围大小通吃.
- 性能不差, 我看了看benchmark, 应该是Server端, 反正不差. 和NodeJS也算不相上下, NodeJS都能用得, Dart还能用不得?
2 Atom是个好编辑器
21世纪的编辑器, 还算是配得上这个名号的. 我猜测, 应该编辑器的架构组织的很好, 所以插件编写上生产率可观.
Github在后面支持着, 可以保证未来的用户流入速度. Atom的用户只会越来越多, 因为新的程序员都会从Github上开始自己的编码历险. 而且是商业公司支持, 而非完全的社区支持. 质量有保证, 维护有保证.
软件这个东西和开淘宝店类似, 有入口->有流量->有用户->可变现->有财力. 马太效应能上天, 自从我知道同学的堂弟开淘宝店, 每年三个月, 顶我干三年, 我什么都要用淘宝店来比比看.
那么, 还剩下一个问题, Atom用CSS和JS配置. 不过反正我也不写插件, 眼不见为净.
综上, Atom是个好编辑器. 替代Vim和Emacs, 指年可待. 谁说指日可待的, 那就是不客观.