半点优化网 http://www.bdxc.net/
当前位置首页 > 网站技术问题> 正文

对程序员来说最难的是写代码吗?

2022-06-14 22:28:25 暂无评论 275 网站技术问题 程序员   来说   代码

对资深程序员来说,一万行代码一天就能码完,写代码是最没技术含量的事情。

对程序员来说,最难的是理解需求,把自然语言转成数学语言的过程,术语叫作形式化,早期程序员需要直接对接用户,花很多时间与用户沟通,把用户要求的功能性能抽象出来,整理整个系统的数据字典。现在很多公司这部分工作交给产品经理了,是好事也是坏事,程序员就很难成长跨越成老板了。

其次难点是系统架构,包括通信协议,结构分层,软件复用以及算法这些,一家公司总需要有人做这件事,但可能也只需要一个人来做,一般是技术总监。

谢谢邀请!

对于不同阶段的程序员有不同阶段的任务,所面临的难点也并不相同,但是对于程序员来说,代码本身的难度只在学习的初期有所体现,随着编程经验的增加,代码本身的难度会逐渐下降,因为编程语言本身就是工具,只要多使用必然会越来越熟练。

通常情况下,编写代码的难度体现在以下几个方面:

第一:算法设计和实现。编程的核心问题是算法问题,编程问题说到底就是个数学问题,这就是为什么很多人认为编程难的原因,难在算法上而不是在编程语言本身上。算法实现还涉及到数据结构的应用,所以编程也被认为是算法设计加数据结构。算法设计和数据结构涉及到程序的执行效率,这对于大型系统来说尤为重要。对于研发级程序员来说,通常需要具备扎实的数学基础。

第二:架构的选择。架构设计、模块化、数据交换、资源规划、分布式处理、并发处理等问题是程序员面临的又一个难点,相对于算法来说,这部分难点需要大量的经验积累和对技术本身的深刻认知,所以往往架构师都需要有丰富的实践经验。如果说算法解决的是核心问题,那么架构解决的就是整体协调性问题。如果把算法设计看成是优秀的球员,那么架构设计就相当于教练员,只有有效的配合才能取得好的成绩。

第三:技术验证和调试。研发人员重要的任务是验证,验证技术是一个漫长且复杂的过程,要模拟出实际的应用场景,然后通过不同的方案设计来验证执行效率,这通常也是一个比较难的工作。技术验证和调试需要一个团队的配合,一个技术的验证过程往往有众多经验丰富的技术专家来进行,所以这是技术含量比较高的工作之一。

程序设计工作是一个门槛相对较高的职业,通常情况下,程序员在整个职业生涯的过程中也需要不断的学习。

作者简介:中国科学院大学计算机专业研究生导师,从事IT行业多年,研究方向包括动态软件体系结构、大数据、人工智能相关领域,有多年的一线研发经验。欢迎关注作者,欢迎咨询计算机相关问题。

猜你喜欢