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

e402dda2e263b3ae7f5e4df08976e55c.gif

【CSDN 编者按】有人说,AI 编程普遍提高了程序员的编码效率,也有人说,AI 智能编程增加了程序员改 Bug 时长,而本文作者却说:编程真的很难,你们觉得编程难吗?不妨一起看看。面分析难处

原文链接:https://myme.no/posts/2023-09-19-programming-is-hard.html

未经允许,禁止转载!

作者 | Martin Myrseth       译者 | 弯月

责编 | 夏萌

出品 | CSDN(ID:CSDNnews)

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

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

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

我认为:

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

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

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

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

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

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

368e8305825b40a98f077a102a081558.gif

推荐阅读:

▶让 AI 取代人类工作 3 个月,公司 CEO 夸赞:“复制粘贴的工作完全消失了!”

▶帽子当键盘?Google 工程师“整活”,发明可打字的帽子,项目已在 GitHub 开源!

提升性能与效率,Android 14 正式发布

欢迎参与 CSDN 重磅发起的《2023 AI 开发者生态调查问卷》,分享您真实的 AI 使用体验,更有精美好礼等你拿!

d581e3ff828319062703bfcca89e50e1.jpeg

  • 22
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 16
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CSDN资讯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值