太阳是黑色的

少年听雨歌楼上,红烛昏罗帐.壮年听雨客舟中,江阔云低断雁叫西风. 而今听雨僧庐下,鬓已星星也! 悲欢离合总无情,一任阶前点滴到天明.

Archive for the ‘在键盘上冥想’ Category

纽约客 – 2018年7月2日

Nicola Twilley所写的“Seeing Pain: Using Brain Imaging to Unravel the Secrets of Suffering这篇文章主要讲了如何利用MRI来把疼痛和大脑的图像信号比对起来。这篇文章可以作为疼痛管理方面的入门科普文章。比较有意思的是,疼痛虽然非常主观,但也是法庭作为某种客观存在的凭证需要人们去严肃对待。这篇文章讲的就是一些研究人员尝试把疼痛可以理解化以及可以标准化的一个努力过程。

Brooke Jarvis所写的Paper Tiger: Could A Global Icon of Extinction Still Be Alive?”这篇文章讲的是澳大利亚的岛屿塔斯马尼亚上一种已经灭绝了的老虎,塔斯马尼亚虎的故事。尽管这种这个岛屿特有的老虎早在上世纪初就被认为灭绝了,但是几十年来,依然有人不断生成看到这种老虎。这篇文章就是根据这种传言,描绘出了这种老虎还在传言背后所带出的人们荒诞一样得寻找老虎的痴迷。同时,这篇文章还勾勒出了人们对于意见东西已经绝迹的内心深处的怀疑以及已经失去的东西的留恋。

Yascha Mounk所写的McPolitics: Once All Politics was Local. Now All Politics is National. Can We Survive The Shift?的这篇文章帮助大家像白描一般刻画了美国政治在过去几十年的一个重大的转变,那就是从局部的竞选政治,从地方市一级、州一级的政治氛围逐渐过渡到了全国的政治联动。这篇文章是对美国政治的一个重要解读,也是了解这种变迁对于当下的很多政治事件的影响,为现实提供了一种解读的语境。

参观计算机历史博物馆的一些感想

今天去Computer History Museum参观了一下,有一些感慨,写在下面。

  1. 没有想到最初的computer是代表进行计算工作的人,而且曾经是女性进行工程工作的主要岗位。
  2. 之前曾经在NYC Poly听过一个演讲,主要是关于Charles BabbageAnalytical Engine的。内容是如果当年这个机器能够被成功制造出来,那么将是第一台真正的计算机(基于机械的!)。然而,今天才了解到,有很多人都曾经试图甚至制造过类似的机械装置。只是我们学到的历史往往过于强调某一个人的贡献,而忽略了诞生某项重要发明或者发现的外部条件和类似工作。同样的情况也出现在第一台电子计算机出现的情况(比如我们多年仅仅知道一个ENIAC)。
  3. 整个20世纪计算机的发展历史几乎就是IBM公司的发展史。大多数重要的革新产品都直接或者间接和IBM有关系。令人吃惊的是,IBM的领导人们能够在计算机工业的初期敏锐地察觉到这个工业的潜在市场并且带领公司华丽转身,不得不令人敬佩。
  4. 早年,居然有人把通用计算机的概念申请了专利,并且还得以通过。1973年的一次官司才使得计算机的普及不被专利法所限制。很难想象,如果计算机这一可能是人类历史上最伟大的发明被少数人操控并且谋取暴利。从这个其实也说明,专利,这一概念,本身还是有很多值得商榷的地方。
  5. 尽管已经把Bill Gates和Paul Allen创建微软的故事了然于胸,但是看到纪录片中Bill描述他们如何发现商机和接受挑战的时候,仍然让人激动人心。
  6. 看到了1999年的一台Google的服务器。恍惚间,Google也是一家有10余年历史的公司了。
  7. 再次看到了曾经非常熟悉的Netscape Navigator的界面。还记得大概是1998年左右,在七中的图书室里,我们计算机兴趣小组的同学第一次尝试了发送电子邮件的情景。那时候,大家是往局域网的一个地址发送信件,所使用的软件正是Netscape Navigator的Email软件。

下面看看几张我用手机拍的照片:

1959年IBM的招工广告,仔细一看,要求不低啊。

