`
ruilin215
  • 浏览: 1143384 次
  • 性别: Icon_minigender_2
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

学好编程,从写作开始。

 
阅读更多

可能很多人不以为然,写作和编程能有什么关系。

首先,写作促进我们思考。程序员每天的工作,不论是学习新知识新技术、理解软件需求、阅读代码/文档、设计框架、还是实现业务逻辑,都离不开思考。相信很多人都有过这样的体验: 对于某个设计或知识点,你以为自己想清楚了,但真要让你解释给别人听,你又会觉得无从下手,几轮过后回想当初,之前所看到和相信的不过是错觉,当你完整的向其他人转述一遍之后,你才算是真正想明白了。其实这个道理和书桌上放一只橡皮鸭/填充玩偶(然后向它讲述你的想法)的做法是相通的,只不过写作本身不光整理了思路,还留下了文档,同时,写作的过程也是不断加深印象、提升信心的过程,可谓一举多得。

其次,和写作一样,编程的主要目的是与世界交流,不论这个世界是指的机器的世界还是人的世界。要有效地与机器世界交流,你编写的代码必须符合一定的语法和范式,必须逻辑上讲得通,这样才有意义。而基本的写作训练可以让我们养成主动留意错别字、格式、拼写错误、逻辑错误的习惯。如C. A. R. Haore所说,我们宁要明显无错误的代码,不要无明显错误的代码。这点洁癖是好程序员必须具备的修养。这也是为什么我看到有明显拼写错误的程序员简历时,会直接把他/她们拉黑。同样地,我一直坚持认为,如果程序员写不出结构优良的纯文本文档,那么我们也不必指望他/她能够写出优雅的代码。除此之外,我们还可以再稍微发散一下: 开源项目那么多,满足类似需要的往往不止一个,为什么有的很成功,有的却无人问津? 主创/灵魂人物的写作能力,不论是代码、文档、邮件还是PPT,是很重要的分野。我相信,改变世界、影响更多的人,是很多程序员梦寐以求的,而要做到这一点,离不开写作。

最后,写作通常是程序员的短板,亦即最容易低成本高产出的地方。我一直很不喜欢人为地给不同专业背景的人贴上文科和理科的标签,仿佛他们之间没有交集似的。这样做的最大问题在我看来是一方天然地觉得另一方的知识对自己没价值,以至于形成了类似"写作是文科生的菜"、"编程是理科才要学的东西"等谬误。就我的观察,计算机科班出身的同学,往往文字表达能力不够强,可能多少和这种心理暗示有关。如此明显的短板,如果能够引起广大程序员群体的重视,肯在写作上持续投入,效果一定是惊人的。

2
3
分享到:
评论
1 楼 kdboy 2011-08-04  
很好的文章,我认为如果说读书是获取知识的过程,那么写作就是将知识化为己用的过程。

写作可以很好的锻炼人的思维,在各个方面确实都有着很大的帮助。并且,并不仅仅限于编程。

相关推荐

    学好VC++的十大良好习惯

    ### 学好VC++的十大良好习惯 #### (一)充分利用MSDN 1. **重要性**:MSDN(Microsoft Developer Network)是微软为开发者提供的一系列资源和服务,包括技术文档、示例代码、API参考等。对于学习VC++而言,MSDN是...

    如何准备美赛_如何准备美赛.doc

    分工合作是美赛的关键,数模团队三个人,一般是分别负责建模、编程、写作。建模的人是核心,要起主导作用,因为建模的人决定了整篇论文的思路与结构。建模的人需要大量阅览文献,了解尽可能多的模型,具备良好的接口...

    2017数学建模国赛+深圳杯优秀论文

    同时,我希望写作的队员不要完全不顾数学,在比赛期间,还是应该或多或 少知道一些建模以及编程人的思路,即使提不出什么意见,也有助于清晰写作的 框架。 上面为不同方向的队员应该是怎样的以及如何准备。而且我...

    Joel_Spolsky对计算机学生的七大建议

    - **极限编程**之所以能够获得广泛的认可,部分原因也是因为其倡导者的优秀写作能力。 在软件开发团队中,表达能力强的程序员往往更有影响力。无论是书面表达还是口头表达,都能够有效地传递思想和理念,这对于项目...

    Perl语言入门

    只有把基础学好,才能往更深入的知识去探讨”,标签为“Perl语言”,这些信息说明本文件是一本关于学习Perl语言基础的入门教材。Perl语言是一种广泛用于文本处理、系统管理、Web开发和许多其他领域的动态编程语言。...

    指针学习笔记

    在计算机编程领域,特别是对于C语言这样的底层编程语言而言,指针是理解和掌握的关键概念之一。通过本篇学习笔记,我们将深入探讨C语言中指针的几种典型用法,并结合具体的代码示例进行分析。 ### 关键知识点解析 ...

    English Grammar for the Utterly Confused

    描述中提到:“工欲善其事,必先利其器,学好英语才能够看懂那些外文原版书哈,不可多得的好书,虽然不属于编程范畴,但是每一个程序员都需要的,再者说了,同样是语言,也就是跟C++呀C呀啥的没啥本质区别,是吧?...

    2022年大三学生学习计划[扫描版].pdf

    2. **专业知识巩固**:由于认识到专业知识对于未来找工作的关键性,他决定复习和掌握之前没学好的课程,并且专注于当前正在学习的专业知识。此外,鉴于专业对制图能力的需求,他计划每周用软件绘制一幅CAD图和一幅3D...

    LINUX操作系统(电子教案,参考答案)

    Linux在这几年中迅速地发展,Turbo Linux宣布该公司已经开始盈利了,这说明了Linux正在逐渐大众化。在未来的几年中,Linux在各行各业中的应用将遍地开花,能熟练操作Linux将是每一个系统管理员所需掌握的基本技能。 ...

Global site tag (gtag.js) - Google Analytics