源代码

源代码主要功用有如下2种作用:

生成目标代码,即 计算机 可以识别的代码。
软件 进行说明,即对软件的编写进行说明。为数不少的初学者,甚至少数有经验的 程序员 都忽视 软件 说明的编写,因为这部分虽然不会在生成的程序中直接显示,也不参与编译。但是说明对 软件 的学习、分享、维护和 软件复用 都有巨大的好处。因此,书写 软件 说明在业界被认为是能创造优秀 程序 的良好习惯,一些公司也硬性规定必须书写。
需要指出的是, 源代码 的修改不能改变已经生成的 目标代码 。如果需要 目标代码 做出相应的修改,必须重新编译。

代码组合

源代码 作为 软件 的特殊部分,可能被包含在一个或多个文件中。一个 程序 不必用同一种格式的 源代码 书写。例如,一个 程序 如果有 C语言 库的支持,那么就可以用 C语言 ;而另一部分为了达到比较高的运行效率,则可以用 汇编语言 编写。
较为复杂的 软件 ,一般需要数十种甚至上百种的 源代码 的参与。为了降低种复杂度,必须引入一种可以描述各个 源代码 之间联系,并且如 何正确编译的系统。在这样的背景下,修订控制系统(RCS)诞生了,并成为研发者对代码修订的必备工具之一。
还有另外一种组合: 源代码 的编写和编译分 别在不同的平台上实现,专业术语叫做 软件 移植。

版权

如果按照 源代码 类型区分软 件,通常被分为两类:自由 软件 和非自由 软件 。自由 软件 一般是不仅可以免费得到,而且公开源代 码;相对应地,非自由软件则是不公开 源代码 。所有一切通过非正常手段获得非自由 软件 源代码 的行为都将被视为非法。

质量

对于 计算机 而言,并不存在真正意义上的“好”的 源代码 ;然而作为一个人,书写习惯的好坏将决定源代码的好坏。 源代码 是否具有可读性,是判断其好坏的重要标准。 软件 文档则是表明可读性的关键。

效率

虽然我们可以通过不同的语言来实现 计算机 的同一功能,但在执行效率上则存在不同。普遍规律是:越高级的语言,其执行效率越低。这也是为什么 汇编语言 生成的文件比用 VB语言 生成文件普遍要小的原因。

开放源代码

您购买或下载的大多数 软件 只提供已编译的可运行版本。“已编译”意味着开发人员创建的实际 程序 代码(称为 源代码 )已经由一个称为 编译器 的特殊 程序 进行过处理,该程序将源代码转换为 计算机 可以理解的格式(有关编译器的详细信息,请参见C语言入门教程)。修改大多数 应用程序 的已编译版本都是极其困难的,人们几乎不可能知道开发人员究竟是如何创建程序的各个部分的。大多数商业 软件 制造商都将这一点视为有利条件,以防止其他公司复制自己的代码并将其用在竞争产品中,同时可以控制其特定产品具有的质量和功能。
开放源代码软件 恰恰相反。 源代码 随已编译的版本一起提供,而且事实上鼓励人们修改或定制。支持开放源代码概念的 软件开发 人员相信,通过允许感兴趣的人修改源代码, 应用程序 将会更加完善,并且在很长时间内不会出现错误。
软件开发 行业所定义的 开放源代码软件 必须满足一定的条件:
  1. 程序必须免费发布(但可以是出售的软件包中的一部分,例如在下面的例子中,Red Hat对Linux就是这样做的)。
  2. 必须提供源代码。
  3. 必须允许任何人修改源代码。
  4. 可以重新发布修改后的版本。
  5. 许可证不得要求排除其他软件或干预其他软件的运行。
下面让我们看一个 开放源代码软件 的真实例子。1991年,芬兰赫尔辛基大学的学生 李纳斯·托沃兹 (Linus Torvalds)基于Unix的衍生版本Minix开发了一个新的 操作系统 ,并称之为Linux。托沃兹使用 GNU通用公共许可证 (它为 开放源代码软件 提供了很好的法律定义)发布了0.02版本的Linux。全球各地的人下载并开始使用Linux。其中,许多用户是独立的 程序员 ,他们对托沃兹提供的 源代码 进行了修改。在接下来的3年中,托沃兹从其他 程序员 那里收到了这些修改后的版本,并将许多改动结合到基础版本中,于1994年发布了Linux的1.0版。
那些想要使用 开放源代码软件 的最终用户的一个共同顾虑,是这些软件缺乏质量担保和技术支持。因为该 软件 的许可证鼓励修改和定制,所以几乎无法提供支持。这正是1994年成立的Red Hat Software创建“Official Red Hat Linux”并销售这一通常是“免费”的 软件 的原因。Red Hat向 软件包 添加的主要价值是质量担保和技术支持。对于大多数企业而言,技术支持承诺成为促使其购买Linux而不是免费下载它的一个关键因素。除了Red Hat以外,还有其他几家公司将Linux打包(通常带有其他 软件 )以进行转售。
除了Linux以外,Mozilla( Netscape浏览器 核心)、Apache( Web服务 器)、PERL(Web 脚本语言 )和 PNG(图形 文件格式 )都是非常受欢迎的基于 开放源代码 的软件。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值