大龄程序员谎言

程序员有充分的理由感到自豪。 没有其他人有权进入数据库并改变现实。 世界越依赖计算机来定义世界如何工作,程序员就变得越强大。

las,骄傲在堕落之前就消失了。 我们分享的力量非常真实,但远非绝对,而且常常是空洞的。 实际上,由于没有完美的代码,它可能总是空洞的。 有时,由于计算机会犯错误,我们会竭尽全力并设定限制。 计算机也容易出错,我们从过多的第一手经验中就知道这一点。

[ 同样在InfoWorld上:我们暗恋的10种不良编程习惯 ]

当然,许多问题源于我们的程序员所做的假设,这些假设根本是不正确的。 通常在某些时候它们是正确的,但与在所有时间中都是真实的并不相同。 正如马克·吐温(Mark Twain)所说:“这不是让您陷入困境的原因。 您肯定会知道,事实并非如此。”

这是我们程序员经常假装的许多错误信念,它们是真实的。

谎言1:编程语言不同

下班后我们把桌子砸在酒吧里。 我们写很长的宣言。 我们向老板保证,这次,这种新语言将改变一切,并且精彩的软件将从键盘上大量涌现,以至每个项目都将在截止日期前一个月完成。 但是,最后,我们将数据粘贴在变量中,并编写一些if-then逻辑来对其进行测试。

程序员在他们的代码中看到了结构,并梦想着从中消除所有的低效率。 因此,他们想象着空中精美的城堡,它们被称为“框架”,“脚手架”,“平台”或“建筑”,并摆弄它们直到为当前问题提供正确的支持,以便所有内容都可以用一些精美的文字编写线。 las,下一个任务具有不同的结构。

最后,所有这些都是技巧和语法上的磨砂。 结构性酒消除了编码寿命的痛苦,直至其逐渐消失。 计算机是由晶体管构成的,没有任何巧妙的标点符号和类型理论可以掩盖一个事实,即我们所有的巧妙代码都归结为一点点掺杂的硅,选择在代码中向左或向右向下移动,没有中间的道路。

[ 同样在InfoWorld上:10个软件开发崇拜者加入 ]

谎言之二:框架日趋完善

也许您是因为对Vue中构建的页面不满意而在React中构建了最后一个Web应用程序? 还是因为WordPress界面笨拙且过时,您将无头的Ruby与通过模板引擎构建的一些静态页面包装在一起? 还是您将所有内容重写为更小,更新或更酷的产品,例如Marko或Glimmer或Ghost? 程序员一直在寻找完美的框架,但是像彩虹的尽头那样的框架永远不会出现。

拉尔夫·沃尔多·爱默生(Ralph Waldo Emerson)在1841年撰写《自力更生》时就预见了程序员的一生。他指出,“社会永远不会进步”,他谈到了编程框架。 “一方面退步,另一方面则退步。 它的进步就像跑步机上的工人一样明显……对于得到的每样东西,都会被拿走。”

因此,当开发人员创建新框架来修补旧框架的问题并一路引入新问题时,我们会一遍又一遍地看到。 如果框架添加了服务器端渲染,则会使服务器瘫痪。 但是,如果一切都留给客户,他们就会开始放慢脚步。 每个新功能都需要在时间,代码和带宽之间进行权衡。

谎言3:可以接受零

弄清楚如何处理空指针是现代语言设计的一个大问题。 有时我认为我编写的一半Java代码正在检查指针是否为空。

一些语言使用问号检查无效性的巧妙方法会有所帮助,但这并不能解决问题。 许多现代语言试图通过完全消除null来消除null测试问题。 如果必须初始化每个变量,则永远不能为null。 没有更多的空测试。 问题解决了。 午餐时间。

这一发现的乐趣在新代码的几行中消失了,因为数据结构经常有漏洞而没有信息。 人们将表格上的行留空。 有时数据尚不可用。 然后,您需要一些谓词来确定元素是否为空。

如果元素是字符串,则可以测试长度是否为零。 如果您在类型定义上花了足够的时间和精力,通常可以针对特定问题提出合乎逻辑的建议,至少在有人修改规范之前。 完成几次后,您开始希望得到一个简单的单词,表示一个空变量。