Windows 1.0的销售套装!

Review on Statistical Language Models for Information Retrieval

Language Model是Information Retrieval领域最近10年左右发展起来的一个新的模型,相比于旧的Vector Space Model和传统的概率模型,Language Model有更好的理论基础。

此书是在Language Model领域活跃的华裔科学家ChengXiang Zhai所写,非常浅显易懂。其中不乏一些在论文中没法出现的基础例子。

唯一需要提醒的是,Language Model有很多的研究分支,ChengXiang Zhai很明显比较侧重于其自己的研究。

其另外两个类似的文章也值得一读:

1. ChengXiang Zhai, Statistical Language Models for Information Retrieval: A Critical Review, Foundations and Trends in Information Retrieval, Vol. 2, No. 3 (2008), pages 137-215, doi:10.1561/1500000008.

2.ChengXiang Zhai and John Lafferty, A risk minimization framework for information retrieval , Information Processing and Management ( IP &M ), 42(1), Jan. 2006. pages 31-55.(这个不是他的博士论文,而是一个更新的版本)

Notes on Probabilistic Latent Semantic Analysis

基于好几篇文章写的总结,如果需要PDF的版本,请与我联系。

点击这里(英文)

后面可能会谈一些implementation的技巧。

还是脚踏实地比较好

今天收到CIKM的拒信,虽然录取率比较低,不过这并不是主要的借口。

得到的三个评语比想象中的要严厉,不过也无可挑剔。很明显,至少有两位是“数据挖掘”和“机器学习”领域的专家。其中一位毫不留情地说出,我的工作基本没有意义,同时图表有很多不精确的地方。另外,有一处,这位专家指出我使用图来代替表格的初衷是希望夸大本来微不足道的数据差别的影响(尽管这个想法的确存在我最开始做数据的时候,但我的确不是故意这么做的,导师给我说,最好来两个图,免得全是图表太生硬),这么细微的问题都被发现了。另外一个专家给我指出了两个非常重要的参考文献,并且态度温和地告诉我,我所使用的方法在该领域已经过时,最后评价“总体有意思,不过价值非常小”。

此外,有两个专家告诉我,我需要一个英语地道的人修改我的行文和组织。

恩,看来这些可以算作消除一下大家浮躁的心理。抱着东拼西凑的想法,即便是高级地东拼西凑,是做不了学问的。当然,我为自己辩护的是,我知道我所做的工作还很初级,这次投稿仅仅是想看看正式的回馈是什么样子,但是10页的文章,本来还有一点点自己为是,现在看来十分可笑。

再次说明,即使是很不错的课程项目,不经过重新仔细思考,与真正的科研成果还是相去甚远的。还是从最基础的慢慢学走,别眼高手低了。

末代皇帝

前两天看了电影《末代皇帝》,心里感触良多。其中,溥仪在文革中的经历虽然只有一点点的描述,却让人意味深长。

当口呼“万岁”,手挥《红宝书》,跳着“忠字舞”的红卫兵和红小兵走在街头批判“反革命分子”的时候,溥仪似乎感觉到有一些东西是曾经出现在清朝皇宫里的,出现在遍布日本人的天津的,出现在他用以恢复满清的“满洲国”中的。有一些东西没有轻易地消失。

那些可以轻易忠于朝廷的人,和完全忠于“毛主席”的人,似乎内心深处都有着同样的某种神秘的向往所联系。于是,我们心中的“皇帝”真的就消失了吗?当我们心里常常去渴望贤明的领导时,有多少是那种古时候希望“民君”的想法在里面?恐怕只有我们自己知道。封建王朝可以一朝倒塌,可是封建思想却很难去除。

我们常说,“历史是人民创造的”。可真正开始批判历史,我们却用着简单的价值道德观念。于是,慈禧成为了中国走向没落的代言人,于是溥仪成为了复辟势力的代言人,于是毛泽东成了文化大革命的代言人。可是难道这些人是孤立存在的?难道历史是这些人表演的?

