族谱网 头条 人物百科

源代码

2020-10-16
出处:族谱网
作者:阿族小谱
浏览:691
转发:0
评论:0
作用源代码主要功用有如下2种作用:生成目标代码,即计算机可以识别的代码。对软件进行说明,即对软件的编写进行说明。为数不少的初学者,甚至少数有经验的程序员,都忽视软件说明的编写;因为这部分虽然不会在生成的程序中直接显示,也不参与编译。但是说明对软件的学习、分享、维护和软件复用都有巨大的好处。因此,书写软件说明在业界被认为是能创造优秀程序的良好习惯,一些公司也硬性规定必须书写。需要指出的是,对于编译语言来说,例如C/C++/Java,源代码的修改不能改变已经生成的目标代码。如果需要目标代码做出相应的修改,必须重新编译。但是目前有许多流行的脚本语言,例如Perl/Python都不需要重新编译,修改完代码可以直接执行看到修改的结果。代码组合源代码作为软件的特殊部分,可能被包含在一个或多个文件中。一个程序不必用同一种格式的源代码书写。例如,一个程序如果有C语言库的支持,那么就可以用C语言;而另一部分...

作用

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

生成目标代码,即计算机可以识别的代码。

对软件进行说明,即对软件的编写进行说明。为数不少的初学者,甚至少数有经验的程序员,都忽视软件说明的编写;因为这部分虽然不会在生成的程序中直接显示,也不参与编译。但是说明对软件的学习、分享、维护和软件复用都有巨大的好处。因此,书写软件说明在业界被认为是能创造优秀程序的良好习惯,一些公司也硬性规定必须书写。

需要指出的是,对于编译语言来说,例如C/C++/Java,源代码的修改不能改变已经生成的目标代码。如果需要目标代码做出相应的修改,必须重新编译。但是目前有许多流行的脚本语言,例如Perl/Python都不需要重新编译,修改完代码可以直接执行看到修改的结果。

代码组合

源代码作为软件的特殊部分,可能被包含在一个或多个文件中。一个程序不必用同一种格式的源代码书写。例如,一个程序如果有C语言库的支持,那么就可以用C语言;而另一部分为了达到比较高的运行效率,则可以用汇编语言编写。就目前的情况而言,很少有需要直接用汇编语言来编写的软件了,因为很多时候编译器生成的优化程序的运行效率已经很好了,更多的时候是用C/C++这样的编译语言来写核心需要速度的部分,用Perl/Python/Lua等这样的动态语言来做核心的扩展,例如界面,管理配置等等。这样既不会损失效率,也增加了程序的灵活性。

较为复杂的软件,一般需要数十种甚至上百种的源代码的参与。为了降低种复杂度,必须引入一种可以描述各个源代码之间联系,并且如何正确编译的系统。在这样的背景下,版本控制系统(VCS)诞生了,并成为研发者对代码修订的必备工具之一。

还有另外一种组合:将为一种平台编写的软件移植到另外一种平台上,例如将Windows下的软件移植到Linux或者MacOS下,专业术语叫做软件移植。一般可以运行在多个平台下的软件叫做跨平台软件。

版权

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

质量

对于计算机而言,并不存在真正意义上的“好”的源代码;好的源程序,首先要是正确的代码。然后是源程序的可维护性,好的程序风格将可以增强代码的可维护性。源代码是否具有可读性,成为代码质量/质量的标准之一。也有人将程序的效率放在可维护性之前。根据程序所要实现的功能和应用领域很多人对源代码质量/质量有着不同的看法。但是普遍达成一致的是质量/质量高的源程序就是正确的程序。

效率

虽然我们可以通过不同的语言来实现计算机的同一功能,但在执行效率上则存在不同。普遍规律是:越高级的语言,其执行效率越低。这也是为什么汇编语言生成的文件比用VB语言生成文件普遍要小的原因。然而,使用低级语言虽可提高运行效率,却会大大降低程序的开发效率,可能导致开发工作变得非常困难,因此多数程序员并不在意高级语言带来的运行效率损失,最多只在关键处使用低级语言。


免责声明:以上内容版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。感谢每一位辛勤著写的作者,感谢每一位的分享。

——— 没有了 ———
编辑:阿族小谱
发表评论
写好了,提交
{{item.label}}
{{commentTotal}}条评论
{{item.userName}}
发布时间:{{item.time}}
{{item.content}}
回复
举报
点击加载更多
打赏作者
“感谢您的打赏,我会更努力的创作”
— 请选择您要打赏的金额 —
{{item.label}}
{{item.label}}
打赏成功!
“感谢您的打赏,我会更努力的创作”
返回

更多文章

更多精彩文章
打赏
私信

推荐阅读

· 自由及开放源代码软件
参见自由及开放源代码软件列表自由软件社区自由软件基金会
· 开放源代码促进会
背景1998年2月,OSI由布鲁斯·斐伦斯及埃里克·斯蒂芬·雷蒙等人创立,启发于当时网景公司为了与微软的IE浏览器竞争,将他们的旗舰产品网景浏览器发布成自由软件。从OSI创立起,雷蒙就担任主席,一直到2005年2月;之后拉斯·尼尔森(英语:RussNelson)继任了一个月,但因为一些争论,他很快辞职;随后迈克尔·蒂曼(英语:MichaelTiemann)担任过渡期的主席。一些对自由软件以及GNU/Linux感兴趣的人,打算用更匹配市场口味的方式来介绍自由软件,试图在商业中找到合适的位置,减少意识形态上的沟壑。这导致了开放源代码(Opensource,简称开源)这个称谓的产生,同时也导致与理查德·斯托曼及其自由软件基金会的分道扬镳。成果1998年到2000年,开放源代码在媒体的暴光率很高,但常被曲解。许多企业开始考虑改用开源的操作系统。OSI发布了一系列微软的内部备忘录:万圣节文件,该文件...
· 自由及开放源代码软件列表
应用领域人工智能一般计算机视觉机器学习计划机器人技术CAD主分类:自由计算机辅助设计软件FreeCAD电子设计自动化(EDA)主分类:自由自动化电子设计软件计算机模拟Blender,用C、C++和Python语言写成的3D模拟程序,包含服饰、发型、形体模拟技术SimPy,基于队列理论事件的模拟器,用Python编写flightgear,适用于Windows、OSX和GNU/Linux的开源航班模拟器财务Adempiere——ERP(企业资源计划)商务包Bitcoin——P2P分散型数字货币BonitaOpenSolution——业务流程管理Compiere——ERP自动化会计解决方案,支持链条、销售清单和销售订单CiviCRM——针对非盈利组织的组织关系管理软件Cyclos——用于小额信贷机构、补充货币(英语:complementarycurrency)系统和时间银行(timebanks)...

关于我们

关注族谱网 微信公众号,每日及时查看相关推荐,订阅互动等。

APP下载

下载族谱APP 微信公众号,每日及时查看
扫一扫添加客服微信