程序员是高大上的艺术家,而不是码农!

译文
移动开发
程序员和作家其实是同行,而且,他们都是坐在电脑跟前不停地敲打着键盘,两人在一起没准能用键盘奏一曲呢~

【51CTO.com快译】写程序就像作家写小说一样,程序就类似一个剧本。如此一来,程序员和作家其实是同行,而且,他们都是坐在电脑跟前不停地敲打着键盘,两人在一起没准能用键盘奏一曲呢~

[[181660]]

 为什么这么说呢?小说是从构思到实现,程序从编程到运行,二者都是在运行你的思想,只是他们的表达出来的形式不太一样。作家在下笔之前若没有想法,就会出现很错乱的故事剧情,毫无逻辑可言。写程序也一样,先酝酿好想法,才好写下来告诉二逼电脑该干嘛。不过程序语言不是每个人都读的懂,毕竟对大多数人这是外语。但看不懂火星文,不代表没有好的火星文作品。

大家都会记得***次写出来的作文,是多么混乱和随意,因此你想写出好作文必须对写完的文字进行调整、润色,这在编程中称为重构。

[[181661]]

 并且,作家和程序员,等级也有着明显的差异。

 

并且,作家和程序员,等级也有着明显的差异。

作家可以创作,程序员也可以。但这跟实力和理想有关。写程序如写文章,写出来的好坏,得看那位程序员的功力。

 

给大家举个列子,我看完《指环王》这本书之后,不由得感叹《指环王》真是一部神作。就像程序员写代码一样~

[[181662]]

《指环王》最初只是《霍比特人》的续集。托尔金的出版商想通过续集从大获成功的《霍比特人》大赚一把。但《精灵宝钻》并不是成功的续集。于是,托尔金开始打算为《霍比特人》创作一个续集。***本书的书名是《黑影重临》,而不是《指环王》。这部小说仍然是写给孩子看的。弗罗多被称为宾果,斯特尔德是个名叫特罗特的霍比特人,比尔博打算结婚,魔戒仍然只是一枚戒指。这个故事没有明确的动机或方向。托尔金曾问道:“霍比特人还能做什么?”接着,霍比特人的想法涌现了出来。

 

[[181663]]

托尔金写了一份又一份草稿,寻找***故事的方向。托尔金写道《黑骑士》的场景时,一切都变了。一开始,黑骑士实际上是白骑士。甘道夫来找宾果谈话。随后故事开始展开。随后,突然之间,马的颜色从白色变成了黑色,甘道夫变成了披着黑色斗篷、头戴兜帽的人,这就类似于编程中的一个新的框架。

我们怎么知道,这是一个新的框架呢?幸好,通过克里斯托弗·托尔金,我们了解了他父亲对《指环王》所作的改变。科里·奥尔森博士(注:托尔金小说的权威研究者)向我们介绍了实际上是《指环王》的git日志。

想象一下,这好比是从真正的托尔金研究专家、天才分析师那里读到Papers We Love论文,这很神奇。

 

并且,作家和程序员,等级也有着明显的差异。

 

我们看到一个又一个想法在文本中涌现。这是持续不断的重构和新开发过程。一些想法从头贯穿到***。许多想法被摈弃,许多想法发生了演变。许多对话被保留下来,但被赋予了不同人物,以便在不同的情形下说出来。

这个创作过程的整体感觉就像是在开发软件,只是结果不是一款切实可行的应用软件,而是有史以来***影响力的故事之一。

对我来说,这个教训印证了这句老话:任何成功的大型系统都是从成功的小型系统开始的。这同样适用于作家和程序员。在创作过程中,你很容易对自己没信心,因而感到沮丧。无论故事还是程序,不一定一开始都很出色;只有不断进化,才会获得出色的结果。

[[181664]]

因此,我要告诉各位,我们不是码农,我们是艺术家~

原文标题:How Is Writing Lord Of The Rings Like Writing Software?

作者:Todd Hoff

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

 

责任编辑:陶家龙 来源: 51CTO
相关推荐

2014-11-19 15:26:00

程序员

2014-12-04 10:02:55

2012-03-30 08:52:48

2019-04-12 14:14:09

码农程序员职业

2011-08-24 14:03:34

LiveSketchiOS

2020-12-06 20:12:52

码农程序员

2013-07-24 09:31:45

大数据迪斯尼

2015-08-12 09:58:56

程序员工具

2012-09-10 09:16:54

2015-06-02 09:11:11

程序员效率源于需求

2015-06-29 15:01:40

程序员黑客和2B

2012-12-24 15:24:24

2015-05-25 19:30:15

程序员代码维护

2012-08-20 09:26:17

程序员算法排列算法

2015-05-19 09:43:34

程序员他们是作家

2015-05-25 10:06:39

程序员代码

2015-06-18 05:33:36

程序员码农

2014-06-30 16:08:29

2022-05-30 13:38:51

区块链人工智能Web3

2024-03-28 13:18:34

AI模型
点赞
收藏

51CTO技术栈公众号