`
dengkane
  • 浏览: 42405 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

想写程序吗?远离你的计算机!

阅读更多

  我最近想明白了一些事情。最好的写程序的地方不是在你的计算机前,不是使用你的编译器、IDE或其它一些工具。这最好的地方是一个远离这些工具的场所 —— 是某个能让你认真的思考的地方。对于一个你很熟悉的编程语言,你很容易把你脑子里已经构思好的程序转换成编译器/解释器可以编译/解释的程序 —— 难就难在如何在脑子里先把程序编好。

  有一天我乘火车旅行。我带了笔记本,但没有网络。不幸的是,我使用的是一种商业编程语言(IDL,真不巧),这种语言需要使用我大学网站上的许可证。因为不能连上互联网,我拿不到许可证,于是我的编译器和IDE就跑不起来。你可能会喜欢使用一个需要昂贵的许可证的商业编程语言,但它的确使我不能在编辑器里写任何的代码。而你猜这么着 … 这让我开始思考!

  我想这篇博客正好印证了Does Visual Studio rot the mind?这篇博客的内容,它里面说道:

  我从我的第一个老板那里学到的最大的一个教训是:“当你的程序运行异常时,不要使用debug工具,用你的大脑。”

  这就是远离电脑后会迫使你去做的事。通常你很容易进入这样一种编程习惯:

  1. 写一些程序(乱糟糟的)

  2. 编译,运行

  3. 使用简单的测试用例进行测试

  4. 发现有问题

  5. 小改一下程序,也许能解决这个问题

  6. 重复 …

  这当然会导致程序最终乱糟糟的,无法阅读理解,很有可能问题多多,没有很好的测试。

  远离计算机能迫使你在大脑里周全的思考所有的问题 —— 这跟你抱着计算机编译、运行你的程序相比可能会花更长的时间(至少对于小程序是这样)。可是,这样做后,你就不会去一点一点的改动程序、一遍遍试着运行它们了,你是真正的思考这些代码是做什么的。在那天、在火车上之前,我还从没有在纸上规划过任何的程序。

  而从此之后我努力在写程序之前会把思路画在纸上,思考它,一步一步的用代码实现,做出高质量的,高效的,没有问题的程序,多去思考,最后才在编译器上运行。程序是最后才从纸上拷贝到编译器里。

  任务完成的很好 —— 我自认为,希望这是一个有用的建议。

 

  英文原文:Want to write some code? Get away from your computer! 翻译:vaikan

分享到:
评论

相关推荐

    计算机图形学算法演示执行程序

    这个"计算机图形学算法演示执行程序"是一个用于理解和实践图形学核心概念的工具,其中包括了两个关键的图形变换方法:几何变换和投影。 首先,我们来深入探讨几何变换。在计算机图形学中,几何变换是指对图形进行平...

    Byangtiao.rar_计算机图形学_计算机图形学程序

    "Byangtiao.rar"中的内容显然是与计算机图形学程序相关的,特别是关于B样条曲线的绘制。B样条曲线(B-Spline)是一种在图形学中广泛应用的数学工具,它在曲线建模、动画、渲染等领域发挥着重要作用。 首先,B样条...

    磁卡读写机安装程序

    在开始安装程序之前,请确保你的计算机满足以下硬件和软件要求: 1. 兼容的操作系统:磁卡读写机通常支持Windows、Linux和Mac OS等多种操作系统。请确认你的系统版本与驱动程序兼容。 2. USB接口:大多数现代磁卡...

    农业院校非计算机专业程序设计课程教学改革探索.pdf

    《农业院校非计算机专业程序设计课程教学改革探索》一文主要探讨了农业院校在非计算机专业教授程序设计课程时面临的挑战以及改革措施。程序设计课程是农业类院校非计算机专业的重要基础课程,旨在培养学生利用计算机...

    远离隐私泄露!17大安全工具保你上网无忧

    别搞错了:专业的网络犯罪岔子和政府撑腰的网络犯罪分子在试图危及你的身份――如果在家里,窃取你的钱...安全精英人士在运行众多程序、工具和专门的硬件,确保其隐私性和安全性尽可能高。我们在本文中分析了这一组工具

    计算机应用科学管理和安全维护策略探讨-计算机维护-计算机.pdf

    因此,计算机的摆放位置应当远离热源、远离油水,以防止电路被侵蚀或短路。此外,计算机的摆放位置还应当平整稳定,以防止计算机倾翻造成主板损坏。再者,计算机的摆放位置还应当有足够的散热空间,以避免温度过高...

    GiliSoft Exe Lock一款简单实用的应用程序加密软件.rar

    一款简单实用的应用程序加密软件,当用户不想其他人使用电脑上的应用程序,用户就能够使用该软件将其应用程序进行加密处理,这样就能在两个或两个以上的人使用与你同一台计算机时,保护其中需要加密的隐私。...

    国家计算机二级C语言讲义.pdf

    高级语言是远离硬件的计算机语言,它需要通过编译程序将源程序转换成目标程序。 二、源程序和目标程序 源程序是高级语言编写的程序,目标程序是二进制代码表示的程序。编译程序是将源程序转换成目标程序的软件。 ...

    计算机题库单选题汇总.doc

    计算机题库单选题汇总是计算机领域的重要考察内容,本文档总结了多个与计算机相关的单选题,涵盖计算机安全、操作系统、硬件、软件、网络、数据库等多个方面。这些题目对计算机专业学生和从业者具有重要的参考价值。...

    教师招聘计算机、信息技术试题及答案.pdf

    2. 计算机科学奠基人:计算机科学的奠基人之一是冯·诺依曼,他提出了存储程序计算机体系结构,即程序和数据存储在计算机内存中,这一概念至今仍然是计算机工作的基础。 3. 计算机发展时代:自1946年第一台电子数字...

    计算机机房工程验收一般程序.docx

    计算机机房工程验收是确保数据中心安全稳定运行的关键环节。机房验收涉及多个方面,包括标准遵循、设备测试、消防验收、文档审查以及工程决算。以下是对这些环节的详细阐述: 1. **验收标准**: 机房验收通常依据...

    vc++实现的古语手写数字的聚类程序

    本项目"vc++实现的古语手写数字的聚类程序"是基于C++编程语言,利用Visual C++(vc++)开发的一个示例,它专注于手写数字的识别和分类,这在计算机视觉和模式识别领域具有广泛应用。 手写数字的识别是图像处理和人工...

    计算机三维图形常用算法与C语言程序

    在计算机科学领域,尤其是计算机图形学,三维图形的创建、渲染和交互是极其重要的组成部分。本文将深入探讨一些常用的三维图形算法,并结合C语言来阐述其实现细节。 1. **三维坐标系统**:在计算机中表示三维图形,...

    计算机考研复试问题整理汇总.doc

    计算机网络是信息技术领域的重要组成部分,尤其对于准备考研的学子来说,深入理解计算机网络、数据库、操作系统、数据结构、Java及C++等科目至关重要。这里我们将深入探讨这些知识点。 首先,程序装入涉及到三种...

    大学计算机基础考试题库.doc

    2. **驱动程序与BIOS**:计算机外设的工作是由一组驱动程序控制的,这些程序通常存储在主板的一个特殊内存芯片中,这个芯片被称为BIOS(基本输入输出系统)。BIOS负责在计算机启动时加载操作系统,并提供基本的硬件...

    假死并非魔咒 让程序远离假死困扰.docx

    “假死”是计算机用户经常遇到的一个问题,它指的是程序运行过程中突然变得反应迟钝,无法正常响应用户操作的状态。这种现象虽然不会导致程序崩溃,但却极大地影响了用户体验和工作效率。本文主要探讨了几种常见的...

    ActivityWatch是一个自动时间跟踪软件,帮助你跟踪你所做的事-python

    我们通过创建一个用于在用户本地计算机上安全存储数据的应用程序以及一组记录数据的观察者来实现这一目标,例如: 当前活动的应用程序及其窗口的标题 当前活动的浏览器选项卡和它是标题和 URL 键盘和鼠标活动,用于...

    计算机基础知识的要点.pdf

    9. **计算机维护**:正确使用和维护计算机包括定期使用、避免频繁开关、远离磁场干扰以及在适宜的环境条件下运行。 10. **计算机分类**:计算机按规模和处理能力可以分为巨型机、大型机、中型机、小型机、微型机...

Global site tag (gtag.js) - Google Analytics