历史不是演戏,于是往往说不清楚谁是主角谁是配角。溥仪在监狱里,碰到了“满洲国”里的总理、内政大臣、卫队长,慢慢地,他才知道了那些在“满洲国”里他所不知道的秘密。虽然在真实的历史中,溥仪是受到了毛泽东接见的,但是电影里却没有表现这一幕,反而仅仅表现了文革中,街头的一景。人人都参与了。

是的,历史是人人都参与了的。当我们可以很容易找到某些历史事件的代言人的时候,我们是否忘记了我们也曾是历史的书写者了呢?

前不久,南方都市报的编辑长平写了呼吁反思文革的文章。他说,政治运动绑架了一代人的青春。通过《末代皇帝》,我突然发现,也许我们应该换一个角度,为什么不说,整整一代人去绑架了一个国家的某个时代呢?政治运动绑架了一代人的青春,说上来是一个人人受罪人人遭殃的年代。但是我们仔细看看,那场政治运动是不是又是人人参与,几乎每个人既是受害者又是加害者的角色呢?要不然,那么多的红卫兵,红小兵,以及领导红卫兵和红小兵的人都是哪里来的呢?连“满洲国”的最高首脑皇帝都能被蒙在那么的历史事实背后,为什么仅仅选择去反思某个人在政治运动中的角色呢?到底是谁绑架谁恐怕真的很难说清。

希望大家反思反思那种任何事情马上就找准一个矛头,然后狠狠批判的手法。不要忘了,可能人人都是参与者。

社交型网络–Social Networks (三)

在前两次谈了关于社交型网络的美丽画卷和机会之后,我们这次来看看人们社交型网络发展到现在所面临的一些问题,而这些问题才真正是我们需要好好思考和关注的。

第一次我说了,促使我写这三篇文章的很大一个原因在于我参与的学校项目。这个项目邀请了宾夕法尼亚地区一些公司和组织来针对社交型网络的前景进行了三次座谈,这三次座谈我都参加了。应该说,三次座谈都有一个共同的特点,那就是参加的人对社交型网络都抱有极大的热情,同时也抱有极大的怀疑。

热情在于我前面两篇文章所提到的那些东西,大家都希望通过社交型网络带来一些变化。商业公司希望能够有崭新的商业模型出现,而另外一些组织则希望通过社交型网络达到组织的沟通和结构优化。然而,可以说非常实际的问题在于,现有的各种社交型网络并没有解答这些真正在工作第一线上的大量问题,尽管已经有了一些成功的案例。

对于类似Facebook、LinkedIn和Second Life这样的社交型网络服务商,很多人保持着相当高的怀疑态度。最大的问题就是,他们如何赚钱?

的确,这不光是普通人希望了解的,更是这些社交型网络服务商面临的问题。不能不否认,直到目前,这类服务商依然通过风险投资维持生计,而少有的收入来源也是并不是什么秘密的广告收入。盈利模式的单一和不稳定导致了这些服务商并不被真正看好。其次,社交型网络能够短时间内聚集大量的人气,然而真正利用社交型网络达到沟通、协调目的的又有多少呢?特别是对于商业和组织而言,并不是缺乏聊天、发照片的工具,而是希望有一个新的工具能够带来便利,所以,Facebook之流尽管花哨,却并不实用。人们希望的是办公套件、即时通讯、维基百科之上的东西。而很显然,目前还并没有类似的工具。

其次,工具仅仅是工具。并不是说IBM使用了Second Life,我们也就使用Second Life。很多问题不是单单利用一个工具就解决了的问题。很多企业希望能够发现社交型网络背后真正的价值。而不是说局限在某一个特殊的计算机工具。

三次会议之后,人们发现,真正困扰大家的其实并不是社交型网络,而是科技与人的关系。到底是科技推动人,还是人去推动科技?尽管不能那么截然翻开两者之间的关系,但是很多公司的人都对马上使用各种新兴计算机软件产品从而带来变化并不感冒。大家想知道为什么。

