可以在WordPress.org的页脚中阅读:

代码就是诗歌。

这是一个大胆的声明,无论谁相信该口号,他都会被认为有些非凡的代码部分必须驻留在WordPress存储库中。

我花了一些时间看一下WordPress诗歌的随机“引号”,即一行代码:

$mode = ( empty( $_REQUEST['mode'] ) ) ? 'list' : $_REQUEST['mode']; // – WordPress.org

如果威廉·莎士比亚(William Shakespeare)会成为编码员,那么他可能已经写了一些如下文档:

我们知道我们是什么,但不知道我们可能是什么。 –莎士比亚

我喜欢莎士比亚,因为他有能力在正确的时间使用正确的词语来创造情感,梦想,愿景甚至想象中的问题。 另一方面,普通程序员试图解决一个特定的问题,并通过使用尽可能少的表达式来做到这一点。 当代码完成后,您可以轻松阅读和维护它时,我们就会认为代码“优雅”。 以我对莎士比亚的全部挚爱,我绝对不能说我可以毫无问题地理解他。 我经常不得不多次阅读他的文章。

这里还有一些观察结果:

  • 程序员不应使用莎士比亚曾使用过的32,000个单词, [1]甚至不敢尝试包含莎士比亚所知道的其他35,000个单词,但他们并不觉得有必要使用。
  • 程序员不应尝试在观众中引起情感。 如果您的同事对您的代码很感兴趣,那么您很可能已经搞砸了。
  • 程序员无需编写大声阅读时听起来不错的代码。
  • 编程是要及时解决预算内的问题。 大多数诗歌没有预算,也永远无法解决问题(请参阅:埃德加·艾伦·坡,但至少看来他并没有因为自己的问题而遭受太多痛苦)。
  • 程序员需要编写可以由他人维护的代码。 如果您想“维持”他们的作品,一些诗人会向您扔一瓶(空)酒。
  • 程序员不应该关心哲学问题。 诗人被允许并被要求做到这一点。
  • 程序员需要表达一些直率的东西。 许多好诗都是解释问题。

在我们进行解释时:诗意的解释也与PHP解释器的工作方式非常不同。 诗歌的解释是基于您自己的思想,思想和信念。 试着分析威廉·布莱克的这首好诗:

泰格! 泰格! 燃烧明亮
在夜晚的森林里
什么不朽的手或眼睛 能构筑您可怕的对称性吗?

您可以在此处阅读一种分析。

另一方面,请解释一下:

prnt_r)('Hello World!');

当然,可以的,您可以解释程序员患有阅读困难,没有测试他的代码或键盘坏了。 但是除此之外,这一行代码仅此而已。

如果此代码行得通,那就只有一件事了:在屏幕上打印一条消息。 为什么? 不知道。 阅读规格以获得详细而准确的解释,或要求您的客户为您解释。 在这行代码中没有其他内容。 如果有……我们通常将其视为错误。

代码是代码,但绝对不是诗歌。 这也不是音乐。 也不是绘画。 它是代码。 充其量,您可以说这与数学有关。 但是代码和诗歌有不同的目标。

但是为什么一个人应该称呼他的代码诗呢? 老实说,编码实际上具有创造力:您有一个问题,您需要制作出一些解决问题的方法,只需使用您的头脑和少量词汇即可。 这不是很多人的工作。 有人说“每个人都可以编码”,但这不是事实。 这是一种非常具体的思考方式,并且说每个人都能做到这一点是无知的。

如果一个人尝试失败,这个短语的意思是:“除了你可以编码的所有人”。 听起来这个人不够聪明。 说这样的话意味着我们将忽略这样一个事实,人们会有所不同,有些人具有更强的身体能力,而另一些人可以在功能和对象上进行思考。

例如,我并不完全运动,我也不擅长统计。 仍然有人认为我是一名优秀的程序员,但是好吧,我因其他事情而惨败。

能够通过思维进行编码和制作东西使某些人认为它们有些特殊。 他们以巧妙的方式表达命令的能力是艺术,或者在WordPress的情况下:“诗歌”。

如果我们团队中的某人为自己的代码感到骄傲,那么将调用所有警报触发器。 此人实际上是否可以接受同事的改进? 还是他会像EA Poe一样举起酒瓶?

