设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客

开源软件浅释

2012-2-7 14:08| 发布者: 红黑魂| 查看: 1704| 评论: 0

摘要:   计算机是迄今人类最伟大的发明创造之一,它的应用领域已经从最初的数学计算扩展到社会的各个领域。今天的计算机不仅仅是一种计算工具,还可以是通信设备、娱乐工具、工业控制装置……   从系统科学的观点来看 ...

  计算机是迄今人类最伟大的发明创造之一,它的应用领域已经从最初的数学计算扩展到社会的各个领域。今天的计算机不仅仅是一种计算工具,还可以是通信设备、娱乐工具、工业控制装置……

 

  从系统科学的观点来看,任何计算机都是由硬件系统和软件系统组成的。硬件是计算机技术的物质基础,自计算机发明以来,特别是在80年代和90年代,计算机的硬件性能得到了惊人的提高和改进。仅拿计算机芯片来说,其集成电路的集成规模越来越大,计算机速度越来越快。计算机硬件的生产具有工业时代的一切特征,而且表现得更加突出。例如,芯片运算加快的速度和以月份为单位的时间之间要满足摩尔达定律,硬件生产必须要追求大规模以降低成本,否则就会被残酷的市场淘汰出局。

 

  相比之下,计算机软件生产方式则原始得多,甚至可以说,软件的生产和研制至今仍然停留在手工作坊阶段:一个计算机程序在开发时要经历好几个步骤,而且每一个步骤都要靠人(一个或者多个开发人员、甚至一个或者多个开发小组协作)来操作完成。通俗地讲,就是首先是编写源代码。所谓源代码,就是利用纯文本编写一种特殊的“文章”。无论是源代码是用底层的汇编语言编写,还是用高级语言来设计,或者是用可读性很高的脚本语言来生成,最终都是吩咐计算机按照您的意志干这干那。计算机当然读不懂人编者按写出的源代码,所以我们要把源代码组成的源文件编译或者编写成一条条计算机可以执行的指令,最后机器指令被转换成相应的电信号去驱动计算机完成各种各样的任务。


  在传统的开发模式下,源文件在编译之后形成的文件称为目标文件,最后,利用链接器将一个(或者多个)目标文件生成二进制的可执行文件。如果一切设计都是高质量的话,得到的二进制可执行文件是可以作为商品出售的。

 

  这些步骤对于作坊里一个的技巧娴熟工匠应该是很容易理解的。生产软件的方法在本质上与几个世纪前在手工作坊里制作一双靴子并没有什么两样,我坚信:如果一个中世纪的优秀鞋匠能够活在今世,而且他年轻好学、有机会受到良好的教育和训练的话,他完全可能成为一名优秀的程序开发人员。

 

  与生产皮鞋不同的是,同一个二进制可执行文件可以容易而且便宜地复制出许多个相同的拷贝,而设计精巧的好软件可以以提高的价格卖出数量惊人的拷贝,您现在看到的那些成功的软件公司一本万利的发财秘密就在这里。

 

  但是,这些商业性软件公司向您提供的知识二进制的可执行文件,他们不向您提供程序的源代码,您将无法得知他们的软件是怎样开发出来的(他们当然希望您不知道!)。当然,造诣精湛的软件工程师在一些场合下可能采用反向工程技术破解出程序的源代码来,可是几乎所有的商业性软件公司在销售他们的商业性软件时都禁止您这样做,而且通行的法律一般规定这样的行为是非法的(您要是不相信的话,可以花时间亲自去阅读那些正版软件包中所附带、冗长而且通常是用小字号字体印刷的软件版权许可证条款。)

 

  不过,如果您认为市场上所有的软件都是这样的话,那就是一叶障目,大错特错了。实际上,软件工业界中还存在大量的软件,它们的源代码是公开的,通过阅读这些源代码,您可以清楚地了解原来开发人员的设计思想和程序的详细结构,并且根据您的要求进行改进。现在软件工业界将这类软件称之为“开源软件”。


酷毙
1

雷人

鲜花

鸡蛋

漂亮

刚表态过的朋友 (1 人)

  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部