经过初步调查与对比,选定以下几种语言作为自己未来一段时间涉猎、学习及使用的主要编程语言。
- 小李飞刀重要的不是刀,而是飞刀的人(选自己或团队最熟悉的)
- 他山之石,可以攻玉(至少要熟悉2种以上的主流编程语言)
- 平衡运行期性能、生产力和社区生态(生产力与社区生态同性能一样重要)
更新说明(2015 Q3)
- 鉴于io.js社区对nodejs可用性和进化上的显著贡献,node.js已足够引起重视
- 移动端开发日趋重要和成熟,将Cordova等h5跨平台开发框架加入到列表中
- Core跨平台和开源程度提升,C#更值得引起重视和深入学习
- Typescript日趋成熟并被Angular 2社区所采纳,值得加入到列表中
- 鉴于spark在机器学习和大数据平台中日趋火爆,scala已足够引起重视
- 鉴于swift已经被广泛使用,值得加到列表中
推荐学习
node.js (javascript)
可玩性好、跨平台、前后端统一,丰富的社区支持
适合面向Web的前后端开发、快速原型
Cordova (javascript+html5)
跨平台移动应用开发,丰富的社区支持
javascript要一统江湖了...
C#
敏捷、优雅、生产力高、跨平台,可与C++和Java社区对接
适合Windows平台上的各类开发,也用于跨平台游戏开发(Unity)
Core在跨平台和开源上更进一步,不知道能否带来惊喜
C++ 11/14
- 静态编译语言,可控、灵活、强大(或许侧重于纯C语言实用性更广)
- 适合追求极致性能的场合,也适合为打好计算机编程基础的学习阶段的开发
- CLang + LLVM,CMake
scala
静态类型语言、多范式、语法不罗嗦(Java太啰嗦)、高性能
与Java社区完美对接,分布式开发友好,spark大数据平台最近很火
Typescript
强类型的增强版的javascript
C#之父Anders的新玩具,已经逐渐成熟并被Angular 2社区采纳,值得把玩
值得了解
golang
目前比较火,有希望在未来很多场合(特别是后端)取代Java和C
不是很喜欢go的某些设计风格,等多了解一些再向大家推荐
swift
苹果开发的新的主力iOS编程语言,LLVM大牛Chris的作品,值得学习
除苹果设备应用开发外暂无其它应用场景
closure
动态类型语言、Lisp方言、很文艺
适用场景不太了解
lua
脚本语言、高性能、语法简单
广泛用于游戏行业作脚本和插件,也可集成在nginx里实现应用层逻辑
erlang
超高并发、高可靠性
有听说过用erlang做高并发(百万连接)服务开发的