我清晰得记得二月份的时候,有一个公司的CEO坐在我旁边说了这样一番话:“我们觉得我们已经足够好,为什么要改变,谁能保证改变之后我们已经能够得到那些所谓的好处?社交型网络有可能又是一个炒作的泡沫,就像第一次互联网泡沫一样。时至今日,有不少公司连计算机都不怎么使用,照样能够运营良好。没有任何人说,哪样科技是必须的。”此人在那次会议的上大唱反调,让人觉得他来的目的不纯。不过非常有意思的是,后来我去这个人所在公司网站看,才发现,这个网站居然是提供社交型服务的,一个面向希望转学的大学生的网站。看来,这个CEO思考的其实就是他们所面临的困难和难题,同时也说明,没有足够的理由,真正的商人是不愿意花钱来买“新、奇、乐”的。此人说的是实话。

社交型网络的确不是万灵药。社交型网络的价值和用处并不是想象中的那么大。将近10年前的互联网第一次春天,仿佛一切东西放上网络就成了金子,仿佛一切东西加上一个.COM就时髦起来。然而,残酷的现实让人们认识到了,哗众取宠是相当容易,可真正的商业模型却非常困难。10年后,当一切都要以2.0来冠名的时候,我们是否也有一定的紧迫感和危机意识呢?不完全是。

我目前的实习工作就是在一家小的软件公司开发社交型网络产品。随着开发的进行,我越来越发现,社交型网络其实并不是什么很特别的东西,真正特别的是,如何处理现有的商业模型和以后的模型。社交型网络如果带来现有客户关系和社会关系的变化,那么谁为这个变化买单?这些才是真正有价值的问题。

就在写这篇文章前一天,国内最大的社交型网络服务商“校内网”宣布了平台服务战略。应该说,这个战略并不是什么新玩意儿。同时,我们也看到了此类服务商对于商业模型的一些有意义的探索。

我希望通过这三篇文章让对社交型网络有兴趣的朋友一个思考的起点,让大家来讨论社交型网络的未来发展。

社交型网络–Social Networks (二)

上次我主要谈了一下社交型网络为社会科学和计算机科学带来了哪样的契机。从某种程度来说,这方面是很容易让我们普通用户感受到的。实际上,对社交型网络抱有非常大兴趣的还要算是商业公司。不少公司看到了社交型网络的应用前景。我们这次就来谈谈这方面的内容。

应该说,最早的社交型网路的应用就是提供社交型网络服务,也就是类似“交友”网站。时至今日,各种名目的类似网站非常多。有名的,没名气的,大多提供相似的服务。用户需要到这些网站注册,然后可以通过E-mail或者是IM工具来邀请自己的朋友到这些网站来。尽管不少站点非常红火,比如北美的Facebook,中国的“校内”,但是这类应用都有一个致命的缺陷,那就是没有清晰的商业模型。说通俗一点,就是没有非常清晰的赚钱模式。当然,广告是一个很不错的收入来源。特别是在这一类网站发放广告应该算是有针对性。然而,研究表明,在社交型网络网站点击广告的人数并不乐观,大多数用户也就是发发视频、照片,然后在朋友的留言版上说一些废话。用户并没有利用社交型网站来进行有意义的活动,特别是商业活动。所以,尽管,像Facebook这样的网站炒作非常厉害,但是真正的商业人士都抱有非常大的怀疑态度。

实际上,除开这类大众型的社交型网络服务,真正意义上的,商业应用型的社交型网络已经取得了很多不错的成绩。宝洁、IBM以及Cisco是三个不得不说的例子。

宝洁公司利用社交型网络,把自己的产品研发扩展到了公司外,形成了自己的研发社区。在应用社交型网络之前,宝洁公司的研发主要靠自己的研发部门。研发产品最大的风险就是开发出来的产品并不是市场所需要的。为了避免这种情况的发生,公司往往需要做非常细致和长期的市场调研。然而,人算不如天算。在瞬息万变的市场中,需求常常是变化的。6个月前开始研发的产品也许仅仅符合6个月前的需求。更何况,需求分析常常是没办法做到十分准确的。从前一篇文章我们就可以看出,需要人参与的实验往往都没办法做到样本的代表性完备,更何况,一般也不可能找到很多的人来参与需求的调查。结果是,产品的研发风险较大。宝洁公司是如何利用社交型网络的呢?其实很简单,那就是利用互联网,建立和用户的社区,形式多种多样,比方说论坛,Wiki。中心思想就是,让产品研发的思想和点子直接来源于社区,直接来源于用户。于是,风险大大降低,同时也吸引了资深的用户为宝洁贡献自己的想法。宝洁把一个封闭的企业打开,用户不仅仅是一个被动的参与者,而且成为了企业的一部分。这些参与研发的用户,自然也会成为产品的消费者。为宝洁公司形成了一个良性的循环。

