阅读更多

5顶
1踩

非技术

转载新闻 只有程序员了解的9个真相

2015-03-19 15:25 by 副主编 mengyidan1988 评论(2) 有5398人浏览
对于相关的计算机和代码知识,通常说来程序员比一般人要了解得多,下面我将为大家揭晓一些业内人士不会诉诸于口的真相。



真相#1

“你所不知道的是,很多我们每天都使用的关键软件(如Mac OS X和Facebook),作为一个整体虽然可以正常工作,但是实际上它们的背后充斥了各种的弊端和缺陷。这就像是你兴致勃勃地拆开了一架全新的747飞机,但是却发现燃料线是由衣架固定的,起落架是用胶带粘贴的。” ——Ben Cherry
这其实是非常有意思的一件事:网页和程序外观精美、运行流畅,但是却很有可能只是完美在前端上(用户所能看到的那一部分)。它们的背后其实千疮百孔、满是错误,不过因为某些神奇的原因,居然也可以正常工作。
真相#2

“编写应用程序时,大概25%的时间是花在思考最终用户将会做哪些蠢事上的。”——Brian Humes
不过,25%这个数值会根据开发人员和程序员的作为而上下浮动。每次构建产品时,我们都需要坐下来思考最终用户将会如何把这个程序搞的一团乱。他们会点击什么,他们会写什么,问题的措辞,使用的语言,以及我们的写法所造成的不同理解。如果不注意这一点,那么就会出现很多问题,这是因为虽然我们知道程序是如何工作的,但是最终用户是不懂的。
真相#3

“程序员不是修电脑的。” ——Ritesh Kumar Gupta
程序员是搞算法和设计原则的,不是一个修电脑的。我们知道电脑的内部工作原理,代码是如何协作的,但是,我们并不知道如何修理硬件,不知道为什么每次打开浏览器就崩溃,也不知道为什么电脑发热过度。请不要用一种“这种事对你们而言就是小菜一碟”的眼光看待我们。
真相#4

“编程是一种思想,而不是敲代码。” ——Casey Patton
编程并不是说,只要你安安静静地坐下来,写个上千行代码,发布程序或应用程序的意思,编程其实是一种思想,一种解决问题的方法。而放松则是思考出方法的关键。

真相#5

从零开始计算,而不是从一开始。
我们是从0开始计数的,所以你的“1”是我的“0”,你的“10”是我的“9”。之所以这么做,是因为这可以大规模地改善效率。

真相#6

“一旦进入状态,编程就犹如神助——这种全神贯注的状态能让任何问题都变得小菜一碟。”——Morgan Johansson
知道为什么程序员被称为夜猫子吗?知道为什么我们常常熬夜吗?因为这样能让我们进入一种专注的状态,而不必担心会被其他人打断——因为他们都睡着了,这些烦人的家伙终于闭上了他们唧唧歪歪的嘴。真是一个伟大的编程时间啊!

真相#7

告诉你个秘密,带着问题睡觉,实际上可以解决这个问题。
很多时候,我遇到那种花了几个小时都解决不了的问题,我就会去睡一觉。通过20分钟,一小时,六小时,十二小时的睡眠,醒来之后,问题答案就自然而然地出来了。

真相#8

分配下来的任务却不再需要,就像父母杀掉孩子。
我们写的程序其实都类似于这样的层次结构。Parent管理它下面的Child。

现实中,如果父母不想要孩子,会去做流产。而在程序中,如果不再需要需要某些任务,那么会切断其与服务器的联系,杀掉这个孩子。

最后,真相#9

当我们吹嘘我们有多么了解电脑时,你通常会不削一顾,同样的,你的自吹自擂也让我们觉得好烦。
老实说,这真的很烦,我们真的一点也不关心你对于计算机的了解。如果你说“我对于计算机不是很懂”,或者“我对计算机编程不是很感兴趣”那还是可以理解的,但是自吹自擂,鲁班门前弄大斧就会让我们厌烦了。请规避这种行为吧。
  • 大小: 35 KB
