title: 我不明白什么是源代码 
desc: 我不明白什么是源
answer:    源代码（也称源程序），是指一系列人类可读的计算机语言指令。
  
  在现代程序语言中，源代码可以是以书籍或者磁带的形式出现，但最为常用的格式是文本文件，这种典型格式的目的是为了编译出计算机程序。计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令，这种过程叫做编译，通过编译器完成。
  作用
  源代码主要功用有如下2种作用：
  
  生成目标代码，即计算机可以识别的代码。 
  对进行说明，即对软件的编写进行说明。为数不少的初学者，甚至少数有经验的程序员都忽视软件说明的编写，因为这部分虽然不会在生成的程序中直接显示，也不参与编译。但是说明对软件的学习、分享、维护和软件复用都有巨大的好处。因此，书写软件说明在业界被认为是能创造优秀程序的良好习惯，一些公司也硬性规定必须书写。 
  需要指出的是，源代码的修改不能改变已经生成的目标代码。如果需要目标代码做出相应的修改，必须重新编译。
  
  代码组合
  源代码作为软件的特殊部分，可能被包含在一个或多个文件中。一个程序不必用同一种格式的源代码书写。例如，一个程序如果有C语言库的支持，那么就可以用C语言；而另一部分为了达到比较高的运行效率，则可以用汇编语言编写。
  
  较为复杂的软件，一般需要数十种甚至上百种的源代码的参与。为了降低种复杂度，必须引入一种可以描述各个源代码之间联系，并且如何正确编译的系统。在这样的背景下，修订控制系统（RCS）诞生了，并成为研发者对代码修订的必备工具之一。
  
  还有另外一种组合：源代码的编写和编译分别在不同的平台上实现，专业术语叫做软件移植。
  
  版权
  如果按照源代码类型区分软件，通常被分为两类：自由软件和非自由软件。自由软件一般是不仅可以免费得到，而且公开源代码；相对应地，非自由软件则是不公开源代码。所有一切通过非正常手段获得非自由软件源代码的行为都将被视为非法。
  
  质量
  对于计算机而言，并不存在真正意义上的“好”的源代码；然而作为一个人，好的书写习惯将决定源代码的好坏。源代码是否具有可读性，成为好坏的重要标准。软件文档则是表明可读性的关键。
  
  效率
  虽然我们可以通过不同的语言来实现计算机的同一功能，但在执行效率上则存在不同。普遍规律是：越高级的语言，其执行效率越低。这也是为什么汇编语言生成的文件比用VB语言生成文件普遍要小的原因。
  