IBM的例子则在于利用社交型网络来提高企业内部的效率。公司组织一旦大到一定程度,必然会出现,内部员工都没法互相认识,各个分部之间沟通匮乏等等“企业病”。而这些企业病的核心则在于,信息没法共享。这里包括人员的信息,事务的信息,项目的信息。最简单的例子是,IBM全球曾经有7个分部的人员在进行着非常类似的项目,而这些人居然都不知道对方的存在。这对于企业来说,是人力物力的极大浪费。IBM在企业内部构建了类似Facebook这样的应用,让员工充分了解,并且利用这样的应用来磨平部门之间的鸿沟,同时利用企业内部Wiki来达到知识的共享。更进一步,以前如果某个项目出现问题,希望找到在某一方面的专家,对于一个大型企业来说,并不是一件容易的事情。然而,现在,社交型网络让人们突出了自己的专长,使得企业内部的人员控制得以透过部门达到效率提高。目前,IBM是一家非常热衷于在企业内部利用社交型网络来提高企业效益的公司。

Cisco的例子是使用社交型虚拟环境来提升一个跨国公司的效益问题。跨国公司的问题很多都集中在如何能够充分协调好和管理好各个分部。然而,因为时间、地点的不同,分部和总部,分部和分部之间的沟通存在着某些不可逾越的困难。如果再加上需要产品展示,研发讨论,则显得更加力不从心。Cisco引入类似Second Life的应用,让公司分布在全球的员工利用虚拟环境达到互相认识和沟通的目的。同时,Second Life也给Cisco创造了一个非常好的产品展示和研发讨论的平台。虚拟环境和传统的视频会议最大不同在于,视频会议往往更加正式,而且视频会议没法充分利用电脑本身的一些功能。比方说,要展示一个新大楼设计,要展示一大群人,就要受到硬件条件的限制。而虚拟环境,一方面没有这些限制,另一方面,也更加随意,非常适合企业内部的交流和协作。类似Cisco这样的例子还不少,Second Life的商业应用正在越来越多地被关注。上面提到的IBM也是其中很活跃的成员。

其实,这三个例子都有一个共同的特点,那就是利用社交型网络来构建“社区”。不管是虚拟的社区还是现实的社区,不管是企业内部的社区,还是企业和外部世界的社区,社交型网络工具及其理论为企业社区建设提供了依据和基础。然而,后三者例子和Facebook这样的公共服务网站最大不同的是,他们都直接为企业的盈利服务。他们有着明确的目的。这些才是目前商业公司最希望采取的模式。

当然,也不是每个公司都能够非常顺利地应用社交型网络来达到目的。实际上,社交型网络远远不是应用一下Wiki或者Facebook,抑或Second Life那么简单。关于这方面的讨论我们将在下一篇文章中展开。

社交型网络–Social Networks (一)

这大半年来,我一直参与学校的一个“社交型网络”的项目,对“社交型网络”慢慢产生了一些想法,在这里,打算用三篇博客的篇幅来和大家交流一下。因为仅仅是感想抒发,因此文章中采用的数字和论据,都不注明出处,希望有兴趣的朋友自己去查证。

我对两个部分的安排是这样的,第一个部分,我打算聊一聊互联网对于社交型网络的影响以及社交型网络是如何作为社会学、心理学和计算机科学的平台。第二部分,我打算讨论一下企业如何希望社交型网络为企业带来革命性的变化。第三,我想讨论一下目前社交型网络的困境和未来。希望大家关注。

—————————————————————————————————

目前国内火热的“校内网”和北美火热的“Facebook网”均是提供“社交型网络服务”的网站。同类型的形形色色的“社交型网络服务商”多如牛毛。其实,这一类型的服务,对于年轻的互联网来说,并不是什么新鲜事物,早在2000年左右,国内的ChinaRen就初具“社交型网络”的特点。而北美类似的网站,则要追溯到1996年左右成立的Classmate了。

