摘要:
Common Lisp是1956年John McCarthy发明的Lisp语言的现代版本。Lisp在1956年被设计用于“符号数据处理” ,而Lisp这个名字本身就来源于其最擅长的工作:列表处理(LISt Processing)。从那时起,Lisp得到了长足的发展:Common Lisp很好地支持了一组常用的现代数据类型;将在第19章里介绍的状态系统提供了Java、Python和C++等语言的异常系统里所没有的充分灵活性;强大的面向对象编程支持;以及其他编程语言里完全不存在的一些语言机制。这一切怎么可能?地球上怎么会进化出如此装备精良的语言来? 这么说吧,McCarthy曾经是(现在也是... 阅读全文
摘要:
doubanclaimd754530ddb93bb76 阅读全文
摘要:
作为曾经参与和带过软件项目的人来讲,首先勾起我好奇心的是这本书的名字,是它让我产生的了对比的想法,看看自己都经历过或知道哪些,以及还有是哪些没有遇到过或不知道的。结果还好,书中的内容大多是熟悉的,虽然不像书里写的那样系统,但大抵都知道一点儿。总的说来,这是本可以帮助你了解软件项目开发真相的散文集。假如你正在考虑是否以软件开发为自己的终身职业,在下决定之前,请先读一读它,哪怕只是在书店里走马观灯般的随便翻翻。这里面讲的就是软件从业者的生存现状,它远不像一些媒体或电影中描写的那样充满光明。对于从事这行有年头的人来讲,你们肯定能懂我的意思。是的,书中文字背后蕴含的滋味唯有真正做过项目的人才能体会得到 阅读全文
摘要:
过去的三十年里,很多赚到大钱的人都是程序员,如比尔·盖茨、史蒂夫·乔布斯、拉里·埃里森。为什么?为什么是程序员而不是土木工程师,或者摄像师、会计师? 有这样的一群人,他们是计算机语言的编写者,是硅谷创业的先锋,是亿万财富的拥有者,但是他们却被世人称为“黑客”。 在大众的眼里,“黑客”是入侵计算机的人,但是在程序员的眼里,“黑客”指的是优秀的程序员。然而20世纪60年代这个词被发明的时候,完全是正面的称呼,“黑客”不仅是第一流能力的象征,还包含着求解问题过程中产生的精神愉悦或享受。自由软件基金会创始人理查德·斯托尔曼曾经说“黑客行为必须包含三个特点:好玩、 阅读全文
摘要:
有时,一个问题的真正价值并不在于找到答案,而在于通过考查这个问题引出其他或许更有价值的问题。另外,有时候发现一个无人问津的问题,也可能会帮助我们看到一些未被发现的机会,从而引出更深远、更有价值的发现。我已经“搞软件”很长时间了,我觉得我们这个行业已经到了“回头看看”的时候了,此时回顾一下我们工作的基本性质可能是一件非常有用的事情。人类制作软件已经有多久的历史了像很多问题一样,这个问题的答案是“要看情况”。制作软件的概念都包括什么?是否包括最早期由绕线PC板和交换管构成的编程?是否包括提花织机? 也许不包括。但使用穿孔卡片和大型主机进行数据处理的那段时期是否应该包括进来呢?那时人们使用穿孔卡片. 阅读全文
摘要:
读《黑客与画家》缘于微博上有好几个“大牛”级的人物推荐,按耐不住好奇心,先在豆瓣上看了看书评,确实不错,因为是好书,所以第一个反应就是上China-pub上把书买了,虽然已经很少买书了,如果是好书还是必须买下来看纸质的,电子书真的还没完全达到那种阅读的享受。《黑客与画家》的作者是硅谷创业之父,Y Combinator合伙人Paul Graham,同时是一个忠实的Lisp使用者,对Lisp语言推崇备至。先说一下整体感觉,这本书是Paul的一个文集,是之前他发布在各种场合的内容的一个整理,所以文章中的每一章节没有必然的前后联系,无需按照顺序阅读,这里面提到的很多内容,在其个人网站http://ww 阅读全文
摘要:
引子:今天选了下学期要学的一门课,叫做编程语言。据说是两周学习一门新的语言,很有挑战性。以及这门课的课本是MIT出的《Concepts, Techniques, and Models of Computer Programming》(一下简称《CTMOCP》),今天看了一部分它的前言部分,联系我以前读过的《黑客与画家》里面有两章对编程语言的讨论,发现学习不同的编程语言还是相当有必要的。第一,学习多门编程语言可以避免自己的思维被一种语言所限制。《黑客与画家》:如果你长期使用某种语言,你就会慢慢按照这种语言思维。在《CTMOCP》一书也有一个例子:学习Java的人认为concurrency很难操. 阅读全文
摘要:
对当前的讨论而言,这些设计准则的共性——它们的基础和起源,比每套设计准则的具体规则更重要。这些设计准则从何而来?它们的作者只是像时装设计师一样,试图将个人的设计品味强加在计算机和软件业上吗? 如果是这样,这些设计准则会因各自作者追求与众不同而变得非常不一样。实际上,忽略在措辞、强调点以及撰写时计算机技术状态的不同之后,所有这些用户界面设计准则是很相似的。这是为什么呢? 答案在于,所有设计准则都基于人类心理学:人们如何感知、学习、推理、记忆,以及把意图转换为行动。许多设计准则的作者至少有一些心理学背景,应用于计算机系统设计上。 例如,Don Norman 远在开始从事人机交互方面的写作... 阅读全文
摘要:
交互计算机系统的设计不仅仅是门艺术,也是(至少追求成为)一门科学。好吧,实际上不是科学,但可以说是一门计算机和认知学的交叉工程学科,基于科学的技术方法创造满足指定需求的交互系统。 就像汽车、建筑和服装,交互式计算机制品可以使人在情感上愉悦,展示风格和时尚,并具有显著的社会意义。在艺术和工业设计上有很大空间可以使物品突出、耀眼、深入人心。但最终制品也必须正确地工作并适应人的活动。一座优美的建筑,其高耸的窗户却在夏日烘烤着居住者,或者房梁在暴风中弯曲,都是彻底的失败。设计者们在建造大楼前需要一定的方法将纬度、季节、通透性、容积和流通性放在一起来预测温度负载。他们也需要一整套的技术方案,例如选... 阅读全文
摘要:
编者按: 在此书上市之前,特别对此书做一下方向说明,《松本行弘的程序世界》适合各层次程序设计人员和编程爱好者,也可以供相关技术人员参考。 本书的目的不是深入讲解哪种特定的技术,也没有全面讨论我所开发的编程语言Ruby,而是从全局角度考察了与编程相关的各种技术。读者千万不要以为拿着这本书,就可以按图索骥地解决实际问题了。实际上,最好把它看成是一幅粗略勾勒出了编程世界诸要素之间关系的“世界地图”。本书相关链接:松本行弘为什么要开发RubyRuby中的设计模式 每种技术、思想都有其特定的目的、渊源和发展进步的过程。本书试图换一个角度重新考察各种技术。如果你看过后能够感觉到“啊,原来是这样的呀!... 阅读全文