首页 > 代码库 > 编程语言的二维分类法
编程语言的二维分类法
想到一种从两个维度对编程语言进行分类的方法。横向的维度是从语言设计的角度,考虑设计思想、语法语义,按照语言特性的先进程度分为原始、过渡、现代三类。纵向的维度则从抽象层次和问题领域的角度分类。
原始 | 过渡 | 现代 | |
---|---|---|---|
函数式 | Lisp | Scheme、OCaml | Haskell |
网页脚本 | JavaScript | CoffeeScript、TypeScript | Dart |
脚本 | Basic | Lua、Python | Ruby |
高级 | Objective-C | Java、C# | Swift |
底层 | C | C++、D | Go |
汇编 | MASM | FASM、Parrot | LLVM |
我这个分类不以囊括绝大多数的编程语言为目的,只针对典型的有代表性的语言,而且选入这个表格的还综合考虑了实现方式、运行效率和流行程度三个方面。
可以看到编程语言在不断进化,让编程语言作为一种工具较少地占用大脑资源,提高可读性和开发效率,做更多的事情。让人们扔掉落后的语言,拥抱先进的语言是需要时间的。
为了提高编程效率,开发工具也取得了巨大的进步,我们有三大利器:集成开发环境(IDE)、包管理系统(PMS)和源代码管理系统(SCM)。
IDE推荐
C# | Visual Studio |
Java | IntelliJ IDEA |
Ruby | RubyMine |
Go | LiteIDE |
Dart | DartEditor |
Swift | Xcode |
包管理系统列表
命令 | 网站 | |
---|---|---|
Ruby | gem | http://rubygems.org/ |
Python | pip | https://pip.pypa.io/ |
JavaScript | npm | https://www.npmjs.org/ |
C# | NuGet | http://www.nuget.org/ |
Dart | pub | http://pub.dartlang.org/ |
CentOS | yum | http://yum.baseurl.org/ |
Mac OS | brew | http://brew.sh/ |
Windows | choco | http://chocolatey.org/ |
哈哈,估计很多人还不知道Chocolatey,我也是最近才发现。
源代码管理最推荐的就是Git了,有了这些语言和工具,程序员的幸福指数已大幅提高!
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。