编程语言的二维分类法

想到一种从两个维度对编程语言进行分类的方法。横向的维度是从语言设计的角度,考虑设计思想、语法语义,按照语言特性的先进程度分为原始、过渡、现代三类。纵向的维度则从抽象层次和问题领域的角度分类。

 原始过渡现代
函数式 Lisp Scheme、OCaml Haskell
网页脚本 JavaScript CoffeeScriptTypeScript Dart
脚本 Basic LuaPython Ruby
高级 Objective-C Java、C# Swift
底层 C C++、D Go
汇编 MASM FASMParrot LLVM

我这个分类不以囊括绝大多数的编程语言为目的,只针对典型的有代表性的语言,而且选入这个表格的还综合考虑了实现方式、运行效率和流行程度三个方面。

可以看到编程语言在不断进化,让编程语言作为一种工具较少地占用大脑资源,提高可读性和开发效率,做更多的事情。让人们扔掉落后的语言,拥抱先进的语言是需要时间的。

为了提高编程效率,开发工具也取得了巨大的进步,我们有三大利器:集成开发环境(IDE)、包管理系统(PMS)和源代码管理系统(SCM)。

IDE推荐

C# Visual Studio
Java IntelliJ IDEA
Ruby RubyMine
Go LiteIDE
Dart DartEditor
Swift Xcode

包管理系统列表

哈哈,估计很多人还不知道Chocolatey,我也是最近才发现。

构建工具

把源文件组装成可供使用的产品。

C# MSBuild
C make
Ruby rake
JavaScript jake, grunt, gulp
Python Shovel
Java Ant

源代码管理

最推荐的就是Git了,有了这些语言和工具,程序员的幸福指数已大幅提高!

posted @   刘俊峰  阅读(1287)  评论(1)    收藏  举报
编辑推荐:
· 如何通过向量化技术比较两段文本是否相似?
· 35+程序员的转型之路:经济寒冬中的希望与策略
· JavaScript中如何遍历对象?
· 领域模型应用
· 记一次 ADL 导致的 C++ 代码编译错误
阅读排行:
· 独立项目运营一周年经验分享
· 一款开源免费、通用的 WPF 主题控件包
· .NET 9 + React 开发的企业级后台权限管理系统,文档齐全,轻松上手
· 神解释:为什么程序员怕改需求?
· 【定时任务核心】究竟是谁在负责盯着时间,并在恰当时机触发任务?
点击右上角即可分享
微信分享提示