如果“编码器艺术家”认为这是艺术,那么他是否能够改进自己的代码? 他是否可以实际编写解决问题的代码,还是需要找到“黄金路”? 正如我的爵士朋友在解释他的音乐创作方式时告诉我的那样,这是解决音乐问题的最可能最佳方法。

作为编码人员,我们并不总是需要黄金方式。 开发人员有一个通常在艺术中缺少的约束:时间。 我的爵士朋友在他的第一张专辑中工作了20年。 在艺术上还可以,他只需要以其他方式赚钱。 但是要让您的客户知道,要找到解决问题的最佳代码,商店功能将花费20年。

时间改变了一切。 它改变了我们的想法。 它改变了我们的工具。 它改变了我们的需求。

当布雷克(Blake)描述泰格(Tyger)时,他在一瞬间就描述了泰格(Tyger)。 也许是一段时期。 但是没有必要编写Tyger 2.0。 布雷克(Blake)写了《泰格(Tyger)》,完成后便完成了。 泰格在那儿,不会改变。

我们的软件将更改。 我们将而且应该改变。 因此,我们不能将代码视为艺术,因为在任何情况下代码都无法生存。 我们可以称自己是熟练的。 但是说真的,您会称自己为出色的开发人员吗? 正如我在“ The Zen Programmer”中所写的那样,随之而来的问题有很多。

为什么将代码称为“艺术”或“诗歌”? 它必须随着时间而改变。 这是作为开发人员掌握的唯一艺术: 接受事物的变化,并接受这些变化而不附加它们

[1]: http : //kottke.org/10/04/how-many-words-did-shakespeare-know [返回]


禅宗程序员

本书将教您不仅有电子邮件,电话和紧急问题。 禅宗老师几百年前告诉我们的话,今天仍然是正确的:我们可以说“不”,把自己的生活掌握在自己手中。 Zen不仅适合史蒂夫·乔布斯这样的著名企业领导人。 这是给你的。 它不是周末。 您可以随时(即使是现在)在第二秒练习Zen。

程序员是通缉犯。 但是,我们很多人都陷入了社交网络,电话和刚开始与我们交往的人们。 我们认为,我们需要做所有我们能得到的工作,只是因为有人告诉我们,如果我们不这样做,我们最终将变得贫穷而孤独。 到最后,我们仍未实现目标。 我们试图在周末放松一下,但是我们的电话响了一些紧急情况。 最终,我们日复一日地陷入混乱之中,几乎找不到出路。

这本书将教您不仅有电子邮件,电话和紧急问题。 禅宗老师在几百年前告诉我们的话今天仍然是正确的:我们可以说“不”,而我们的生命就掌握在自己手中。 Zen不仅适合史蒂夫·乔布斯这样的著名企业领导人。 这是给你的。 它不是周末。 您随时都可以在此时此刻练习Zen 。

立即获取书!

翻译自: https://www.javacodegeeks.com/2014/08/code-is-not-poetry-it-is-just-code.html

