页面

2011年11月13日星期日

Leica中文摄影杂志 - 『摄影师访谈』Walker Evans,摄影是对事物本身的超越

Walker Evans(1903-1975)为美国农场安全管理局(Farm Security Administration)所拍摄的照片,让他成为最广为人知的摄影师之一。在近50年的拍摄生涯中,他要求自己的作品具有"文化内涵、权威性和对事物本身的超越"。下面是1971年他与出版人Leslie Kats的一次对谈,有一些观点非常值得参考。

LK=Leslie Katz
WE=Walker Evans


LK:只要某样东西让你感兴趣,你就会把它拍下来?
WE:是的,我是一个充满冲动的摄影师,对我来说,摄影如同写作的替代品。我曾经想当作家,但最后还是通过相机与这个世界建立联系。只要光线条件允许,就会不断地拍,这是一种发自内心的动力。

LK:你最喜欢哪位作家?
WE:福楼拜(Gustave Flaubert)和波德莱尔(Charles Baudelaire)

LK:你是怎么维持生计的?
WE:为了留出白天的空闲时间,我晚上在华尔街工作,靠赚来的钱维持生活。我和Paul Grotz还有德国画家Hans Skolle合租一间公寓。那会儿我有点反美,朋友几乎都是欧洲人。美国遍地都是生意和金钱,但我讨厌那样,只想远离这个地方。有意无意间,摄影成了我对传统思维和乐观主义的一种反抗,一种对权力体系的攻击。我爸爸常说:"你为什么总拍些让人郁闷的照片?为什么不多关注一下美好的东西呢?"

LK:你是从什么时候开始拍照的?
WE:1928或1929年。我想在街头捕捉某一特定类型的画面,比如湖边人群的"快照",或是一个正在吃午饭的速记员。那种方式让我非常着迷,我至今还在挖掘其中的可能性。

LK:你喜欢收集明信片之类的东西,这和你的摄影有联系吗?
WE:这两者其实很相似。收藏家会特别关注某样东西,并沉醉其中、四处搜寻,而摄影也是如此。有段时间,我对某种长相和某一类型的人特别感兴趣,就开始用相机来寻找他们。这个过程让人陶醉。在我看来,所有艺术家都是影像的狩猎者。

LK:你如何考虑构图?
WE:比起刻意的构图,我更喜欢自然而然的方式,有时我会故意忽略构图,好让照片显得不那么"匠气"。

LK:你如何看待偶然得之和有意安排的不同方式?
WE:如果你说的是拍摄过程,那我完全是出于本能的。假如最后拍出的照片没有超越事物本身的意义,我就不会用它。我喜欢尤金·阿杰(Eugène Atget)的作品,你能感受到一种诗意,就算只是一截树根,他也能拍出更深的意味,这是许多摄影师无法企及的。从这个意义上说,摄影并不是一件容易的事。

LK:在绘画和写作中,我们可以谈论画家的技巧和作家的文笔,而摄影却是相机与视野的融合,在这样一种有机械参与的过程中,该如何找到与其他艺术对等的表现方式?
WE:正因为这一点,摄影才如此特别,如此有趣;也正因此,人们往往不把摄影当作艺术。我之所以半开玩笑地说摄影是艺术中最困难的一种,也是出于这个原因。摄影让我感觉自己是在走钢丝,当你拍照时,要么大获成功,要么一无所获。我觉得摄影的本质并不涉及太多技巧,相反,那是脑海中一闪而过的灵光,相机只是用以实现这个想法的工具罢了。同时,对图像的编辑也反映了它的本质,一旦知道了你想要什么,就必须对你的成果进行编辑。摄影的奥秘在于,相机是拍摄者个性和思想的体现。












Leica中文摄影杂志』推荐使用Email的方式订阅,亦可通过Google ReaderQQ阅读鲜果等RSS工具阅读;在Apple Mac OS X下可获得最佳阅读体验

iPhoto.ly』在苹果上阅读:iPhone版+iPad版,^_^

Tips: 关注我们: Twitter饭否微博

