阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

代码中的“它”

  • 2013-08-16
  • 本文字数:1003 字

    阅读完需:约 3 分钟

这周读了本小书,《学箭悟禅录》,很有意思。

《学箭悟禅录》讲的是一个德国人,一直以来对东方文化和哲学感兴趣,但是要理解“禅”,对德国人而言实在比较困难。机缘巧合下他到了日本,拜在了一个弓道大师门下修习弓道,希望以此能够了解“禅”是什么。

在日本,弓道不是一种体育竞技,而是一种艺道;修习弓道,提高技艺只是过程,修心才是成果。作者描述自己修习了一年才学会拉弓,而放箭这一动作,修习了三年多还不得要领——因为弓拉满时,肌肉绷得总是绷得太紧,松手放箭总是歪歪扭扭的。学生为之痛苦不已,大师却只是让他放下自我,无求的等待。

一天,他问大师:

“如果‘我’不放箭,箭怎么会射出去?”

大师说:

“‘它’自己射出去。”

“以前我曾听您这样说过几次。让我换一种问法:要是‘我’不再在那里的话,我怎么能忘我地等待呢?”

“‘它’在最紧张的点上等着。”

学生虽然仍然不明白,但仍然继续坚持日复一日的练习。

再之后的一天,学生射过一箭后,大师深深的鞠了一躬,突然停了课。“刚才‘它’射出去了!”

当时读到这一段的时候,想到一件事情。很多时候我们写代码——大家应该也有过类似的经历,就是自己写出来一段东西之后,会隐约觉得,‘它’本来就在那里,这个代码本来就是这样的;作为代码的撰写者,我们其实什么也没做,只是让本来就存在的代码从自己的指间“流”了出来。

这听起来倒有点像基督教的说法:《圣经》的四个福音书虽然是四位圣徒写的——圣徒都是人类,但他们都是在圣灵的指引下完成的。因此福音书是神的作品,而非人类的作品。

不管怎么说,编程,也是技、艺一体的行为,这个行为的艺术属性并不亚于其他的艺术行为。这个世界是不是真的存在绘画之神,音乐之神,足球之神,弓道之神,或者代码之神,这也不是那么重要。但可以确定的是,“它”是真实存在的。

当弓道的学生可以很好的把箭射出去了之后,大师问他:

“你现在明白‘它射出去’、‘它击中靶子’的意思了吧?”

学生答道:

“我恐怕什么都不明白,即使是最简单的东西都变得毫无头绪。是‘我’拉弓还是弓拉我进入最紧张的状态?是‘我’射中目标还是目标射中我?……弓、箭、靶与自我,所有都相互交融,我再也无法将之分开,而且连分开的必要都不存在了。因为我一拿起弓来射时,一切都变得那么清晰直接,那么近乎荒谬的简单……”

大师插嘴说:

“弓弦现在终于能如意地切过你了。”

本日作者简介

杨赛(@lazycai),InfoQ 中文站编辑。到处串门的互联网信徒,相信规则的力量。

2013-08-16 04:32580

评论

发布
暂无评论
发现更多内容

火币量化交易系统开发|火币炒币机器人软件APP开发

系统开发

“金三银四”面试别慌!最新阿里P8内部Java面试涨薪秘籍!全网最新已开源

Java架构之路

Java 程序员 架构 面试 编程语言

【邀请有礼】全球视频云创新挑战赛邀请有礼:参与 100% 获得 “壕” 礼,更有机会获得 JBL 音箱、Cherry 机械键盘

阿里云视频云

阿里云 音视频 比赛

程序员成长第二十篇:刚晋升管理者,有哪些方面要注意?

石云升

程序员 28天写作 职场经验 管理经验 3月日更

单点登录(SSO)

一个大红包

SSO 28天写作 单点登录 3月日更

从JVM底层原理分析数值交换那些事

Java 架构 JVM

用户画像实践

Jackchang234987

VMware Workstation

梅花鹿鹿

虚拟机

女神节|深情告白季,程序员和他的浪漫

InfoQ写作社区官方

热门活动

2021最新分享面试跳槽宝典:互联网大厂Java高级工程师核心面试498题(附解析)

比伯

Java 编程 程序员 架构 面试

自动炒币机器人系统开发|自动炒币机器人APP软件开发

系统开发

融云CEO韩迎:飞信十年珍贵历练,做To B别有取巧的心思

融云 RongCloud

IM RTC 飞信

当开工季遇上采购季,云通信主播教你怎么省心又省钱

阿里云Edge Plus

云通信

震撼来袭!2021版全新版Java面试笔记现世,简直把所有Java知识面试题写出来了

Java 架构 面试

进程和nginx

一个大红包

28天写作 3月日更

翻译:《实用的Python编程》03_06_Design_discussion

codists

Python

容器 & 服务:K8s 与 Docker 应用集群 (二)

程序员架构进阶

Docker 持续集成 kubernete 服务化 3月日更

表达的时代

ES_her0

28天写作 3月日更

Linkerd or Istio?哪个Service Mesh框架更适合你?

xcbeyond

Service Mesh istio 技术选型 Linkerd 3月日更

什么是开放艺术?探讨融合区块链技术的新艺术范式

CECBC

小树量化交易系统开发|小树炒币机器人软件APP开发

系统开发

使用 Puppet 进行配置管理

码语者

DevOps 配置管理

作业 - 第五周

eva

【回溯算法】组合总和升级版 ...

宫水三叶的刷题日记

面试 LeetCode 数据结构和算法

mysql常用命令

Sakura

搜狐三面:说说你是怎么解决MySQL死锁问题的!

Java架构师迁哥

2021最新腾讯面经分享:Java面试刷题PDF(17个专题 5000字解析)

比伯

Java 编程 程序员 架构 面试

终于讲清楚了:深入理解Java 应用程序中 final 关键字的各种使用场景

老王说编程

Java final

政府区块链招投标市场活跃 “区块链+警务”等多元化领域成​方向

CECBC

JAVA学习心得

张鹤羽

28天写作 3月日更

Wireshark数据包分析学习笔记Day2

穿过生命散发芬芳

Wireshark 数据包分析 3月日更

代码中的“它”_语言 & 开发_sai_InfoQ精选文章