编程语言的二维分类法
想到一种从两个维度对编程语言进行分类的方法。横向的维度是从语言设计的角度,考虑设计思想、语法语义,按照语言特性的先进程度分为原始、过渡、现代三类。纵向的维度则从抽象层次和问题领域的角度分类。
原始 | 过渡 | 现代 | |
---|---|---|---|
函数式 | 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/ |
bower |
https://bower.io/ | |
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,我也是最近才发现。
构建工具
把源文件组装成可供使用的产品。
C# | MSBuild |
C | make |
Ruby | rake |
JavaScript | jake, grunt, gulp |
Python | Shovel |
Java | Ant |
源代码管理
最推荐的就是Git了,有了这些语言和工具,程序员的幸福指数已大幅提高!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库