为什么大多数人觉得编程很难?

2023-10-20 22:45:53 字數 1025 閱讀 3469

软件很奇妙。从基本形式来看,软件非常抽象,似乎和真实世界没有任何关系。但现代手机等硬件设备之上运行的图形应用却感觉非常真实,人们甚至完全不需要理解“黑盒子”内发生了什么。一些软件甚至能够控制硬件,在真实世界中执行真正的动作。

作为程序员,我们编写的一些**是对真实世界概念的建模,所以这些**的结构和形式通常都反映了真实世界。而有些**则是完全抽象的,负责解决只有计算机领域才会出现的“元物理”问题。负责解决抽象问题的**也是必不可少的组成部分,真正看得见摸得着的“真实世界的建模”正是构建在其上。

然而,**并没有被要求必须反映它要解决的问题,有时**解决的问题甚至不是“真实存在”的问题。当然,能够通过某种方式来表现关系的**更“容易阅读”且“容易维护”,因为人们更熟悉这样的**。但我们构建系统的目的是“建模”,而不是“模仿”。

我认为:只要模型的行为能够解决问题并让用户满意,软件就完成了使命。”

姑且不考虑性能问题,计算机并不关心程序的结构。遗留的意大利面式的**解决问题的能力并不逊色于精心打造的系统。只有在考虑人们需要修改系统的时候,糟糕的解决方案的代价才会体现出来。

这就引出了程序员需要面对的另一个更隐蔽、更困难的问题:将真实世界的需求转换成抽象的结构,该结构在计算机上执行时,需要对问题域建模,并达到一定的满意程度。而在建模的过程中,我们还需要考虑怎样才能更好地对抽象进行建模,以保证其他人和自己将来依然能理解。

网上的许多关于编程复杂性的讨论都集中在编程语言本身、工具以及技术栈的复杂性上,而忽视了怎样才能更有效地理解需求并将其转换成**。而对于系统不断发展时,如何去沟通并维护这些需求更是只字不提。这并不意味着这些事情不需要做。

学习编程语言的语法和语义需要花费很多时间和精力。构建现代应用程序和服务所需的工具、服务和基础设施也是如此。但这并非全部!许多技术都在快速发展,努力跟上时代的脚步已经令我们感觉力不从心。但不要忘记或忽视我们的任务是理解他人,理解周围的世界,而这才是保证**质量和目标的关键。

没错,编程很难,真的很难!

为什么很多孩子和大人听不进一点批评

为什么很多孩子和大人听不进去一点批评,上学老师说几句,吧嗒吧嗒就掉眼泪,工作当中领导说了几句,然后就委屈的不行,玻璃心碎一地。这其中的原因,其实源于原生家庭中父母的认可匮乏。在父母对孩子进行批评时,孩子心中便悄然扎下了错误的信念,即 我不行 当我们看似关心 爱护孩子时,其实表达的内涵却是严重的批评和...

为什么很多人用了苹果手机后就很难改回安卓手机了?

苹果手机在市场上受到广大用户的青睐有着诸多原因。首先,苹果手机操作简单,界面直观,非常适合中老年用户,他们对手机功能不求多样,只需简单易用即可。此外,为了保障用户的信息安全和隐私,苹果手机的操作系统减少了恶意软件和广告的干扰,让用户的使用体验更加流畅和愉快。对于年轻人而言,苹果手机的生态系统能够满足...

为什么很多人都认为诸葛亮比司马懿厉害?

东汉末前诸侯割据,群雄并起。经过十年的争霸最终形成三国鼎立的政治局面。当刘备,曹操相继去世后,诸葛亮扶持刘禅治理蜀汉,司马懿扶持曹丕治理曹魏,蜀魏之战的实质就是诸葛亮智斗司马懿,二位都是千年难得一遇的旷世奇才。在中国历史上,诸葛亮和司马懿都是非常著名的人物。诸葛亮是三国时期蜀汉的丞相,被誉为 卧龙 ...