那么,为什么这几年,社交型网络呈现出越来越火热的态势?答案有多方面的。但最主要的有两点,第一,社交型网络以“人”为中心,改变了传统意义上,互联网以“单一文本”为中心的理念。第二,社交型网络能够以互联网为基础,加深人们之间的沟通,把人际关系网络扩展到了虚拟世界,形成了现实和虚拟的一个良好的结合点。

然而,今天我想讨论的则是另一个话题,那就是社交型网络为社会学、心理学和计算机科学的结合提供了一个良好的平台。

Social Networks并不是什么陌生的名词,说成中文,可以很方便地就翻译成“人际关系网”。研究人际关系、社会关系的社会学早已经把“人际关系网”作为了很重要的研究议题。比方说,研究人与人是如何交朋友的;哪些人在一个朋友圈子中是更重要的人;“流言”是如何在一个人际关系网中传播的;一个群体中,专家是如何体现的;个人价值如何在群体中体现,等等。然而,在计算机科学介入社会学之前,大规模试验和论证是十分困难的。我们想象这样一个情况,某个社会学家认为,任意两个人之间,最远的距离是中间间隔六个人(所谓六度分隔理论)。在以前,要验证这个理论,必须招募大量的志愿者,发信件给自己的朋友。即便是互联网初期,也需要使用电子邮件这样的方式。这些技术手段,没法为很多理论的论证提供保证。大多数情况下,社会学专家们能够找到上千名志愿者,就已经非常不错了。然而,真正的科学实验,还需要注意样本的诸多问题,比方说年龄、性别、地区等等的分布。更进一步说,实验环境毕竟是一个模拟环境,参加实验的人并没有真正把实验当作自己的生活。这也使得传统的实验方式并没有体现到真正人际关系。

互联网为社交型网络分析带来了第二春。以“交友”为核心内容的大型网站,第一次把人际关系数字化了。现在通过种种流行的社交型网站,我们可以轻松的获得数目足够多的样本,可以得到类型丰富多彩的资料。同时,人际关系也比在纯实验环境中来得真实。举一个简单的例子,在过去,星巴克如何知道饮用自己咖啡的群体特征(年龄、性别、地区分布)?只能到一些地方去发放问卷。众所周知,问卷调查的效果是不好的。很多人并不想回答问卷调查。今天,星巴克只要通过Facebook平台,就可以轻松获知选取“我是星巴克粉丝”这一功能的人群信息。注意,这些信息还是免费的。而喜欢星巴克的人群也可以互相了解,畅谈自己的星巴克故事。这在以前是不可能的。

另一方面,像我之前提到的那样,因为社交型网络把焦点放在了人上面,因此计算机科学和数学的重要组成部分——图论、概率论有了大显身手的地方。目前,利用图论来进行“人际关系挖掘”研究的计算机科学家在海外已经越来越多。比方说,理论校内网,找到某一个大学中,朋友最多的人,朋友的朋友最多的人。如果商家进行推销,那么就可以从这些人下手。以往,这样的信息是不容易得到的。现在,则非常简单。再比如,你电脑出问题了,一时打电话联系不到客服,那你知道该找周围的哪位朋友吗?你知道找哪位朋友最合适吗?Facebook平台会很容易告诉你。因为在Facebook上,每个用户都加入了大大小小各式各样的群组,这些群组都是根据用户个人喜欢,用户自己加入的。于是,如果你的一个朋友加入了很多IT,电脑相关的群组,那么很有可能这个人就是你要找的那位朋友。当然,这仅仅是些小例子。但是通过这些小例子,我们可以看到社交型网络在互联网上的应用的确振奋人心。

随着人际关系、人的喜好都已数字形式出现在互联网上,以往无法建模的很多概念如今都成为了实实在在的数字。数学模型,特别是统计模型为我们去了解社会和了解个人提供了强有力的工具。如今,社会学研究再也不担心试验的问题了,科学家可以转入研究的一些新的阶段。比方说,如果你要开公司,你最好认识谁,谁最能帮助你,这是一个“关系预测”的问题;比方说,如何通过人们提供的标签(tag),来看人的价值取向。现在,计算机科学可以很好地解决这类问题。这在以往是不可能的。