[ 同样在InfoWorld上:即使是经验丰富的开发人员也犯了15个菜鸟错误 ]

谎言之四:计算机可以捕捉人的选择

性别编码和可能代词的选择问题对程序员来说是一个大雷区。 计算机处理固定的列表和定义明确的菜单,并且人员不断更改规则。 一所非常进步的学校许可了现成的申请,只是发现表格只提供了两种性别选择。

计算机科学家从来没有真正解决过问题,他们只是添加了另一层间接寻址,在这种情况下,它是指向空字符串字段的指针,人们可以在其中填写自己的选择。 然后,一些小丑开玩笑,选择“ ma下 ”作为代词,这使一些孩子发笑,另一些则感到冒犯。 但是回到固定列表意味着排除一些选择。

此设计失败模式一次又一次出现。 如果您强迫每个人都使用名字和姓氏,那么有些人将只有一个名字 。 或是有人不想被一串Unicode字符所认识。 而且,如果有人为他们的名字字符串选择了一个新的表情符号,而该表情符号没有列出可接受的表情符号,该怎么办? 无论您尝试教计算机如何灵活,如何接受人类的各种想法和愚蠢,人类都会想出新的逻辑炸弹来破坏代码。

谎言之五:Unicode代表通用通信

有一个认真的委员会经常开会,试图确定哪些表情符号应包含在定义人类交流的标志符号的最终列表中。 他们还会抛弃某些表情符号,有效地否认某人的感受。

模因的爆炸表明这个过程可能是徒劳的。 如果全世界都发现表情符号过于局限,促使他们转向将文字与文化偶像的图片混合在一起,那么任何表情符号列表都足够吗?

然后是表情符号字体的问题。 一种字体看起来可爱而可爱的东西,在另一种字体中可能看上去晦涩而令人怀疑。 您可以选择可爱的表情符号,然后手机会使用其他品牌的手机和其他字体将完好的Unicode字节发送给您的朋友,该字体将使用含糊的表情符号来呈现字节。 哎呀。

[ 同样在InfoWorld上:每个开发人员都应避免的8个职业陷阱 ]

谎言6:人类语言是一致的

开发者挑剔的方法之一是在文本字段中输入内容,然后让人们随心所欲地填充它。 开放式注释部分是为人类编写的,很少被算法解释,因此它们不是问题的一部分。

真正的问题在于带有文本的结构化字段。 当我的GPS希望我选择一条以圣人命名的道路时,它会告诉我“转入约翰斯街”。 带有撇号的道路名称也会使其循环。 看到“圣 约翰之路”拼写为“圣约翰斯”,“圣约翰 约翰”,“圣约翰”,甚至复数形式:“圣约翰”。 美国邮局有一个规范的地址列表,没有多余的字符,并且维护着精心设计的算法,可以将任何随机地址转换为规范形式。

谎言7:时间是一致的

可能感觉时间一直在以恒定的速度流动,而且确实如此,但这不是计算机的问题。 是人类弄乱了规则,使程序员的生活变得令人讨厌。 您可能认为每天有24小时,但最好不要编写代码,前提是那永远都是正确的。 如果有人在美国东海岸起飞并在西海岸着陆,则该天将持续27个小时。

时区仅仅是开始。 夏令时会增加和减少小时数,但是在每年变化的周末都会这样做。 2000年在美国,这一转变发生在4月。 今年,该国在3月的第二个星期日更改了时钟。 同时,欧洲在3月的最后一个星期日移至“夏令时”。

如果您以为这就是结束,那么您可能是一个厌倦了编写代码的程序员。 亚利桑那州根本没有夏令时。 但是, 纳瓦霍族 ( Navajo Nation)是亚利桑那州的重要组成部分,并且确实改变了时钟,因为它是独立的并且能够自行决定这些事情。 确实如此。

这还没有结束。 霍皮族位于纳瓦霍族内部,也许为了维护其与纳瓦霍族的独立性,它不会改变时钟。

但是,等等,还有更多。 纳瓦霍人在霍皮族国家内部拥有一块土地,这使得使用地理坐标准确地跟踪仅亚利桑那州的时间变得更加困难。 请不要问印第安纳州。

