代码不是诗歌,它只是代码

可以在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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值