代码不是诗歌,它只是代码相关推荐

  1. 【python】一个目录里面多个python程序文件,统计一下里面有多少行代码。即分别列出:代码、空行、注释的行数。

    一个目录里面多个python程序文件,统计一下里面有多少行代码.即分别列出:代码.空行.注释的行数. 题目 代码 结果 题目 一个目录里面多个python程序文件,统计一下里面有多少行代码.即分别列出 ...

  2. AI 生成的代码可信吗?编写的代码有 Bug 吗?

    编译 | 禾木木 出品 | AI科技大本营(ID:rgznai100) 即使是帮助开发人员编写软件的工具也会产生类似的bug. 目前,大部分的软件开发人员会让 AI 帮助开发者们编写代码,但是开发人员 ...

  3. 什么是整洁的代码?什么是肮脏的代码?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:http://rrd.me/ekN6H 命名的艺术 注释 函 ...

  4. java gui构造工具_Java Web框架 静态代码块、构造代码块、构造函数、普通代码块 执行顺序 Decompiler JD-GUI 反编译工具...

    1.下载jd-gui-windows-1.4.0. http://jd.benow.ca/ 2.通过jd-gui.exe查看.class文件,用于分析类编译过程. 3.源文件. // 加载相应的 He ...

  5. R语言统计代码运行耗时实战:计算代码运行时间、使用proc.time函数计算代码运行时间

    R语言统计代码运行耗时实战:计算代码运行时间.使用proc.time函数计算代码运行时间 目录

  6. 代码和普通的java_Java中普通代码块,构造代码块,静态代码块区别及代码示例...

    对静态代码块以及构造函数的执行先后顺序,一直很迷惑,看了孙伟琴老师的<java面向对象编程>又结合毕老师的java基础视频中的讲解,现用下面的这段小程序来简明扼要的叙述一下,以加深理解,与 ...

  7. 大咖来信 | 微软中国CTO韦青:低代码/无代码时代来了,写代码的你准备好了吗?...

    十三 发自 凹非寺 量子位 报道 | 公众号 QbitAI 编者按:编程语言几年一变样,学了C.C++,还得跟上Python的潮流-- 各大排行榜上,语言之争也是愈演愈烈,还架不住时不时杀出个黑马. ...

  8. 如何在Visual Studio中直接使用示例代码浏览器搜索下载和管理代码示例

    今天微软一站式示例代码库团队发布了示例代码浏览器的Visual Studio 扩展.有了它,开发人员就可以在Visual Studio 2010里直接通过Alt+F1快捷键搜索示例代码,并方便地对示例 ...

  9. python在哪里写代码比较适合-AI辅助写代码,Python之父都爱不释手的工具

    我刚看到这个工具的时候,也是一脸懵x,AI?机器学习?辅助?如果能全自动写出代码得多好,不过真要是这样,在座各位的就业危机就彻底来了. 言归正传,这个工具是-- kite 这是一款IDE插件,使用机器 ...

  10. php 自动处理小图的代码,PHP 处理图片的类实现代码

    PHP 处理图片的类实现代码 2021-01-23 20:19:208 复制代码 代码如下: /** * author:yagas * email:yagas60@21cn.com */ class ...

最新文章

  1. .net multi-threads synchronization : Use Lock effective
  2. 网页全终端视频流媒体视频直播/点播播放器EasyPlayer.js实现WEB播放H265/HEVC视频方案介绍
  3. flutter分平台主题定制
  4. 【问链财经-区块链基础知识系列】 第十九课 区块链应用于电子存证
  5. 菜鸟成长日记(五)之WMIC简单命令应用
  6. 使用 position: sticky 达到粘性元素区域悬浮效果
  7. 做数仓运维,你必须要认识这个眼观六路耳听八方的“能人”
  8. deepin启动盘无法引导安装_deepin 无法启动问题解决
  9. Android语音识别开发详解(基于讯飞语音SDK)
  10. php7和php5对比
  11. 你还在使用xshell绿色破解版?
  12. 鸿蒙手机系统pc版下载,鸿蒙系统os下载官网版v1.0开源版
  13. 中级微观经济学:Chap 9 购买和销售
  14. Android 服务器消息推送技术
  15. 2022年全球与中国ODM和EMS网络硬件行业发展趋势及投资战略分析报告
  16. html图片隐藏文字,怎样用CSS隐藏图片背景的文字内容
  17. 服务器编程入门(11)TCP并发回射服务器实现 - 单线程select实现
  18. 高效使用Mac标签功能
  19. 前端学习笔记--AJAX的应用(三)form表单改为AJAX提交
  20. jrtplib收发实例

热门文章

  1. fiddler-11-抓不到https咋办?导入证书失败咋办?
  2. 2020年各大互联网公司校招薪资
  3. u大师u盘装系统win7_win7系统电脑如何用U盘装,教程在这里
  4. 为什么我不选择低价代理记账公司?
  5. JavaScript判断数据类型的方法
  6. CSS 长度单位的详解『你还是只会使用PX吗?(╬▔皿▔)╯』
  7. netbsd apache php mysql_NetBSD2.0下架设入门级www服务器
  8. Python3 基础爬虫
  9. 机械专业与python的联系_使用python进行机械设计计算
  10. centos7下安装redis6.0.6