[ 通过InfoWorld Daily新闻通讯了解软件开发,云计算,数据分析和机器学习方面的最新发展 ]

谎言8:文件是一致的

似乎仅记住数据应该是计算机可以做的事情。 即使位充满了许多逻辑,样式,正字,数字或其他不一致之处,我们也应该能够恢复位。 las,我们甚至无法做到这一点。

每当我要求Mac检查文件系统并修复错误时,它总是会告诉我一整列“权限错误”,它们会尽心为我修复。 如果没有我的许可,该软件如何获得更改我的文件访问权限的许可? 不要问我

这只是文件系统如何无法满足用户(供电人员)和机器(急需电力)之间的紧凑关系的两个示例。 任何程序员都会告诉您,还有数百种其他情况下文件不包含我们期望它们包含的内容的示例。 确保数据库公司能够以一致的方式写入数据,会给数据库公司带来巨额收入。 即使那样,还是出了点问题,顾问们得到了更多的报酬来修理南下的桌子。

谎言9:我们处于控制之中

我们喜欢相信我们的指令正在告诉计算机该怎么做,并且自大的骄傲通常是正确的,除非不是这样。

什么? 当然,对于普通的非编程SAP来说,可能并非如此,因为它们没有被编码能力所冲刷,但对于逻辑和算术向导来说却并非如此,对吧? 错误。 我们都是无能为力的乞g,他们坚持要使用机器给我们带来的一切。 操作系统由操作系统负责,它可能会也可能不会让我们的代码计算所需的内容。

好的,如果我们从头开始编译Linux内核并仅安装经过审查的代码怎么办? 那时我们当然可以控制。

不。 BIOS首先在计算机上出现故障,它可以秘密地对您的代码进行微妙的更改。 如果您在云中运行,则虚拟机监控程序将具有更大的功能。

好的,如果我们用自己的自定义引导加载程序替换BIOS,该怎么办? 您的距离越来越近,但是您的计算机中仍然埋藏着许多固件。 您的磁盘驱动器,网卡和视频卡都可以自己考虑,然后他们首先收听其固件。

不仅如此,您的CPU可能具有“ 隐藏的上帝模式 ”,可以让其他人接管命令。 不要在文档中寻找解释,因为它不存在。 这些只是应该放在盒子里的官方芯片的问题。 可能有人添加了带有隐藏议程的额外芯片。

即使是那个小拇指驱动器也具有内置处理器,该处理器具有自己的代码,可以自行决定。 所有这些嵌入式处理器都被发现藏有恶意软件。 可悲的事实是,您桌子下面那个盒子里的晶体管都没有向您报告。

翻译自: https://www.infoworld.com/article/3184495/9-lies-programmers-tell-themselves.html

大龄程序员谎言