计算机科学和社会学因为社交型网络正以前所未有的速度交融在一起。目前,多所美国大学(比方卡内基梅隆大学、斯坦福大学)都有专门研究这方面的计算机学者。好几个高级互联网、数据挖掘会议都有专门的“讨论组”来讨论这方面的研究进展。社交型网络研究正方兴未艾。

再次抛出关于Linux的话题

今天gaospecial给我留言,我回了以后,害怕大家误解一些我对于Linux的看法,固而好好写一篇我对于Linux,特别是Linux开发环境的看法。

我自己有一台电脑使用的是Ubuntu Linux操作系统,我实验室的机器是CentOS,现在上班的机器也是CentOS,学校的工作站是Sun Solari。尽管,我自己在Linux下开发和办公基本没有问题。从我自己的情况看,我没有必要讨厌Linux。2004年的时候,我还在我所参加的学 生组织学生网络中心组织了Linux学习小组。应该说,我个人还是很喜欢Linux的。

但是,为什么我一直都对Linux有意见呢?那是因为我觉得有一些Linux的缺点不应该说成是“强大”的代名词,反而成为了Linux迷炫耀的地方。

比方说,一直以来“易用性”好似不被Linux用户所齿,只要功能强大就行。但是为什么Ubuntu能够成功?这是不是说明了“易用性”的重要性?也许 是。还有一点,以前Linux宣传的口气是,不需要什么图形界面,全部命令行的操作体现了专业和高级。不过,现在Gnome和KDE的界面做得越来越花 哨,还有不同的界面插件证明了,虽然界面不是万能的,但是对于普通用户来说,没有界面是万万不能的。

操作系统和软件的发展还是有一定规律的。强大和易用性不是对立的。这也是汇编语言虽然强大,但是并不是最主要的开发语言的原因,也是甚至C或者C++也会慢慢变成不是最主要的开发的语言的原因。当然,那是另一个话题。

再说Linux的开发。长期来看没有一个标准的集成开发环境其实是阻碍Linux发展的一个潜在因素。回顾Windows阵营,微软的Visual Studio和Borland的系列开发工具(包括C++ Builder、Delphi、JBuilder)真的是功不可没。强大的开发工具提高的是整体软件开发的能力和效率。不仅仅是写程序的效率,更是团队协 作的效率。举一个简单的例子,在Linux下开发,因为调试器的缘故,很多时候,开发人员只能通过输出log信息来达到知道运行状态的目的,但是这在一个 大型系统中,要想通过这样的方式来很清楚认识每一步的运行状态是非常困难的。对于源程序来说,功能代码之间夹杂着无数的调试信息输出代码,也是非常不美观 和影响代码理解的事情。

注意,这里不是否定GDB和G++之类的开发工具的强大性,而说的是易用性以及易用性带来的效率问题。我们不能说,因为有了GDB,就不需要更高级的调试工具了,这是不对的。

我知道通过配置VIM和Emacs还可以听音乐,看电影,还能干这个,干那个。有人说这两个软件能无所不能。我相信。但是,要说开发软件,我不相信这是好 的方法。大的例子太多了,微软、IBM、Oracle和Sun的基本所有软件都是用了集成开发环境开发,单靠VIM和Emacs来编写上百万的代码是不可 能的,这不是怀疑这些编辑器的编写能力,而是软件开发除了编写,还有很多的东西。

所以,Linux阵营要做的是好好开发一个软件开发环境,而不是一次又一次告诫大家使用VIM或者Emacs。这两个软件本身没有错,但是做开发工具,特别是软件开发工具,并不是最适合的。

另外,有人肯定会告诉我,VIM和Emacs的插件如何如何丰富。最好不要提这个。第一个原因是,用户安装好一个软件,这个软件是要可以使用的,能够达到基本需求的。为了语法高亮、为了语法检查都需要寻找插件,这不是什么好的理由。

当然,VIM和Emacs存在的理由,不是没有。在有不少的情况下,特别是终端操作,远程操作,这样的纯文本编辑器是效率最高,也是很有可能唯一提供的工具。

此文仅仅是希望在使用Linux的朋友,真正去看到Linux的不足,去弥补这方面的问题。