帝都的夜似乎静些。也许是湿度的缘故吧。
管风琴的声音在耳机中回荡,第7天了,自从接触就疯狂爱上的曲集依旧在循环,在管风琴与钢琴间徘徊。
《赋格的艺术》是J.S.Bach生平中最后一组曲,写就的目的是为了像世人证明赋格的高度可以远超过一切存在的音律。
他做到了,也燃尽了整个自我,近乎失明的他在倒数第二首中写下BACH四个音后,整首曲子戞然而止,为他的生命华丽丽地画上了省略号,而不是句号。
他的弟子们根据他的口述整理出了最后一<!--more-->首,但倒数第二首却没人能够续写。
“Bach的话,那确实没人能够续写了。”朋友说。
确实。
帝都的夜似乎更加静些,也许是因为少了些不必要的电话吧。
听着第六首的时候说着第十六首中的事,总觉得有些剧透的感觉。
这一组曲是在《GEB》这本书中看到的,书中以此曲为例,影射定理系统中的不完备性。
刚看到的时候还觉得奇怪,如此热爱巴赫,听过众多协奏曲,奏鸣曲,怎么却从没听闻这一组。
也罢,要把BWV后面那一串数字遍历一番,怎是几年所能成就的。
《GEB》是本神书,书的中文全名叫《歌德尔,艾舍尔,巴赫,集异璧之大成》,以音乐开头,铺垫雕塑与绘画,讲述的却是数学。
从来都觉得世界本没有各个学科之分,因为世界本就只有一个,理性地感性地探索到的总是同一个世界,分出些许文理科目来只是因为对世界的认知不够完善罢了。
而GEB却是我所读到的唯一一本将这一观点如此精简而准确地用定理的形式描述出来的书。
令人兴叹。
帝都的夜色似乎更沉一些,也许是终于脱离了琐事,得以好好翻阅最爱的书。
回到第一首的旋律了,这次是钢琴。古尔德的演奏总是伴随着他独有的哼哼。
在沉静的夜色下,这人声便愈发从钢琴声中脱跃出来了。
如同GEB,心浮之时看到的是历史,艺术,数学,神话的大杂烩。而沉下气来,便能在这之中看到所有这一切中,统一的,最简单的最美的规则。
文理本是看来相去甚远之学问,却被GEB以极美极和谐的方式写在了一起。
演奏时哼出旋律本是在演出中的极大不和谐,在古尔德大师那里却成了他独有的特色。
GEB之神奇在于每每从历史或神话发起,描写一番音乐与绘画之后引出数学之规律,将一切穿插起来,最后却总能从数学说回音乐与绘画。在每个章节中周而复始,如同Bach那些无法超越的赋格。
我爱赋格,如曾经看过的一篇《赋格的艺术》乐评中所云,她涵盖了整个宇宙的严谨庄重,包涵一切。
一个简单的主题,通过在时间尺度上不断重复自身就能获得千变万化的旋律。
记得以前学3dsmax的时候书上说过,尽量使用分形作为材质贴图生成,因为那样出来的质感最接近大自然。
后来我明白分形便是不断重复自身的图形。
就像赋格。
帝都的夜沉静中透着一丁点不安,兴许是听着熟悉的旋律,暗暗意识到那戞然而止之临近吧。
钢琴的声音缓慢如接近冰冻的流水。但这缓慢的主题却将创造出最紧凑的节奏。这就是赋格。
赋格的规则是,从最简单的一个主题开始,演奏几小节后,同一主题加上一丁点细微的变化,再切入成为第二声部,叠加到原来的主题上,周而复始,乐曲便不断丰富起来。
《赋格的艺术》之所以是巅峰,在于其是几乎无人能及的三主题三声部以上的纯赋格。
《GEB》之所以称为巅峰,在乎它是少数文体、内容、格式互相映射并整整如此写了一千多页的书。
突然想起使用3dsmax下mentalray渲染器的时候,我看着爬格子的渲染框入了迷,最初最快地爬完所有的格子,形成一副模糊的图像,之后每个格子再爬一遍,爬过的格子里图像便清晰一些,不断重复,便成了足以乱真的图。
当时总觉得这和接近自然的分形材质有些相似,后来明白这是一种算法,叫做递归。
从不断细化的渲染想到分形,之后认知到递归。这一现象在《GEB》中被称为同构。
似乎思维的跨度有些大了。
也罢,就让这散文一直散下去吧,哪怕赋格的主题经过若干变换之后也可以变成完全不同的另一种旋律。
然而散文之散,怎么能和赋格之紧凑同日而语呢
谁知道呢。
赋格之紧凑在于其环环相扣,其递归之美如同Clojure中的(recur ...)语句一般,简洁,强大,包容一切。
于是又想到Clojure了,潜藏的思绪就像是古尔德的鼻音,永远无法预知何时会突然出现。
然后不经意间悄悄流露。
可能是因为来帝都的第一天就是一场Clojure聚会,突然觉得帝都的夜更清些。
耳机里的音乐已经奏过一循,摘下休息一下耳朵,便愈发觉得清了。
用繁杂混乱的php做一番东西后真心觉得简洁强大的Clojure足以陶冶情操了
Clojure是Lisp的一种方言。
以前观看古尔德演奏时那份陶醉,便总幻想这若是钢琴键盘换成了电脑键盘,可否存在一种语言,能够让编程如同演奏音乐般令人沉迷。
当我遇到Lisp的时候我认定就是她了。
用Lisp写程序时环环相扣的递归结构恰如赋格一般,严谨,而千变万化,
而Lisp极简的语法也如赋格的主题,通过宏变换自身,与自身互相协作,最终产生强大的程序。
在Lisp中所想即所书,所书即所得。
看着数据流一步步变化,像是看着《GEB》中的各类假想处理机般令人痴迷,数据仿佛组成了音符,在代码的旋律中跳跃。
递归之美,恰如在三维渲染之时盯着某个格子,看着里面的图像一步步细化,精确,精细,精致。
Lisp之哲学,代码即是数据,如同音乐中音符即是旋律般简单。
却又强大得能够描述整个世界,只需只言片语。
帝都的夜,正在一点点流逝。兴许是因为行文之惬意,时间竟过得如此之快。
为了让耳朵得到休息,我早以摘下耳机,现在耳旁只剩下电脑风扇的旋转与键盘敲击的声音。然而《赋格的艺术》仍然构成耳边的幻听,挥之不去。
用Clojure编程感觉像是在写古体诗。
Clojure重新演绎Lisp这最古老的语言,竟如同赋格这最古老的曲式,如同最古老的诗一般,撒发着永恒的魅力。
正像《GEB》中那样,所有各个学科互相影射之后,其背后来自宇宙本源的美便凸显出来。
Clojure满眼的括号背后支撑着高度统一的语法,构成这古体诗的韵律,写着写着,仿佛便能唱出一般。
看这层层嵌套的递归,哪怕唱出来,也必然是一曲赋格。
在学习Clojure的时候,我突然意识到,好程序和好诗有着相同的标准:多一字则显冗长,少一字则不达意。
记得3D制作中好的走线建立出的模型也是,多一个面浪费资源,少一个面破坏结构。
于是Lisp之美在Clojure的包装下更加栩栩生辉,让屏幕前的人如同古尔德演奏《赋格的艺术》一般演绎Clojure,其投入恨不得要把整段程序哼出来。
诚然,在通宵写完程序之后,我总能在半睡半醒把某段代码和某端旋律对应起来,彻底而不加怀疑地认定这段代码和这段旋律正是互相描述的,之后在充满代码的幻听中进入梦乡。
等待第二天,生活的下一轮递归。
帝都的夜即将结束,天还没亮,然而似乎清晨的气息已经悄悄通过窗户的缝隙飘进来了。
外面渐渐有了些车子行进的声音。
突然很陌生,比以往任何独处异地的时候都要陌生。
这陌生来自生活的变化,来自不适应,来自思念。
在北京拿着熟悉的电脑,敲着熟悉的代码,听着熟悉的音乐,看着熟悉的书,然而生活却不再熟悉,没有了熟悉的屋子,没有了熟悉的灯光,没有了熟悉的人。
猛然惊觉这份思念,恰似初次听到《赋格的艺术》之录音中古尔德的鼻音那般突兀。
也同样令人想去细细品味。
而这之后也猛然想起,最初写作的念头也竟来自于这份思念。
就像是听着极长的赋格,早已习惯旋律的变化之后猛然惊觉,现在所听之争鸣之象竟来自最早那单一的主题。
好在思念之人也即将来京,熟悉的主题旋律也将再出现,想来心里于是安稳了许多。
提到写作的念头,便不得不提起自己有多久没有写作了。
然而何必纠结呢,天天对着满屏幕的代码,便也是写作了。
文字能够描述世界,代码又何尝不是呢。
并且不比绘画雕塑或3d建模,文字与代码描述的世界总是更抽象,更写意,只言片语,确是一副宏大的图景。
只若是一种美丽的语言,定能写出好文章,或者好程序。
就如同一把好乐器,无论是琴,是笛,是号,总能演奏出动人旋律。
生活何尝不是如此呢,只要能够感悟,无论编程,写作,赏乐,读书等等,都能够充实流逝中的时间。
生活的规则就《GEB》中为公理系统建造的自动机,如同Clojure中的(iterate ...)函数,如同赋格巅峰之作《赋格的艺术》,日复一日却有所累积,时间便在这累积中成为价值。
价值也在这累积之中成为意义。
帝都的夜悄然离去,按时间已是清晨,我也将入眠,准备生活递归的下一次绑定,准备生活主题的下一次重现,准备并期待着,那熟悉的生活熟悉的人。
继续生活这一曲赋格。
转载于:https://my.oschina.net/clyce/blog/100954