大龄程序员谎言_程序员告诉自己的9个谎言相关推荐

  1. java程序员第二语言_程序员如何选择自己的第二语言

    我从儿童时期,1989年在AppleII电脑上敲下第一行LOGO语言指令,后与编程结下不解之源,二十几年来不曾中断,至今因为各种因缘际会,学会了很多大家常常听见的语言,也学了一些冷门的. 我应该可以算 ...

  2. 程序员吐槽_程序员吐槽大全,欢迎补充,吐槽有礼!!

    原标题:程序员吐槽大全,欢迎补充,吐槽有礼!! 本文转载自程序员互动联盟(ID:coder_online),略有修改 1 做起来还不是挺简单 槽点:不懂技术 一个不懂电脑的人,长期对我说,加这个功能, ...

  3. c语言sin程序怎么写_程序员求职简历,项目经验怎么写?免费修改简历并提供简历模板...

    我是一个典型的互联网公司程序员,在BAT有超过10年的工作经验,面试超过200个程序员.也见过无数的程序员简历,包括很多优秀的程序员简历,看了可以让人眼前一亮,优美简洁的简历模板,项目经验工作重点突出 ...

  4. 大厂程序员年薪_程序员羡慕深圳老师的待遇:年薪25万起,请问哪个科技厂可以比...

    互联网行业是公认的高薪行业,不少草根通过这一行业逆袭,在这一行业中,薪酬最高的莫过于程序员了,只要能进大厂,年薪动辄几十万,甚至过百万的大牛比比皆是,当然程序员付出的精力也很多,加班是常态,几乎没有休 ...

  5. 多余的读写端口什么时候会对程序造成影响_程序员需要了解的硬核知识之控制硬件...

    应用和硬件的关系 我们作为程序员一般很少直接操控硬件,我们一般通过 C.Java 等高级语言编写的程序起到间接控制硬件的作用.所以大家很少直接接触到硬件的指令,硬件的控制是由 Windows 操作系统 ...

  6. 管理赚得多还是程序员多_程序员如何为自己开辟出更多的收入渠道

    首先,随着IT互联网行业不断发展,当前程序员群体的规模已经比较庞大了,行业人才内卷已经让一部分程序员感觉到了较大的压力,如果能够基于自身的知识结构和能力来开辟出新的收入渠道,会在一定程度上缓解程序员的 ...

  7. 程序员鸡汤_程序员之魂鸡汤

    程序员鸡汤 Check this out: Love what you do. 检查一下:热爱您的工作. As I have already posted, a few months ago I di ...

  8. 程序员吐槽_程序员在地铁上写代码被路人吐槽:有什么好装的!网友评论炸锅了!...

    现在的人自我意识越来越强,专注做自己的事不太会在意别人的眼光,不管别人如何评价路,毕竟脚下的路是自己在走. 最近有位网友在职场论坛上发帖,说看见地铁上有一程序员大哥在写代码,并且配上了一张照片. 从照 ...

  9. python送程序员收入_程序员学Python后惊叹,这么丰厚的收入是Java给不了的!

    原标题:程序员学Python后惊叹,这么丰厚的收入是Java给不了的! 你都用 Python 来做什么?? 发现很多人都在学习 Python ,但是没有明确的说明可以做什么,主流的功能是什么? 想知道 ...

最新文章

  1. Spring 系列,第 2 部分: 当 Hibernate 遇上 Spring
  2. 字符串数字转换成对应的Double数值
  3. Spring Boot核心配置
  4. Makefile中 变量赋值含义
  5. 2017android 最强旗舰,2017年世界六大旗舰机,华为第五,第一惊艳全球!
  6. 使用 IntraWeb (21) - 基本控件之 TIWTabControl
  7. 联想拯救者Y7000关闭触摸板
  8. 什么是嵌入式操作系统?
  9. 多多视频如何快速涨粉(赚钱变现)
  10. 计算机按键变成音符怎么弄,电脑键盘的数字都变成了符号、怎么弄才能变成数字阿?...
  11. Notepad++安装--16进制插件HexEditor
  12. Android消息传递机制总结
  13. 小米华为苹果推送相关Nginx转发推送配置
  14. java ---- 登陆加密
  15. iOS- 利用.dSYM和.app文件准确定位Crash位置
  16. 2023年淘宝天猫京东618活动时间安排和活动攻略
  17. 字符编码笔记:ASCII,Unicode 和 UTF-8(转帖、留着自己学习)
  18. idft重建图像 matlab_1周学FFT——第2天 DFT和IDFT的MATLAB实现
  19. [DeCAF]DeCAF: A Deep Convolutional Activation Featurefor Generic Visual Recognition
  20. 【宾夕法尼亚大学机器人课程学习】Motion Planning

热门文章

  1. 51nod 1533 CF538F
  2. c语言编程迭代分数序列,C语言编程及上机题
  3. C++设计模式——观察者模式
  4. 扩容U盘恢复实际容量,芯邦量产工具,提示“低格版本比高格版本新”,GPIO 0025,CBM209X UMPToolV7100(2019-08-16),UMPTool 2019 版本
  5. 【概率论与数理统计】【线性代数】计算机保研复习
  6. php 画粗线,cad线条加粗的方法是什么
  7. [论文速读]:全景相机(360度相机)室内图像的景深估计 Depth Estimation for Indoors Spherical Panoramas (三篇)
  8. iOS开发:耳机线控
  9. excel 删除空白各自所在的行
  10. matplotlib绘图练习2——绘制菱形sin,星形cos