来自: 码农网
5
1
评论 共 2 条 请登录后发表评论
2 楼 Night舞夜 2015-03-24 17:34
超赞。很有真理,很有趣味
1 楼 1036225283 2015-03-21 10:20
真相#4

“编程是一种思想,而不是敲代码。” ——Casey Patton
编程并不是说,只要你安安静静地坐下来,写个上千行代码,发布程序或应用程序的意思,编程其实是一种思想,一种解决问题的方法。而放松则是思考出方法的关键。

觉得这是这篇文章的精华

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 只有程序员了解的9个真相

    对于相关的计算机和代码知识,通常说来程序员比一般人要了解得多,下面我将为大家揭晓一些业内人士不会诉诸于口的真相。 真相#1 “你所不知道的是,很多我们每天都使用的关键软件(如MacOSX和Facebook),作为...

  • 【转】只有程序员了解的9个真相

    来源 | 菜鸟教程对于相关的计算机和代码知识,通常说来程序员比一般人要了解得多,下面我将为大家揭晓一些业内人士不会诉诸于口的真相。真相#1“你所不知道的是,很多我们每天都使用的关键软件(如 Mac OS X 和 ...

  • 程序员不是修电脑的!只有程序员了解的9个真相!

    对于相关的计算机和代码知识,通常说来程序员比一般人要了解得多,下面我将为大家揭晓一些业内人士不会诉诸于口的真相。   真相 1 “你所不知道的是,很多我们每天都使用的关键软件(如 Mac OS X 和 Facebook...

  • 只有程序员了解的9个真相!

    真相#1 “你所不知道的是,很多我们每天都使用的关键软件(如Mac OS X和Facebook),作为一个整体虽然可以正常工作,但是实际上它们的背后充斥了各种的弊端和缺陷。这就像是你兴致勃勃地拆开了一架全新的...

  • 只有程序员才了解的9个真相!

    真相1 “你所不知道的是,很多我们每天都使用的关键软件(如Mac OS X和Facebook),作为一个整体虽然可以正常工作,但是实际上它们的背后充斥了各种的弊端和缺陷。这就像是你兴致勃勃地拆开了一架全新的747飞机,...

  • 只有程序员可以看懂的笑话 大全集

    一个程序员退休之后决 定 学习书法,买来上好的湖笔、宣纸、墨汁,饱蘸浓墨,在纸上一气呵成:hello, world 一位程序员去海边游泳,由于水性不佳,游不回岸了,于是他挥着手臂,大声求救:“F1! ...

  • 《高效程序员的45个习惯——敏捷开发修炼之道》读书笔记

    作者是在企业从事软件开发的,可以想到作者必定是做了大量的实践而不是理论的研究,从作者简介、推荐序就可以了解到,这本书并不是在论述“敏捷开发”这样的一个方法论,而是较全面论述如何在实践“敏捷开发”,从...

  • 西门子S7-200PLC与MCGS触摸屏联动控制步进伺服电机的技术解析及应用实例

    内容概要:本文详细介绍了利用西门子S7-200PLC与昆仑通泰MCGS触摸屏联合控制步进伺服电机的方法和技术要点。首先阐述了硬件接线的具体方式,包括PLC输出接口与伺服驱动器之间的正确连接以及必要的安全措施如急停开关的接入。接着深入探讨了PLC程序的核心代码片段,涵盖原点回归、手动正转触发、绝对位置计算等功能模块,并解释了关键指令如PLS的作用及其使用注意事项。此外,针对触摸屏的关键配置进行了说明,涉及数值输入框、指示灯、多状态按钮等组件的设置,强调了绝对定位逻辑的实现。文中还分享了一些常见的调试问题及解决方案,例如伺服电机抖动、数据刷新延迟等问题的处理办法。最后提到该方案已在实际生产环境中成功应用并表现出良好的性能指标。 适合人群:从事自动化控制领域的工程师和技术人员,特别是那些希望深入了解PLC与触摸屏协同工作的专业人士。 使用场景及目标:适用于需要高精度定位控制的小型自动化生产线或机械设备中,旨在帮助用户掌握如何构建稳定可靠的步进伺服控制系统,提高工作效率的同时降低成本。 其他说明:作者凭借丰富的实践经验提供了许多宝贵的建议和技巧,对于初学者而言是非常有价值的参考资料。

  • 光储并网直流微电网Simulink仿真模型:MPPT与混合储能系统的优化设计

    内容概要:本文详细介绍了光储并网直流微电网的Simulink仿真模型构建,涵盖多个关键技术点。首先讨论了光伏系统的最大功率点跟踪(MPPT)算法,特别是扰动观察法的具体实现及其优缺点。接着探讨了由蓄电池和超级电容组成的混合储能系统,强调了它们各自的特点以及如何通过控制算法进行有效的功率分配。此外,还讲解了二阶低通滤波法的应用,用于提高电能质量和优化不同频率范围内的功率管理。最后,文章深入解析了逆变器的双闭环控制系统,包括电压环和电流环的设计,以确保逆变器输出与大电网的良好匹配。 适合人群:从事新能源系统设计、电力电子技术研究的专业人士,尤其是对Simulink仿真工具有所了解的研发人员。 使用场景及目标:适用于希望深入了解光储并网直流微电网内部机制和技术细节的研究者和工程师。主要目标是帮助读者掌握如何利用Simulink工具箱搭建完整的光储并网直流微电网仿真平台,从而为实际工程应用提供理论支持和技术指导。 其他说明:文中提供了大量具体的Matlab/Simulink代码片段,便于读者理解和实践。同时,作者分享了许多宝贵的实战经验和调试技巧,有助于解决实际建模过程中可能遇到的问题。

  • 西门子1200 PLC轴运动控制程序模板:多轴伺服、电缸控制及PLC通信实战应用

    内容概要:本文详细介绍了一套成熟的西门子1200 PLC轴运动控制程序模板,涵盖多轴伺服控制、电缸控制、PLC通信、气缸报警、电路图、威纶通触摸屏程序和IO表等方面的内容。该模板已在多个项目中成功应用,特别是在海康威视的路由器外壳装配机项目中表现优异。文中不仅提供了具体的代码示例,还分享了许多实战经验和技巧,如轴控制块的参数设置、PUT/GET通讯的心跳检测、气缸报警的互锁逻辑、电路图中的电源保护措施等。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是那些需要进行PLC编程和轴运动控制的从业者。 使用场景及目标:①快速掌握西门子1200 PLC轴运动控制的编程方法;②提高PLC程序的稳定性和可靠性;③优化设备性能,确保高效生产和故障预防。 其他说明:该模板不仅适用于新项目的开发,也可以作为现有系统的改进参考。通过学习和应用这些技术和经验,可以显著提升工作效率和产品质量。

  • 智能驾驶领域基于神经网络的驾驶员风格自适应ACC系统安全距离模型研究

    内容概要:本文探讨了基于神经网络训练的不同驾驶员风格自适应ACC(自适应巡航控制)系统,尤其是其安全距离模型的研究。传统ACC系统采用固定的参数设置,难以适应不同驾驶员的驾驶习惯。文中介绍了通过神经网络训练,使ACC系统能够学习并适应不同驾驶员的驾驶风格,从而动态调整安全距离的方法。具体实现了基于LSTM和物理模型融合的混合式神经网络结构,以及定制化的损失函数,确保系统在不同驾驶风格下的安全性和舒适度。实验结果显示,该系统能够在不同驾驶风格间灵活切换,提升应对复杂路况的能力。 适合人群:对智能驾驶技术和机器学习感兴趣的科研人员、工程师和技术爱好者。 使用场景及目标:适用于智能汽车的研发和改进,旨在提高ACC系统的智能化水平,使其更加符合不同驾驶员的习惯,提升驾驶体验和安全性。 其他说明:文章还讨论了模型的实际应用挑战,如不同地区的驾驶文化差异,并提出了相应的解决方案。

  • 计算机三级网络机试考试试题及答案(下).pdf

    计算机三级网络机试考试试题及答案(下).pdf

  • UWB DW1000高精度3D定位系统:基于CH32F103C8T6与卡尔曼滤波的实现及应用

    内容概要:本文详细介绍了基于Decawave UWB DW1000定位模块和CH32F103C8T6控制器构建的高精度3D定位系统。系统分为定位模块和测距模块,前者负责接收并计算用户位置,后者提供测距数据。定位模块采用最小二乘法和扩展卡尔曼滤波相结合的方式,实现了静态和动态环境下的高精度定位。文中还提供了详细的硬件配置、SPI接口初始化、测距算法以及定位算法的代码示例,并通过实验验证了系统的性能。 适合人群:对超宽带(UWB)定位技术和嵌入式开发感兴趣的工程师和技术爱好者。 使用场景及目标:适用于需要高精度室内外定位的应用场景,如AGV调度、人员定位等。目标是帮助开发者理解和实现基于UWB的高精度定位系统。 其他说明:文中提到的关键技术点包括SPI接口配置、双边双向测距算法(DS-TWR)、天线延迟校准、最小二乘法和扩展卡尔曼滤波。此外,作者还分享了一些实用的经验和技巧,如SPI分频系数选择、光速值的精确度、状态方程的设计等。

  • 计算机实训总结.pdf

    计算机实训总结.pdf

  • 单片机课程设计-温度监控系统的设计

    单片机课程设计__温度监控系统的设计

  • 基于深度强化学习的微能源网能量管理与优化策略研究——使用DQN实现智能调度算法

    内容概要:本文详细探讨了利用深度强化学习(特别是DQN算法)进行微能源网的能量管理和优化调度。文中介绍了微能源网面临的挑战,如风光出力的不确定性以及传统优化算法的局限性。作者通过具体案例展示了如何构建微电网环境类MicrogridEnv,定义状态空间、动作空间和奖励函数,并实现了DQN神经网络架构。此外,还讨论了经验回放、双网络结构等关键技术细节,以及如何通过特征工程提高模型性能。最终,通过实际测试验证了DQN算法的有效性和优势。 适合人群:从事微能源网、智能电网研究的技术人员,对深度强化学习感兴趣的开发者,以及希望了解如何将机器学习应用于能源领域的研究人员。 使用场景及目标:适用于需要优化微能源网能量管理的场景,旨在提高能源利用率、降低成本并确保供电稳定性。主要目标是通过智能算法应对风光出力的不确定性和用户需求的波动,从而实现高效的能源调度。 其他说明:文章不仅提供了理论分析和技术实现,还包括了许多实用的经验分享和调试技巧,有助于读者更好地理解和应用深度强化学习于实际项目中。

  • 《基于yolov8的动物识别检测检测项目》(包含源码、完整数据集、部署教程)简单部署即可运行。功能完善、操作简单,适合毕设或课程设计.zip

    资源内项目源码是均来自个人的课程设计、毕业设计或者具体项目,代码都测试ok,包含核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,答辩评审绝对信服的,拿来就能用。放心下载使用!源码、数据集、部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.dataset.txt文件,仅供学习参考, 切勿用于商业用途。

  • A stateless, content-directed data prefetching mechanism

    Cache prefetch

  • 基于Matlab的FFT分析与滤波程序:信号频谱分析及基波提取

    内容概要:本文详细介绍了一种基于Matlab的FFT分析和滤波程序,旨在实现信号的频谱分析并提取特定频率的基波信号。文中通过具体代码实例展示了如何导入数据、绘制原始信号波形图、执行FFT分析、设计滤波器并对信号进行滤波处理。最终通过图形化展示,验证了滤波器的有效性和程序的实用性。 适合人群:从事信号处理、通信工程、电子工程等领域的工作技术人员,以及相关专业的学生和研究人员。 使用场景及目标:适用于需要对复杂信号进行频域分析和滤波处理的实际工程项目,如电力系统谐波分析、音频信号处理等。目标是帮助用户快速掌握Matlab在信号处理方面的应用技巧,提高工作效率。 其他说明:文中提供的代码可以直接运行于Matlab环境,用户可根据实际情况调整参数以适应不同应用场景。同时,文中附有多张图表,便于理解和验证各个步骤的效果。

Global site tag (gtag.js) - Google Analytics