源代码是程序员创建的计算机程序的基本组件。 它可以被人类阅读和理解。 例如,当程序员在Windows记事本中键入一系列C语言语句并将序列保存为文本文件时,该文本文件被称为包含源代码。
源代码和目标代码有时被称为编译的计算机程序的“之前”和“之后”版本。 对于脚本 (非编译或解释)程序语言(如Javascript) ,术语源代码和目标代码不适用,因为只有一种形式的代码。
程序员可以使用文本编辑器 ,可视化编程工具或集成开发环境来创建源代码。 在大型程序开发环境中,通常有管理系统帮助程序员分离和跟踪源代码文件的不同状态和级别。
许可源代码
源代码可以是专有的或开放的 ,许可协议通常反映了这种区别。
例如,当用户安装像Microsoft Office这样的软件套件时,源代码是专有的,并且Microsoft仅允许客户访问软件的已编译可执行文件以及各种可执行文件调用程序功能所需的相关库文件。
相比之下,当用户安装Apache OpenOffice时 ,可以下载和修改其开源软件代码。
通常,Microsoft等专有软件供应商不会与客户共享源代码,原因有两个:保护知识产权并防止客户以可能破坏程序或使其更容易受到攻击的方式更改源代码。 专有软件许可证通常禁止任何发现或修改源代码的尝试。
另一方面,开源软件的设计理念是应该提供源代码,因为许多致力于增强软件的开发人员的协作努力可能有助于使其更加健壮和安全。 用户可以在公共许可证下自由获取开源代码,例如GNU通用公共许可证 。
源代码的目的
除了为软件创建提供基础之外,源代码还有其他重要用途。 例如,如果需要,能够访问源代码的熟练用户可以更容易地定制软件安装。
同时,其他开发人员可以使用源代码为其他操作平台创建类似的程序 – 这项任务在没有编码指令的情况下会更加棘手。
访问源代码还允许程序员通过共享代码用于学习目的或通过将其部分回收用于其他应用程序来为其社区做出贡献。
组织源代码
即使是没有编程背景的人也可以阅读上面的C编程源代码,并了解该程序的目标是打印“Hello World”字样。 但是,为了执行这些指令 ,必须首先将此源代码翻译成计算机处理器可以理解的机器语言 ; 这是一个称为编译器的特殊解释程序的工作 – 在本例中是一个C编译器。程序员编译源代码后,包含结果输出的文件称为目标代码。
目标代码主要由数字1和零组成,不能被人类轻易阅读或理解。 然后可以“链接”目标代码以创建运行以执行特定程序功能的可执行文件 。
源代码管理系统可以帮助程序员更好地协作开发源代码; 例如,防止一个编码人员无意中覆盖另一个人的工作。
源代码的历史
确定源代码的历史起点是一种主观的 – 难以捉摸的 – 练习。 第一个软件是在20世纪40年代用二进制代码编写的,因此根据一个人的观点,这些程序可能是源代码的初始样本。我们今天认识到的最早的源代码示例之一是由计算机科学的早期先驱Tom Kilburn编写的。Kilburn在1948年创建了第一个在计算机内存中以电子方式存储的成功数字程序(该软件解决了数学方程式)。
在20世纪50年代和60年代,源代码通常由创建程序的公司免费提供。 随着不断发展的计算机公司扩展软件的使用,源代码变得更加丰富和受到追捧。 在互联网时代之前计算杂志通常会在其页面中打印源代码,读者需要为自己的用途重新键入字符的代码字符。 后来, 软盘降低了电子共享源代码的价格,然后互联网进一步删除了这些障碍。
本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:dandanxi6@qq.com