编程的艺术
软件问世于1940年代。就是说,已经有不止一个世代的人围在桌边,装作自己知道软件是什么,构成它们的代码又是什么了。如今软件就待在我们的口袋里,为我们打理汽车和房子,左右着我们的生活,再对它们一无所知就说不过去了。世界属于那些写代码的人。不明白这个道理,会被时代抛弃。
本期《商业周刊/中文版》专题电子书,旨在用浅显的方式介绍代码及程序员的文化。里面有一些术语,另有数学基础概念若干。但也有不少精彩的笑话和不会过时的见解。全文读下来可能需要点儿时间,但比起它给你的职业生涯带来的东西,还是很划算的。
在这里你将读到以下精彩内容:
代码如何变成软件?
软件开发者在思考编程时,脑子里是一行行存在文件里的代码。他们遇到一个问题,要思考这个问题,写出能解决这个问题的代码,然后等电脑去把言语变成行动。代码是死的。如何让它动起来?要用软件把它变成机器语言。这里的“语言”口气有点大,毕竟计算设备是一种用木头和大理石都能做出来的玩意。你的目标是把代码变成一连串明确的指令,让一些相互连接的逻辑门去执行,这样就把代码变成了一种可执行的东西——软件。
不同编程语言有什么用?
如果所有电脑语言的功能是一样的(让电脑做你想做的事情),那何必还要挑三拣四呢?原因就好比,你不会选择用自行车运冰箱,或是找心理医生做身体检查。有的工具特别适合完成某种特定的任务。
智商10000的程序员传奇
对于一个真正有天赋的程序员,写代码只是思考的副产品。他们的技能不是语法,而是他们对时间和计算的理解。他们可以比一般的程序员更快地判断出,他们的行动会有怎样的后果;他们在黑暗中摸索的时间比别人短。他们的代码仍然有bug,仍然需要优化——他们并非没有缺陷。只是,如果说我们手里有一支蜡烛,他们则有三四把手电筒和一张地图。
为什么会有这么多语言?
电子计算领域有一篇很出名的论文叫《未来编程语言七百种》(The Next 700 Programming Languages),作者是P·J·兰丁(P.J.Landin),它讨论的是已经把计算机世界挤得满满当当的大约1700种语言。文章是发表在学术期刊上的,有一段禅宗公案般一针见血的开场白:“大多数编程语言有两方面,算,这是科学家很需要的,并且还有一些任务方面一是用其他事物来表达事物,一是事先给定的一套基本的事物。”这是1966年发表的文字。
如何选定一门语言?
关于编程速度的争论要小心对待。在所有条件都平等的情况下,更快就是更好。但平等是不存在的。你需要的是网站快速建起来并开始运转的那种速度,还是在3D环境里实时转动几千个多边形的速度?你需要每小时把1万个pdf文件转换成文本文件,还是一次性把1000万个pdf转换成文本文件?这些问题是不同的。我们需要做什么,需要做多少次,有没有什么现成的代码可以帮我们做到那么多次?有很多问题要问。
你应该学编程吗?
也许你该学学编程,因为现在有了一个跟旧经济一样荒谬、怪诞、麻烦的新经济。学编程或许能帮你解开未来的密码。“颠覆”无非是“优化”换了个说法。SDK只是经过编码的、可再生的文化,整整一代人在狂热地接受它们,就像几十年前接受披头士的唱片一样。
代码将原本表现为一个整体的存在范畴打成粉碎。技能卓越的从业人员按照他们的意愿,把这种爆炸性的能力充分利用了起来。
龙泉寺信息技术组:佛教是古老的,但佛教徒是现代的
师父希望通过建立新型道场,让佛法能更好地被现代人所了解,从而发挥它利益大众师父希望通过建立新型道场,让佛法能更好地被现代人所了解,从而发挥它利益大众的功用。由此,信息技术组的出现就是理所当然的了。师父讲过,佛教是古老的,但佛教徒是现代的。
当然,还有更多……