『小建议』如果你在Email里看到这篇文章,可以转发给你的朋友;如果你在Google Reader阅读器里看到这篇文章,可以共享给好友;如果你在豆瓣里看到这篇文章,不妨推荐给更多人;或者干脆Copy下这篇文章的链接,发给你MSN上最喜欢的人;我们永远相信,分享是一种美德,Great People Share Knowledge...
Tags -
本邮件内容由各大网站通过订阅开放平台提供,QQ邮箱仅在订阅开放平台的协议框架下提供技术支持,并未对邮件内容进行任何形式的编辑,如您对内容本身有任何疑问,请直接与内容提供商联系。如果您希望通过QQ邮箱投递订阅邮件,请登录QQ邮箱订阅开放平台
写评论我的评分:

Leica中文摄影杂志 - 『他们在拍什么』Kenneth O Halloran,市集物语

"Fair Trade"是摄影师Kenneth O'Halloran完成于2010年的一个私人拍摄项目,在这个项目中,摄影师用中画幅相机来记录爱尔兰传统市集上人们的肖像,以此来探寻爱尔兰文化与民族的特质。

"对于爱尔兰人来说,市集的意义远不止交易和买卖,女人们会为了市集精心打扮,男人则准备好谈资与马匹,到处充满艳丽夸张的色彩,以期吸引你的目光。

很多参与集市的人是旅居者,他们是Gaelic古老游牧民族的后裔,从不在一个地点长久驻足,保持着最简单的生活方式,除了集市,平时你很难找到他们。白天,人们在集市里讨价还价,晚上则聚在一起聊天跳舞,气氛开阔而自然。"

关于摄影师
Kenneth O'Halloran,爱尔兰摄影师,出生于都柏林,目前在进行多个长期拍摄项目,曾获得Terry O'Neill Award、英国国家画廊肖像奖等。














Leica中文摄影杂志』推荐使用Email的方式订阅,亦可通过Google ReaderQQ阅读鲜果等RSS工具阅读;在Apple Mac OS X下可获得最佳阅读体验

iPhoto.ly』在苹果上阅读:iPhone版+iPad版,^_^

Tips: 关注我们: Twitter饭否微博

『小建议』如果你在Email里看到这篇文章,可以转发给你的朋友;如果你在Google Reader阅读器里看到这篇文章,可以共享给好友;如果你在豆瓣里看到这篇文章,不妨推荐给更多人;或者干脆Copy下这篇文章的链接,发给你MSN上最喜欢的人;我们永远相信,分享是一种美德,Great People Share Knowledge...

Tags - ,
本邮件内容由各大网站通过订阅开放平台提供,QQ邮箱仅在订阅开放平台的协议框架下提供技术支持,并未对邮件内容进行任何形式的编辑,如您对内容本身有任何疑问,请直接与内容提供商联系。如果您希望通过QQ邮箱投递订阅邮件,请登录QQ邮箱订阅开放平台
写评论我的评分:

Leica中文摄影杂志 - 『Time』一周摄影图片精选:Oct 5- Nov 11,2011

Monday, November 7, 2011
一个年轻的印度穆斯林女孩站在宰牲节祈祷的人群旁,新德里。摄影师:Gurinder Osam
A young Indian Muslim girl stands while others pray in New Delhi during 'Id al Adha, the Festival of Sacrifice.


Tuesday, November 8, 2011
一名索马里渔夫扛着一只箭鱼。摄影师:Mohamed Abdiwahab
A Somali fisherman carries a swordfish through the Hamarweyne district near the port of Mogadishu.


Tuesday, November 8, 2011
一支由地雷遇害者组成的当地足球队在进行训练,车臣。从1994年至今,已经有超过3000起平民误踩地雷的惨剧在车臣发生。摄影师:Diana Markosian
Players from a local football club Laman Az formed by landmine victims practice in a sports hall in the Chechen capital, Grozny.


Friday, November 11, 2011
援英美军牺牲士兵纪念日,飞行员Bryan Kondub半跪悼念,剑桥美国公墓。摄影师:Dan Kitwood
Senior Airman Bryan Kondub kneels beside the grave of a fallen soldier at the Cambridge American Cemetery after a memorial service in Madingley.


Friday, November 11, 2011
一对新婚夫妇在布拉格的老城广场拍婚纱照,捷克。世界各地的情侣均选择2011年11月11日结婚。摄影师:Michal Cizek
A bridal couple pose in Prague's Old Town Square after their marriage.


Friday, November 11, 2011
人们在死海岸边附近的温泉里泡澡,以色列。摄影师:Menahem Kahana
Israelis bathe in hot springs on the shore of the Dead Sea near Ein Gedi.



Leica中文摄影杂志』推荐使用Email的方式订阅,亦可通过Google ReaderQQ阅读鲜果等RSS工具阅读;在Apple Mac OS X下可获得最佳阅读体验

iPhoto.ly』在苹果上阅读:iPhone版+iPad版,^_^

Tips: 关注我们: Twitter饭否微博

『小建议』如果你在Email里看到这篇文章,可以转发给你的朋友;如果你在Google Reader阅读器里看到这篇文章,可以共享给好友;如果你在豆瓣里看到这篇文章,不妨推荐给更多人;或者干脆Copy下这篇文章的链接,发给你MSN上最喜欢的人;我们永远相信,分享是一种美德,Great People Share Knowledge...
Tags - , ,
本邮件内容由各大网站通过订阅开放平台提供,QQ邮箱仅在订阅开放平台的协议框架下提供技术支持,并未对邮件内容进行任何形式的编辑,如您对内容本身有任何疑问,请直接与内容提供商联系。如果您希望通过QQ邮箱投递订阅邮件,请登录QQ邮箱订阅开放平台
写评论我的评分:

『女摄影师』Evgenia Arbugaeva,前苏联的边缘城


"Tiksi"是俄罗斯摄影师Evgenia Arbugaeva完成于2011年的私人拍摄项目,在这个项目中,摄影师返回阔别20年的童年小镇,重拾尘封已久的故乡记忆。这座冰冻苔原上的边缘小城因苏联时期的浪漫理想而建,最终也伴随苏维埃政权的垮台而走向衰落。

"Tiksi是俄罗斯北冰洋沿岸的一个小镇,前苏联时期,一群心怀浪漫理想的人来到这里,建起了这座小城,期望实现科学家、探险家和军方共同构建的'北部建设之梦'。"Evgenia Arbugaeva说,"Tiksi也是我出生的地方,苏联解体后,包括我和家人在内,几乎所有人都离开了这里。但我永远无法忘记那横扫苔原的朔风,在我还是个小女孩的时候,那强风几乎能把我刮走。除此之外,还有星光笼罩下的游戏场,暴风雪中茕茕孑立的灯塔……"

"二十年后,我第一次回到了Tiksi,这次回访就像是唤起童年记忆的奇幻之旅。有人说,Tiksi早已名存实亡,很快就会被废弃。在那一天到来之前,我希望将这处'乌有之乡'永远定格于照片中。"

关于摄影师
Evgenia Arbugaeva,俄罗斯自由摄影师,毕业于莫斯科国际大学艺术管理系,并于2009年获纽约国际摄影中心(ICP)新闻与纪实摄影项目学位,2011年入选Critical Mass Top 50。













Leica中文摄影杂志』推荐使用Email的方式订阅,亦可通过Google ReaderQQ阅读鲜果等RSS工具阅读;在Apple Mac OS X下可获得最佳阅读体验

iPhoto.ly』在苹果上阅读:iPhone版+iPad版,^_^

Tips: 关注我们: Twitter饭否微博

『小建议』如果你在Email里看到这篇文章,可以转发给你的朋友;如果你在Google Reader阅读器里看到这篇文章,可以共享给好友;如果你在豆瓣里看到这篇文章,不妨推荐给更多人;或者干脆Copy下这篇文章的链接,发给你MSN上最喜欢的人;我们永远相信,分享是一种美德,Great People Share Knowledge...
Tags - , ,
本文来自QQ邮件订阅栏目——Leica中文摄影。点此进入

2011年11月12日星期六

让你提升命令行效率的 Bash 快捷键 [完整版]

 
 

小小才子 通过 Google 阅读器发送给您的内容:

 
 

于 11-11-12 通过 LinuxTOY 作者:Toy

生活在 Bash shell 中,熟记以下快捷键,将极大的提高你的命令行操作效率。

编辑命令

  • Ctrl + a :移到命令行首
  • Ctrl + e :移到命令行尾
  • Ctrl + f :按字符前移(右向)
  • Ctrl + b :按字符后移(左向)
  • Alt + f :按单词前移(右向)
  • Alt + b :按单词后移(左向)
  • Ctrl + xx:在命令行首和光标之间移动
  • Ctrl + u :从光标处删除至命令行首
  • Ctrl + k :从光标处删除至命令行尾
  • Ctrl + w :从光标处删除至字首
  • Alt + d :从光标处删除至字尾
  • Ctrl + d :删除光标处的字符
  • Ctrl + h :删除光标前的字符
  • Ctrl + y :粘贴至光标后
  • Alt + c :从光标处更改为首字母大写的单词
  • Alt + u :从光标处更改为全部大写的单词
  • Alt + l :从光标处更改为全部小写的单词
  • Ctrl + t :交换光标处和之前的字符
  • Alt + t :交换光标处和之前的单词
  • Alt + Backspace:与 Ctrl + w 相同类似,分隔符有些差别 [感谢 rezilla 指正]

重新执行命令

  • Ctrl + r:逆向搜索命令历史
  • Ctrl + g:从历史搜索模式退出
  • Ctrl + p:历史中的上一条命令
  • Ctrl + n:历史中的下一条命令
  • Alt + .:使用上一条命令的最后一个参数

控制命令

  • Ctrl + l:清屏
  • Ctrl + o:执行当前命令,并选择上一条命令
  • Ctrl + s:阻止屏幕输出
  • Ctrl + q:允许屏幕输出
  • Ctrl + c:终止命令
  • Ctrl + z:挂起命令

Bang (!) 命令

  • !!:执行上一条命令
  • !blah:执行最近的以 blah 开头的命令,如 !ls
  • !blah:p:仅打印输出,而不执行
  • !$:上一条命令的最后一个参数,与 Alt + . 相同
  • !$:p:打印输出 !$ 的内容
  • !*:上一条命令的所有参数
  • !*:p:打印输出 !* 的内容
  • ^blah:删除上一条命令中的 blah
  • ^blah^foo:将上一条命令中的 blah 替换为 foo
  • ^blah^foo^:将上一条命令中所有的 blah 都替换为 foo

友情提示

  1. 以上介绍的大多数 Bash 快捷键仅当在 emacs 编辑模式时有效,若你将 Bash 配置为 vi 编辑模式,那将遵循 vi 的按键绑定。Bash 默认为 emacs 编辑模式。如果你的 Bash 不在 emacs 编辑模式,可通过 set -o emacs 设置。
  2. ^S、^Q、^C、^Z 是由终端设备处理的,可用 stty 命令设置。

{ via }

分类: Cli, Tips | 永久链接 | 收藏到 del.icio.us | Email 给好友 | 14 评论 | 捐助本站


 
 

可从此处完成的操作:

 
 

2011年11月10日星期四

《实用 Common Lisp 编程》译者序

 
 

小小才子 通过 Google 阅读器发送给您的内容:

 
 

于 11-11-7 通过 Chun Tian (binghe) 作者:冰河

《实用 Common Lisp 编程》译者序 - 冰河 - Chun Tian (binghe)

最近忙得脚打后脑勺,但博客还要持续更新,所以无奈之下只好把我给《实用 Common Lisp 编程》一书撰写的译者序重新发表在这里,以方便那些尚未读过该书的潜在读者们。说实话,今天重读了一遍以后,我被我自己写的文字给深深打动了,因为我的写作能力很不稳定,一篇好文不是随时都可以写得出来的。也许这就是会写字的人和职业写手的区别所在吧。下面是译者序全文:(每段的重点句子以红色标注出来)

译者序

我很荣幸被授权翻译《Practical Common Lisp》一书,本书是自1994年Common Lisp语言标准化以来国内出版的第一本Common Lisp的中文教材。

Lisp语言家族最早诞生于1959年,它是人类历史上第二个高级程序设计语言(第一个是Fortran)。那一年人工智能(AI)专家John McCarthy发表了具有重大历史意义的第一篇LISP论文:《Recursive Functions of Symbolic Expressions and their Computation by Machine, Part I》,其中介绍了一种运行在古老的IBM 704计算机上的列表处理语言LISP(LISt Processing,列表处理),借助它可以轻松描述当时人工智能领域用到的各种算法。从此,Lisp语言在包括AI领域在内的所有主流计算机分支上都获得了长足的发展,Lisp平台不但在IBM PC出现之前的几乎所有计算机硬件体系上均有移植,甚至在80年代还出现过专门用来运行Lisp程序的硬件——Lisp机。1994年ANSI标准化的Common Lisp语言将之前历史上的所有现存Lisp厂商的各种语言和平台特性做了一次伟大的总结,从此语言核心不再变化,不但标准化以前的历史遗留代码只通过少量修改就可以兼容现代Lisp平台,而且标准化以后写出的所有新代码也都几乎不经任何调整就可能运行在任何一种Common Lisp平台上,无论是带有原生或是字节码编译器的,还是间接转译成C语言的,或是运行在JVM上的。目前至少有13种不同的Common Lisp语言平台可以运行在现代计算机上,其中10种还在广泛使用中,远超过它们所在的操作系统上C和其他语言编译器的数量。可以说Lisp语言家族长达50年的发展史就是整个计算机发展史的缩影。

我从2003年大学三年级时开始学习Common Lisp语言,至今已有八个年头。当时学习它的动机基本上是出于对人工智能(传统的逻辑和推理、知识表示等方向)的个人兴趣。不过随后很快就发现,Common Lisp是一门通用的编程语言,如果不考虑其历史渊源而只从语言本身的特性来观察的话,它跟人工智能可以说是毫无关系。在《Practical Common Lisp》一书中,作者Peter Seibel也将谈到这个问题。当今有太多的人对Lisp语言存在类似的误解,包括相当多的学过早期Lisp语言的人头脑中还停留在列表(List)是Lisp语言的唯一复合数据类型的认识上。如果读者从头到尾学完了这本书,就会发现Common Lisp是一门特性丰富的大型编程语言,不但提供了现代编程语言普遍支持的各种数据类型(包括各种数值类型、字符串、数组、结构体和哈希表在内),还支持几乎所有的编程范式(面向过程的、函数式的,以及面向对象的),尤其带有一套特性丰富且思想独到的面向对象编程接口CLOS (Common Lisp Object System)和OO扩展接口MOP (Meta-Object Protocol)。如果要用一句话来描述Common Lisp中的OO与C++/Java/SmallTalk等语言的OO有何不同,那就是Common Lisp对象系统完全不是基于消息传递的,而是基于广义函数的。有兴趣的读者应当仔细阅读本书的第16和17两章,其中介绍了CLOS的一些入门内容。

不过Lisp语言最吸引人的地方还在于其与众不同的程序运行方式。从C语言一路学过来的人往往把一门语言的语法及其标准函数库视为语言的全部,因为一旦程序写好,编译器就会将整个代码编译成一个可执行程序或者被其他可执行程序使用的库。接下来语言本身是什么就不重要了,重要的是程序员写出了什么功能。甚至连编译器本身是什么都不重要,因为它只是一个黑箱,除了简单的优化开关之外几乎无法调整其行为。各种Lisp语言则采用完全不同的方式来运行Lisp程序:Lisp平台本身是一个交互式的环境,它在很大程度上就是用其本身写成的。用户的Lisp代码以编译或解释的形式加载到Lisp环境中,然后跟Lisp语言或平台本身的代码直接融合在一起。换句话说,每一个Lisp程序都是对Lisp语言本身的某种形式的扩展。然后通过一个启动函数,整个程序得以运行。听到这里,读者似乎看到了Python或者Ruby的影子,但Lisp环境还有更绝的地方:几乎所有Lisp平台都允许用户将加载了用户代码的整个环境从内存中导出(dump)为一个磁盘文件。通过直接加载这个文件而不是默认的那个只含有Lisp本身的文件,可以迅速地重建导出前的Lisp环境,从而达到增量开发或者哪怕是快速加载已有Lisp程序的目的。最后,和其他语言很不同的一点是,Lisp语言规范(至少Common Lisp是这样的)不但包括了如何定义某个程序组成部分(指的是变量、函数和类这些东西)的能力,还定义了从Lisp环境中清除任何程序组成部分以及就地修改它们的能力,并在语义和功能上确保了这些操作不会破坏运行中的Lisp代码。这导致了Lisp语言的另一个重要应用:通过加载补丁,Lisp系统可以在运行中被任意修改,这对24×7的服务端程序的平滑升级尤为有利。顺便说一句,Lisp也是最早引入垃圾收集(GC)机制的编程语言,Lisp环境中的任何对象,一旦失去了来自其他对象的引用,就会在某个时刻被GC系统从内存中清除掉。

读者可能已经注意到了我在不停地混用Lisp和Common Lisp两个概念。这有两层含义:首先,存在Common Lisp之外的Lisp语言,更准确地说是Lisp方言(dialect),这至少包括了Emacs Lisp、AutoLISP、Scheme、Racket(前身是PLT Scheme)和Clojure,其中最后一个是高速发展中的新兴Lisp方言;其次,所有Lisp家族的语言都有很多共性,除了上面描述中带有Lisp而非Common Lisp字样的部分以外,还有最大的也是初学者最容易看到的一点,那就是所有Lisp方言都使用前缀表达式和用小括号表示的列表,例如 1+1 在Lisp中将写成(+ 1 1)。很多初学者一开始都不适应前缀表达式,但我认为前缀表达式是有很多优点的:首先它彻底消除了运算符结合性问题,令表达式毫无歧义可言;其次它让语言处理器更加简单高效,避免了语法分析的困难。当然,一旦习惯了也就感觉没什么了。

学习本书对更好地使用其他Lisp方言无疑是大有帮助的。在翻阅书店里关于AutoLISP(AutoCAD计算机辅助设计软件的扩展语言)的各种书籍时,我经常痛心疾首地发现这些图书的作者虽然精通AutoCAD所提供的Lisp编程接口,但写出的AutoLISP代码要么极为难看,要么缺乏效率、滥用内存。AutoLISP在语法上跟Common Lisp非常接近,本书的大部分内容都适用于AutoLISP。因此我强烈推荐所有AutoLISP程序员阅读本书以加强自身的Lisp素养。同样的问题对于Emacs Lisp(GNU Emacs文本编辑器的扩展语言)来说也是一样的。Scheme系的Lisp方言区别相对大一些,如果连基本的变量和函数定义都在形式上完全不同的话(当然,思想上是没什么本质区别的),我恐怕初学者从本书中学得Scheme编程思想的机会不大,这种情况下还是推荐《计算机程序的构造和解释》、《Lisp in Small Pieces》和《The Little Schemer》等书籍比较好。

本书可以作为其他Common Lisp语言教材的学习基础。在本书的最后一章里,作者给出了很多后续的教材,在此就不一一重复了。需要特别指出的是,另一本著名的Common Lisp教材《On Lisp》(作者Paul Graham,也就是《黑客与画家》一书的作者)多年前已经被我和我的几位朋友共同翻译成中文版,细心的读者将可以从网上轻易地找到它。《On Lisp》主要介绍Common Lisp的宏编程,这是Common Lisp区别于其他语言甚至其他Lisp方言的最重要特性。我相信一旦读者掌握了本书中关于宏的章节以后就可以阅读《On Lisp》中的进阶内容,从而将自身对编程语言的认识上升到一个新的高度,不过更加符合实用原则的思路还是先把本书读完。

Common Lisp绝不是一门过时的编程语言,整个Common Lisp社区一直都在高速的发展之中,近几年的发展尤为迅速。在我学习Common Lisp的这些年里,我亲眼目睹了几个Common Lisp平台从无到有(ECL、ABCL)或者发展壮大(SBCL、Clozure CL)的过程。经典平台(CMUCL、MCL)也得到了良好的维护并始终跟进操作系统的自然发展。随着计算机硬件的高速发展,即便相对保守的Common Lisp商业平台也开始或即将开始支持对称多处理器(SMP),其中LispWorks和Scieneer CL都以SMP支持作为主要卖点。第三方软件包长足发展,虽然尚未达到Perl社区CPAN的水平,但常用的工具包一应俱全,其中不乏高质量的大型项目。近年来最新的成果Quicklisp包管理平台,更是将Common Lisp第三方软件包的安装过程提升到了前所未有的便捷程度。免费平台越来越好,商业平台依然昂贵,开源工具蓬勃发展,所有这些都暗示着Common Lisp语言还保持着旺盛的生命力,唯一的问题是如何让更多的国内计算机领域爱好者了解它。这就是我翻译本书的目的所在。

过去8年里,我一直活跃在国内和国际Common Lisp社区的前沿。我在大学本科的最后两年学完了Common Lisp语言语法的主要部分,读完了包括本书在内的几本最经典的Lisp书籍,并已经能够在当时最常见的CMUCL平台(CMU Common Lisp)上编写一些简单的程序;后来在网易工作的五年里,我在工作之余从头研究了一遍Lisp语言的发展史,亲身体会了包括Lisp机在内的十几种不同的Common Lisp平台或实现,并自费购买了价值数千美元的商业开发环境LispWorks,拥用三种主流操作系统上的License。在网易从事Linux系统管理工作期间,我用Common Lisp从头实现了一万行源代码规模的SNMP简单网络管理协议工具包,它可以为任何服务器端Common Lisp程序添加通过SNMP协议进行远程监控的能力,也可以作为基于Common Lisp的网络监控系统的基础。我还在过去3年里参与维护了Common Lisp社区两个最重要的可移植网络库之一:usocket,并由于SNMP库的需要将其从原本只支持TCP扩展到了同时支持UDP,其中对于LispWorks的UDP支持代码是完全从头写的,因为官方并不支持。2009年,我向国际Lisp会议的投稿被接受,并作为会议论文集的一部分出版;我是长期担任水木社区函数型编程版的版主之一,专门负责Lisp方向的讨论和技术分享。2011年7月,我离开网易以后开始全职从事商业Lisp软件相关的开发工作。可能我还不是一个很好的译者,但作为一个经验丰富的Common Lisp程序员,我相信自己翻译这本书是合适的。

计算机领域每天都在高速发展,新语言和新技术的产生速度早已超过了一般人的学习速度。对于一个计算机领域的从业人员或爱好者来说,学习通常是为了更好地应用,把所有时间都用来学习而无暇具体应用也是本末倒置。在这种情况下,有选择地学习最有用、最不易变质的知识,以及甄别各种计算机知识的重要程度和相互关系的能力就显得非常重要了。从计算机语言的发展历史来说,如果一门语言可以存活50年,那么它的内在生命力很可能保证其继续长期存活下去,一个人用这门语言写下的代码也将比其他语言的代码更有可能长久地造福后人。

总之,希望这本书能将读者顺利带入Lisp领域。学习一门新的语言总是要花些成本的,但我想说,和其他任何语言相比,花在理解Lisp上的时间和精力将绝对是物超所值的,即便相当多的读者可能没有机会在短期内将Lisp用于他们的日常工作。之所以这样说是有原因的:C和Lisp是编程语言的两个极端,大多数人已经熟悉了C的那一端,但如果他们还熟悉另一端的话,那么迅速理解几乎所有其他的编程语言将不再是问题。



 
 

可从此处完成的操作: