10条经典的大师编程语录

发布者:滁州鱼儿最新更新时间:2015-03-06 来源: 21ic关键字:编程  调试  程序员 手机看文章 扫描二维码
随时随地手机看文章
10. If debugging is the process of removing software bugs, then programming must be the process of putting them in. – Edsger Dijkstra

如果调试程序是移除臭虫(软件缺陷)的过程,那编写程序就是把臭虫放进来的过程。—— 迪杰斯特拉

1.jpg


09. The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time. – Tom Cargill

Writing the first 90 percent of a computer program takes 90 percent of the time. The remaining ten percent also takes 90 percent of the time and the final touches also take 90 percent of the time. ~N.J. Rubenking

软件开发的时间通常是这样的:一开始的 90% 开发工作用掉了整个计划 90% 的时间,剩下的 10% 同样需要整个计划 90% 的时间,而最终发布前的修改也是如此。—— N.J. Rubenking

08. “There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies. And the other way is to make it so complicated that there are no obvious deficiencies.”- C.A.R. Hoare

设计软件有两种方法:一种是简单到明显没有缺陷,另一种复杂到缺陷不那么明显。—— 托尼·霍尔


07. Measuring programming progress by lines of code is like measuring aircraft building progress by weight. – Bill Gates

用代码行数来衡量程序的开发进度,就好比用重量来衡量飞机的制造进度。—— 比尔·盖茨

3.jpg


06. “Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.” – Martin Golding

在编写代码的时候,你要经常想着,那个最终维护你代码的人可能将是一个有暴力倾向的疯子,并且他还知道你住在哪里。—— 里克·奥斯本

补充:关于这条语录,StackOverflow 上也有个讨论帖,给出的答案可能是 John Woods。

05. “The trouble with programmers is that you can never tell what a programmer is doing until it’s too late.” – Seymour Cray

程序员的问题是,你无法知道他在做什么,直到为时已晚。—— 西摩·克雷

04. Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning. – Rick Cook

今日之编程,已是竭力要建立更大更反白痴程序的软件工程师,和正塑造更大更优质白痴的现实世界之间的比赛。目前来看,现实世界赢了。—— Rick Cook

03. “Most of you are familiar with the virtues of a programmer. There are three, of course: laziness, impatience, and hubris.” – Larry Wall

你们大部分人都熟悉程序员的美德。当然了,是这三种:懒惰、急躁、傲慢。—— 拉里·沃尔 (Perl 语言之父)

02. “Sometimes it pays to stay in bed on Monday, rather than spending the rest of the week debugging Monday’s code.” – Christopher Thompson

有的时候宁愿付钱让你周一在床上待着,也不想让你用这周剩下的时间去调试你在周一所写的代码。 —— 丹·所罗门

01. Walking on water and developing software from a specification are easy if both are frozen. – Edward V Berard

在水中行走,和根据一份需求开发软件一样,如果它们都“冻”住了,那就容易了。—— 爱德华·贝拉尔德

关键字:编程  调试  程序员 引用地址:10条经典的大师编程语录

上一篇:ISP和IAP的区别
下一篇:PID控制的原理及常用口诀总结

推荐阅读最新更新时间:2024-03-16 13:54

单片机编程语言的比较
引言 单片机又称单片微控制器,它是把一个计算机系统,包括cpu、ram、rom、定时/计数器和多种i/o接口集成到一个芯片上。由于单片机的种种优点和特性,其应用领域极其广泛。单片机系统同样也由硬件系统和软件系统构成,因此涉及到程序的编写问题。单片机的编程语言很多,大致分成三类:机器语言、汇编语言、高级语言。机器语言由于繁琐容易出错,一般用户已经不再使用。下面分别对汇编语言和最常用的高级语言进行分析。 单片机的汇编语言 汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少,程序执行效率高,由于它一条指令就对应一条机器码,每一步的执行动作都很清楚,并且程序大小和堆栈调用情况都容易控制,
[单片机]
可重编程的 DisplayPort 固件
DisplayPort在计算机行业中正在变得日益普及。它是一种免专利费的数字显示接口标准,有替代模拟VGA的可能。随着越来越多的计算机开始支持DisplayPort,显示器、电视、投影仪和所有其他拥有DVI、HDMI、LVDS或VGA接口的外围设备对DisplayPort接口的需求也在增长。 大多数现有的DVI和HDMI接口都是专门设计用于双模式DisplayPort源的电平转换电路。不过,双通道DVI、LVDS和VGA接口均需要协议转换。例如,对于VGA接口,视频信号必须从高速数字信号转换为低速模拟信号,这使得VGA接口成为一种非常复杂的设备。通常,协议转换DisplayPort接口中的固件引擎掌管着这种转换。 固件
[工业控制]
可重<font color='red'>编程</font>的 DisplayPort 固件
32位ARM嵌入式处理器调试技术
随着对高处理能力、实时多任务、网络通信、超低功耗需求的增长,传统8位机已远远满足不了新产品的要求,高端嵌入式处理器已经进入了国内开发人员的视野,并在国内得到了普遍的重视和应用。ARM内核系列处理器是由英国ARM公司开发授权给其他芯片生产商进行生产的系统级芯片。目前在嵌入式32位处理器市场中已经达到70%的份额。笔者在对三星公司的ARM7芯片技术调试的过程中,对这些高端嵌入式系统的调试技术进行了总结。 传统的调试工具及方法存在过分依赖芯片引脚、不能在处理器高速运行下正常工作、占用系统资源且不能实时跟踪和硬件断点、价格过于昂贵等弊端。目前嵌入式高端处理器的使用渐趋普及。这些处理器常常运行在100MHz,并且一些内部控制以及内部存储器的
[单片机]
32位ARM嵌入式处理器<font color='red'>调试</font>技术
一种软硬结合的嵌入式系统远程调试方法
摘要:介绍一种软硬件相结合来实现嵌入式系统远程调试的方法。其主要思想是,通过使用一个程序将串口和Telnet协议进行转换,主机通过Telnet从远端访问与嵌入式系统用串口直接相连的PC机,从而间接访问到嵌入式系统,获得调试信息、发送指令和更新固件;同时,通过附加的硬件电路,完成远端对嵌入式系统的电源和I/O的控制,从而获得更为全面的调试手段。 关键词:多维力传感器 MSC1210 微位移检测 引 言   随着全球化的进程,越来越多的嵌入式系统的设计工作可能由地处两个相距很远地方甚至两个国家的设计团队共同完成,或者设计在一个地方完成,制造在另外一个地方完成。于是,就有了这样一种情况,一个地方的工程师需要对处在另一个遥远地方的嵌
[应用]
简单的可编程电流限制器
摘要:该电路无需使用微控制器或数据转换器的 电流限制 。它包括一个充电泵倍压器(U1)的,一个电流检测放大器(U2乐队),和两个N沟道MOSFET。该检测电阻值决定了最大电流限制。   可用的集成电路可以让你的程序电流限制,但他们通常涉及微控制器或数据转换器(或两者)。作为替代方案,图1电路可以让你的程序没有数据转换器的微控制器或干预的电流限制。它由两个小型的SOT - 5器件和少量的外部元件。该检测电阻值决定了最大电流限制。      图1。该电路的电流限制RLOAD决定主要是由R1值。   该电路包括一个充电泵倍压器(U1的,MAX1682),一个电流检测放大器(U2乐队,MAX4376),和两个N沟道MOSFET
[电源管理]
简单的可<font color='red'>编程</font>电流限制器
基于CPLD和MAX7000系列的数据采集系统简介
      CPLD是复杂的PLD,专指那些集成规模大于1000门以上的可编程逻辑器件。它由与阵列、或阵列、输入缓冲电路、输出宏单元组成,具有门电路集成度高、可配置为多种输入输出形式、多时钟驱动、内含ROM或FLASH(部分支持在系统编程)、可加密、低电压、低功耗以及支持混合编程技术等突出特点。而且CPLD的逻辑单元功能强大,一般的逻辑在单元内均可实现,因而其互连关系简单,电路的延时就是单元本身和集总总线的延时(通常在数纳秒至十数纳秒),并且可以预测。所以CPLD比较适合于逻辑复杂、输入变量多但对触发器的需求量相对较少的逻辑型系统。       MAX7000系列产品与高速       2 MAX7000系列CPLD及
[嵌入式]
关于PLC编程的12个建议
编程建议 1、PLC和上位机(或触摸屏)组成监控系统时,在画面上很多时候需要有“手动”、“自动”等控制模式(一般都是多个只能一个时)。在程序里面可以用“MOV”指令。如:当选择“手动”就将常数1 MOV到一个寄存器VB10里面,当选择“自动”就将2 MOV到同一寄存器VB10。只要判断寄存器的数据是多少,就知道系统是那种控制方式。这样的思路好处是容易理解,不需要互锁之类的麻烦程序。 2、程序有模拟量控制时,如果读取的模拟量基本上没误差,可以采取时间滤波的方式,延时一段时间。如果读取的数据误差很大,就需要采取其它的滤波方式,如算平均值等。可以查阅相关的资料。 3、在程序调试过程中(特别是设备改造时,你的程序是加入到原来设备的程序中时
[嵌入式]
编程信号源测量单元是什么?有何用途?
ADALM1000本质上是一款信号源测量单元,但也可将其视为独立的 示波器和函数发生器。但当分而视之时,由于输出功能(发生器)和输入功能(示波器)共用一个引脚,因此一次只能使用一个功能。 图1. 一个ADALM1000 SMU通道的框图。 可编程信号源测量单元为什么很重要? 对于某些类型的测试,可编程仪器可能并不重要。您可能只想读取一次或少量次数。但有很多情况下,可能需要收集大量数据,以便生成性能随时间变化的曲线或图表。不过,手动操作的话会非常耗时且易于出错。 还有大量不同的实验要求自动收集数据以获得更快速或更准确的测量结果,或者获取长时间尺度(数月甚至几年)的测量结果。此时,您肯定需要一台计算机来收集数据并将其导出
[测试测量]
可<font color='red'>编程</font>信号源测量单元是什么?有何用途?
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多每日新闻
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved