构建的抽象

phodal at 
最近,在研究 Gradle 和 Java 相关构建的实现,让我对不同编程语言的应用构建燃起了一点点的兴趣。不同编程语言编写的应用,在它运行的状态下,会有不同的运行机制,有的是以二进制的方式运行的,有运行在编程语言的虚拟机之上。而构建所做的事情呢,就是将那些我们写给人类看的代码,转换为机器/程序能看懂的代码。所以,构建的本质就是翻译(~~复读机~~)。PS:本文旨在尝试性的整理我所了解的构建知识。部分内容限于对某一些编程语言的理解有限,并非非常准确。如有偏颇之此,希望大家指正。引子 1:从 Java 的编译说起绝大多数程序员都是从 hello, world! 开始自己复制、粘贴的人生生涯。对于那……