编程大师访谈录

  • 什么是编程?人们对此一直各持己见。有人说它是科学,有人说它是艺术,还有人称之为技能或手艺。我认为这三方面兼而有之。我们喜欢说它蕴含大量艺术成分,但是我们都知道它里面更多的是科学。
  • 我觉得代码清单带给人的愉快同整洁的家差不多。你一眼就能分辨出家里是杂乱无章(比如垃圾和没洗的碟子到处乱扔)还是整洁如新。
  • 编程的第一步是想象。就是要在脑海中对来龙去脉有极为清晰的把握。在这个初始阶段,我会使用纸和铅笔。我只是信手涂鸦,并不写代码。我也许会画些方框或箭头,但基本上只是涂鸦,因为真正的想法在我脑海里。我喜欢想象那些有待维护的结构,那些结构代表着我想编码的真实世界。
  • 一旦这个结构考虑得相当严谨和明确,我便开始写代码。我会坐到终端前,或者换在以前的话,就会拿张白纸,开始写代码。这相当容易。我只要把头脑中的想法变换成代码写下来,我知道结果应该是什么样的。大部分代码会水到渠成,不过我维护的那些数据结构才是关键。我会先想好数据结构,并在整个编码过程中将它们牢记于心。
  • 假装每时每刻都很快乐是做作。就像运动员所说的:“要是没受伤的话,肯定是你还不够努力。”
  • 代码的效率还会随着开发同一个程序的人员数量的增加而有所降低。最高效的程序往往是一个人写的。
  • 还有其他不少有意思的事情,我也乐此不疲。我对埃及象形文字略知一二。学习其他语言、旅行和观察世界都是很不错的活动,我不介意做这些事情。
  • 获得这些经验的同时也失掉了年轻时拥有的活力。随着年龄的增长,我也许不会再犯那么多错误,但是我也无法再像以往那样充满活力,精力充沛。
  • 好程序在于它能保持平衡,而不是靠什么奇技淫巧。
  • 如果不能确认数据结构是正确的,我是决不会开始编码的。我每次废弃代码的时候,通常是因为底层的数据结构太糟糕,而不是因为所采用的算法。
  • 你是问我是否觉得工作乏味吗?我不觉得。在度假的时候,我期待着再次回到工作中。
  • 我喜欢在坐下来编写代码之前先把整个设计方案构想清楚。而在完成代码后,我喜欢回去把它从头到尾再全部重写一遍。
  • 我和一个人谈谈他的程序,马上就能知道他是否是个好程序员。如果他真的很棒,每个细节他都会脱口而出。
  • 如果和一个优秀的程序员聊一聊,你会发现他对他使用的工具非常熟悉,就像一个画家了解他的画具一样。
  • 我得到的一个忠告就是尽可能推迟编码。一旦写了一堆代码后,就很难改变方向了。它就好比混凝土一样成了阻碍。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏后端技术探索

几道趣味算法面试题

1. 几道常见趣味算法面试题 1.1 绳子计时问题 1.2 两座岛运输加锁问题 1.3 马比赛问题 1.4 高楼逃生问题 1.5...

29830
来自专栏腾讯NEXT学位

编程新手:看懂很多示例,却依然写不好一个程序

35280
来自专栏ThoughtWorks

TW洞见 | 张逸:快速了解Scala技术栈

我无可救药地成为了Scala的超级粉丝。在我使用Scala开发项目以及编写框架后,它就仿佛凝聚成为一个巨大的黑洞,吸引力使我不得不飞向它,以至于开始背离Jav...

34060
来自专栏企鹅号快讯

给JAVA,说句公道话

常常总有人问我,在现有的语言里面,有什么好的推荐?我说:“Java。” 他们很惊讶:“什么?Java!” 所以我现在来解释一下。 Java超越了所有咒骂它的“动...

23050
来自专栏程序员互动联盟

自学3个月,能达到什么程度?

想想大学都干了些什么,虽然贵为计算机专业。我们都学了些神马?成天网吧游戏,学习为何物?临末了,被大学给上了。工作咋办,父母辛辛苦苦就希望有个收成,咋整? 回家又...

28230
来自专栏Danny的专栏

Java之旅——起航篇

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/...

12510
来自专栏Java架构

资深架构师谈Java——最牛逼的编程语言Java超越了所有咒骂它的“动态语言”Java的“继承人”没能超越它Java没有特别讨厌的地方结论程序员进阶方法

24840
来自专栏程序员互动联盟

如何用三个月搞定C语言

C语言上个世纪七十年代诞生至今,已经度过了40多个春秋,在此期间经历多次的版本的更迭,目前市面上绝大部分语言的底层实现都是基于C语言,随着C语言之父的逝去,C语...

32550
来自专栏码神联盟

只有程序猿才懂的道理

① 面试官:熟悉哪种语言? 应聘者:C# 面试官:知道什么叫类么? 应聘者:我这人实在,工作努力,不知道什么叫累。 面试官:知道什么是包? 应聘者:我这人实在,...

38080
来自专栏Java架构

资深架构师谈Java——最牛逼的编程语言

有些人问我,在现有的语言里面,有什么好的推荐?我说:“Java。” 他们很惊讶:“什么?Java!” 所以我现在来解释一下。

37570

扫码关注云+社区

领取腾讯云代金券