提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|行业资讯|编辑:郝浩|2015-03-04 15:08:25.000|阅读 912 次
概述:某些Ruby、Python和Javascript的新手程序员常常抱怨这些语言太低端,感觉他们没有学习到那些真正“高端”的编程语言。本文将详细讨论“高端”的编程语言是否真的高端?
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
我看到了许多刚接触Ruby、Python和Javascript的新手程序员抱怨这些语言太低端,就好像是在以某种方式欺骗系统一样。他们认为他们没有学习到那些真正“高端”的编程语言。某些语言是否真比另外一些语言更高端?我们一起来研究一下。
众多的编程语言在方方面面都有所不同。
但从低级的机器语言到我们大多数人使用的高级语言,都离不开电频这项技术。低使用性的机器语言并没有表现得比那些高级代码更高端或者先进。低使用性是众多语言设计者在完成特定设计目标的长期选择结果。
让我们继续深入,这里有一个用机器语言编程的例子:
这段代码一旦被数字处理器解析为电子信号后就能直接操作数字传感器和电动机了。在#之后的那些人可读懂的东西会被电脑忽略——它们之所以被程序员放在这里是为了让其他人读到这段代码后能知道其究竟在干什么。感谢上帝,我们不用必须像这样来编写代码。
程序要控制电脑的话最后都会转变成机器语言的。但是我们创造了编程语言用来取代那些直接用二进制、十六进制或者十进制代码来编写的机器语言(如早期的计算机科学家像阿兰·图灵和他朋友所做的那样),它帮助我们以更快更容易的方式将自己的想法转化成机器指令。有许许多多种方式都可以生成你在上面所看到的那段机器语言,因此就会有许许多多种编程语言,但是它们全部都会在某处转化为电频频谱。
从这个角度来看,语言的选择其实就是对让电脑帮助你生成机器语言的方式的选择。那么,高端和不高端,区分的依据何在?
今天所有的程序语言都是人们为了完成某种用途而设计出来的。这种理解是至关重要的,因为它们的设计目标决定了当程序通过它们运行时用户将得到的体验。
让我们通过设计目标来对比两种编程语言C和Ruby。
虽然最终都会生成机器语言,但不同的设计目标使这些语言的使用体验彻底不同。由于C语言结构更接近于机器的实际工作,因此它的机器代码在计算机执行时会更加高效、快速。这里有一个记录了各种可视化程序语言在处理某个简单文本的速度的图表,随着文本尺寸大小的变化,程序语言在处理速度上发生了变化:(纵轴为处理花费的时间,横轴为文本的大小)
由于执行时间很容易衡量(人们喜欢优化他们能够衡量的东西),象C一样“快速”的语言在人们精神层面上就会认为是高端的编程语言。
这其实是虚假的,这与不精确的速度测量密切相关。
C和那些底层语言在计算机硬件迟缓以及系统资源受限的时代是不可或缺的。毁灭战士、雷神之锤以及其它的第一代3D游戏的出现才突破了只能使用注重机器运行速度的语言的限制。
然而在今天,相对于我们在计算机上需要的大部分东西,计算能力是廉价和充足的。在软件开发中真正受限的是开发人员的时间和精力。象Ruby那样的语言可以让程序员用更少的代码做更多的事情,使开发更加快速。增加开发速度意味着可以更快的找出你所做的是否是真正的需求,可以更加简单的添加用户要求的功能以及可以使用更少的开发人员更轻松的完成项目。
下图是多种常见语言的代码复杂度排列:(黑色短横线为平均复杂度,红色字为最热门的一些语言,黑色字为较冷门的一些语言)
这张图可以让我们清楚知道哪些语言学起来更简单,帮助初学者找到易于开始的位置,另外这也可以解释为什么有些人认为某些语言很低端。到这里,你认为哪种方法更“高端”呢?
这是一个错误的命题,因为问题的答案取决于你的需要。科学家、统计学家和数据分析师仍然需要一门象C语言那样注重机器运行速度的语言来帮助处理他们的工作。大多数网络开发者需要象Ruby或者Python那样注重开发速度的语言来快速满足他们的业务和客户目标。在每个情景中,“最好”的语言都是不同的。
需求的多样性支撑了一个在不同设计目标下,程序语言多元化的重要性的强力论证。程序设计中永远不会有一门人人都采用的世界语,甚至是机器语言也非潜在的通用语言,因为每台电脑的架构都采用了略有不同的机器语言。对于对软件有不同需求的我们来说,这是一件好事。
在新手程序员阅读到这篇文章的时候:我希望它可以帮助你对所学习和所书写的语言代码有自己独立的认识。对于C语言,你需要知道它更贴近于机器语言而不需要了解它是看起来更“高端”的语言。我们创造编程语言的目的是为了减轻自己的负担,能够更加快速方便的创造想要的东西。
如果你要选择学习C语言,你选择的目的应该是它擅长对Arduino和嵌入式单片机编程或者是它能够快速编译机器算法,而不是你认为它比你已经学过的语言更加“高端”。 让你想从事的项目来决定你要选择学习的语言。因为毕竟它们都只是机器语言中的其中一种方言。
我所认识的最高端的那些程序员从从事编程工作开始就爱做一些很浅显的事(他们中的很多人如今仍然保持这种习惯)。他们会自己做一些很简单的游戏,或者做一些搜索和可视化的实验。他们所做的每件事情都来自于他们对此的兴趣,编码对他们来说就像是在玩耍一般,这非常的有趣。
不断重复对相关问题的反馈是掌握任何技能的关键。无论你选择的语言或项目是什么,请确保花费大量时间来学习它并听从指导者的建议反馈。代码语言产生的真正目的是为了帮助别人建立或者完善那些很棒的东西。无论什么语言,你的选择应永远是能够为你提供最快捷、最有效帮助的那一种。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn
通过提供强大的3D CAD数据访问工具并适用于桌面、移动和Web的高级环境3D可视化发动机,HOOPS在提升造船设计和制造流程的效率方面发挥了重要作用。
HOOPS Luminate在汽车行业中的应用具有广泛的潜力和深远的影响。它通过提供高效的3D可视化、虚拟装配与拆解、性能分析、客户定制等功能,帮助汽车制造商在设计、生产和销售过程中提升效率、降低成本并提高产品质量。
在不断发展的软件开发世界中,使工具和框架与最新的平台版本保持同步至关重要,欢迎查阅~
全球航运业对国际贸易至关重要,全球 90% 以上的商品通过海运运输。准确监控和控制这些集装箱的移动对于维持高效的供应链至关重要。手动输入集装箱号码是这一程序的关键部分,它带来了相当大的挑战,例如人为错误和效率低下。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@pclwef.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