不要和一种编程语言厮守终生:为工作正确选择

本文摘要:我们程序员在著手一个项目时,必须做到的关键要求之一就是自由选择一种语言,或一组语言,用作实行该系统。这一要求不仅不会影响系统的构建,也不会影响设计。例如,我们应当用于面向对象的语言还是过程语言?自由选择什么语言对项目以及作为项目一部分的程序的生命周期具有深远影响的影响,很多次,我们基于一些十分反复无常的因素,没思维太多就去中选语言:这语言是我经常性用来构建这类系统的;这语言我理解得最明了;这是我最喜欢的语言,我很享用于用这种语言编程;等等。

kok官方体育官网下载

我们程序员在著手一个项目时,必须做到的关键要求之一就是自由选择一种语言,或一组语言,用作实行该系统。这一要求不仅不会影响系统的构建,也不会影响设计。例如,我们应当用于面向对象的语言还是过程语言?自由选择什么语言对项目以及作为项目一部分的程序的生命周期具有深远影响的影响,很多次,我们基于一些十分反复无常的因素,没思维太多就去中选语言:这语言是我经常性用来构建这类系统的;这语言我理解得最明了;这是我最喜欢的语言,我很享用于用这种语言编程;等等。

  既然这个要求不会造成深刻印象而将来的结果,那么我们是不是在做到这个决择时应当更为稳健?很多时候,我们不会盲目地偏颇于我们自由选择的语言。而且,有时候我们之所以不讨厌自由选择这种语言的原因有可能正是为什么我们要自由选择那种语言的原因。

  如果我们需要放松胸怀,真诚地对待自己持有人的种族主义,那么我们就可以减低一些类似于在翻新时硬要将方钉钉入圆形孔的伤痛。虽然我们没什么秘诀来为项目选择极致语言,但还是可以遵循一些原则,协助我们作出一个更佳,更加适合的语言选择。  没极致的语言  这一点对任何人,甚至是新手而言,都是在意料之中的,并且我们很多人都不愿否认,当然,这种语言并不是极致的语言,但与此同时,我们很多人还是不会说道,这语言是最差的编程语言。说道一种语言是项目的最差语言的关键是项目的背景,也就是说,最差的语言只不存在于一定的范围内。

kok官方体育

这就是我们的第一条原则:  没极致的语言:每一种语言都有它的优点和缺点。  例如,许多一般来说用于运营时语言,如Java或Python的开发人员,声称C或C++令人透不过气来,不会因为注目例如内存管理这类低层次的细节,或关心编译器时类型检查的严苛粒度,而助长分置放开发人员的职责。这是事实,只要我们正在研发的项目不注目看起来荒谬的任务,如内存管理或再次发生在单一循环中的copy-assignment的数量。

  忽略,如果我们工作在一个项目,或项目的一部分,那么对于代码应当如何高效以及程序的关键性安全性的种族主义市场需求是自然而然的,这些看起来繁复的细节有可能正是我们正在找寻的粒度水平。在这种新的背景下,Java或Python的运营时性质或许过分漠不关心或过分心不在焉。忽略,我们期望当内存分配和获释的时候,需要严格控制有多少move-assignment和copy-assignment被继续执行,并在编译器时捕猎尽量多的错误,而不是让错误渗透到运营时(展现出为运营时出现异常)。

  虽然在理论上没极致的语言这一点听得一起是显而易见的,但是我们作为开发人员的不道德一般来说不会背离这个概念:我们说道我们告诉我们最喜欢的语言是不极致的,但我们还是之后对我们研发的项目用于这种语言,不管它否合适。此外,当其他的开发人员批评我们自由选择的语言时,我们不会极力保卫我们的自由选择,而不不愿从他或她的驳斥中看到事实的真凶。请求忘记:每一种语言都有它的优点和缺点。

理解你掌控的语言的优点和缺点,然后根据实际情况作出自由选择。  你不讨厌一种语言的原因有可能就是你应当用于它的原因  这或许违背直觉,但有的时候,我们之所以不讨厌一门语言有可能正是用于某种语言的原因。还是上面的例子,在我作为一个C++开发人员的经验中,很多时候因为有那么多有所不同的概念要追踪(内存管理和对象寿命时间,C++编程三原则等),实在太已完成项目的一个非常简单功能都会显得繁复致使。

kok官方体育

在用C++研发几周之后,用于Python,Java或另一种更加高级的语言,真是就像上天的恩赐:但知道是这样的吗?  有时候,有可能我们不讨厌一门语言的原因正是我们要用于该语言的原因。如果我正在研发一个驱动程序或一些关键性安全性,动态的系统,上面阐释的繁复致使的原因有可能正是这个语言的仅次于优势。例如,C++获取了一种机制用作传达当对象被拷贝时被继续执行的逻辑,这在效率和严谨性井然有序的时候是十分宝贵的。

  这有可能看起来都很好都有趣,因此我们很难清楚认为在某个背景下,某种你看不顺眼的语言有可能反而更加有协助。那么,我们该怎么告诉哪些你不讨厌的语言是有协助的呢?这就引向了我们的第二条原则:  对自己要真诚:告诉自己为什么不讨厌一门语言,不要教条化自己的憎恨。

  例如,在上面那个C++的例子中,我之所以不讨厌长时间地用C++编程,是因为这语言拒绝思想缜密,否则很更容易受罚,就看起来被被困丛林中(过多地注目树木,而不是树林这个整体)。这种缜密不会阻碍开发人员去批评,如,我要在堆栈上或堆上创建对象吗,或者部分在堆栈上,另一部分在堆上?或要让这个类可拓展,应当通过模板参数还是通过承继?等要求。在其他语言中,开发人员只需分别创立一个对象以及用于面向对象的承继就可以已完成这些任务,然后转入到下一个功能,因为语言(或者,更加精确地说道,编译器或解释器)注目这些细节。  但是,如果我对自己真诚的话,我会否认,我之所以不讨厌C++的这些功能,是因为它将传达这些细节的责任归咎于我。

在其他语言中,我不仅不必须负责管理这些细节,而且我也没责任传达这些细节:它们被抽象化靠近开发人员。在一个这些细节是必不可少的上下文中,我不讨厌C++的原因正是我应当用于这种语言的原因。


本文关键词:kok官方体育app,不,要和,一种,编程语言,厮守,终生,为,工作

本文来源:kok官方体育app-www.syssxmy.com

Copyright © 2002-2021 www.syssxmy.com. kok官方体育app科技 版权所有   ICP备36246533号-3   XML地图   织梦模板