Hello World
Spiga

老赵书托(4):浪潮之巅(内含牢骚,不喜勿入)

2011-11-06 14:35 by 老赵, 15132 visits

我是一个码农,一个很彻底,很标准的码农,自认为比我遇到过的绝大部分技术人员要码农得多。我喜欢搞技术,玩技术,不喜欢搞管理,搞人,或是搞产品等等。我是死脑筋,凡事都要想很多遍,想个明白,想不明白就不表态。我不喜欢猜测,不喜欢无法验证的事物,因此我成不了那种常见的,著名的,经常指点江山的分析师。每次有人问我对某某事物未来的看法,十有八九我只会婉言谢绝。其实照我的个人口味,我是不太会对《浪潮之巅》这种类型的书感兴趣的,但之前在网上看过谷歌黑板报上的连载,感觉不错,因此也去“搞”来一本品读一番。

这是一本历史书

浪潮之巅

在我看来,《浪潮之巅》其实是本讲产业历史的书,记录了IT产业里那些曾经(或是现在)叱诧风云过的明星,从大家耳熟能详的微软谷歌,到许多人看来并不怎么引入注意的惠普和雅虎。这些明星从起步到鼎盛,再到平淡甚至是衰落,似乎只有苹果现在正好刚到达波峰——毕竟这些都是悠久历史的公司而不是互联网新贵。这样的书其实很难写,因为要去了解的东西太多,更难得是把这些信息有条不紊地整理起来,这点我就自忖做不到。

而且在我看来,写历史一定要保持中立客观,应该以记录和描述为主,而不是阐述自己的观点,简单如“太史公云”便已足够。但是,既然已经了解到那么多的情况,显然远远胜过绝大部分人,有多少人又能够克制住自己内心叱咤风云的冲动,不要那么急于做出“预言”或“展望”?殊不知,同类书籍中的大部分都像是些预言家的作品,而互联网上也充斥着看过几篇二三手新闻报道,便能够自信满满指点江山的产业分析师。反而是码农同学们,你们都到哪里去了?

这也是我为什么之前会说“按照个人口味”会对此类书籍不感兴趣,因为我只是一介码农。我希望类似书籍可以更多一些,如今能让我立刻回忆起来的,似乎也只有许多年前的《Borland传奇》,以及前两年出版过中译本的《观止》。实在应该多出一点,让人相互参考也好。即便我愿意相信《浪潮之巅》的品质,也想看一下其他人眼中的历史来对照一番——是吧,我就是那么死脑筋。

当然,这本书也不只是记述了巨人们的历史,它也讲述了一些有影响力的事物,从摩尔定律的影响到风险投资,从硅谷到斯坦福大学,等等。说起来实在丢脸,从理论上说,我也是参与过创业的人了,但也只有看了这本书以后,才明白对于一个创业公司来讲,股权分配之类究竟是什么样的操作方式。

值得一提的是,由于我决定远离纸书,因此这本书看的是电子版。感谢电子工业出版社Just Pub团队的电子书试点服务,要领先则必须做别人不敢做的,管那些小白们说什么。《浪潮之巅》的版式也符合我的口味:行间距较大,段间距明显,首行无缩进。

技术人员的踏实

这本书我觉得适合行业里绝大部份的人拿来看看吧,就当是开阔眼界。我也更希望读过这本书的人能够学会这本书里面点踏实做法。这虽然不是一本谈论技术的书籍,但却能对我这码农的胃口,我认为很关键的一点就是它符合我的思考的“规范”:有一分事实,说一分道理;有七分依据,不做八分肯定;即便无可避免,也尽量从各个角度给出各种推测,而不是只推测出自己喜欢的结果。我本以为这是个很朴实,也很普适的准则,但现在看来似乎还真不容易被人接受。

就拿最近发生的一件事情来说吧,京东上个星期搞了次半价促销,结果服务器撑不住了,于是又引起了微薄上一些有头有脸的大牛对.NET技术的批判,说.NET和Windows性能差撑不住云云。我自然还是一贯以码农视角来应对这些问题:说.NET和Windows性能差,就一起来跑个测试,无论多简单的Benchmark来试试看嘛。我现在只是没有条件而已,以前有条件的时候做过好几次,性能绝对不差,远远胜过当时最火热的Apache——当时nginx还没有像现在这么流行,而且就算看现在nginx的数据,也并不比我当年测IIS领先多少嘛。更重要的是,这些数据早就没有什么意义了,因为对于绝大部分情况来说,性能瓶颈还是在你写的程序上,而不会是这些技术本身的能力上。

可惜大牛们依然只是再不断地举出“事实”:为什么搞个促销活动,淘宝就好好的,但京东就出问题呢?显然,他们的答案是“Java的性能比.NET好”。这里我就不提什么“架构最重要”这种老生常谈的东西,我只想说,在把原因归结到技术本身的能力之前,先关注下双方对技术的态度如何吧。淘宝在各大会议分享他们的技术探索的时候,京东在做什么?当淘宝的技术人员在社区里与人交流的时候,京东方面似乎只能看到刘总本人在搞笑搬的叫着“加三倍服务器”。淘宝的技术团队(据说)独立架构,京东的技术团队隶属信息部。一个是正规军,一个是保安处,为什么说他们战斗力的差距来自手中武器?淘宝和京东在对待技术的态度上天差地远,在此之前比较技术又能有多大意义呢?

我想大家都明白,技术是要看人怎么用的。比如StackExchange用.NET做的很不错,可能的确是因为他们的技术人员水平很高,平常人根本达不到(哎,原微博被删了)。但同样从这方面来讲,淘宝的技术人员在Java乃至各方面的水平都是国内,甚至在世界上首屈一指的。就拿薪资待遇来说吧,阿里巴巴技术人员的待遇在国内属于第一梯队,而今年早些时候我从京东内部打听下来的情况,似乎我能获得的待遇也就跟我工作一年的时候差不多。其实我也并非不知道身边“.NET转Java失败”的案例,要知道当时他们也是投入重金聘请了许多业内高手,但最后还是失败了,但我绝对不会以此事说Java平台如何——我只会骂Java语言,因为我只对这方面有十足把握,因此论证也绝对仔细。

我相信大牛们的水平一定比我高很多,眼界也一定比我开阔,思维也一定比我严谨,逻辑也一定比我清晰。我说的这些你们肯定都了解,但为什么就回避了呢?技术人员有倾向性是好事,这让人们产生热情有动力去探索,但是在讨论技术时,无论如何也该用技术人员的方式啊。

我始终坚持技术人员应该有技术人员的风骨。技术上的事情其实最容易讨论,因为人的观点是活的,人有喜好有感情,但技术不会,完全能够做到有一说一有二说二。但是,我总觉得国内许多技术人员在这方面有所欠缺,双重标准耍起来端的熟练。一会儿可以说:“很多事情不是技术决定的,XX更重要”,一会儿又表示“MySpace的失败一定是因为.NET技术问题”。这实在苦了我这个码农,无论是向人打听,还是从各个演讲里,都希望能找到到底是什么“技术问题”,但都基本得不到结果。点评转Java也一样,他们到底因为.NET出了什么问题了呢?如果您了解这两家的情况,也请告诉我,无论是公开还是私下都行。

我其实本已经对国内这种缺少“技术风骨”的技术风气有点习惯了,但这次被人点了名,一时没忍住又掺和了进去。之前还有某位反对微软的同学,据说是为了“兼听则明”会主动前来“挑战”。但有了即便拥有十年经验之后依然还是“三分事实,七分推测”。最近一次,则是根据Build大会上的一些演讲来批评微软的技术走向。我自诩看过的Build大会视频绝对多过这位同学,但我还是认为自己绝对还没有到可以对此表态或是做什么展望的程度,更谈不上能如此“自信满满”。这位同学,我相信您一定也会看到这篇文章,这次您一定能明白我的标准了吧?您要再来的话也请换种方式。还有,之前您一直看不上国内社区,那么这段时间里有没有在我推荐给您的StackExchange,Reddit或是Y Combinator上“兼听则明”呢?

《浪潮之巅》有资格骄傲,但它给我的感觉却是无比的踏实,这值得我们学习——但我依然会怀疑,有些人看了浪潮之巅以后,是否会更加自信满满地叱咤风云,指点江山呢?

扩展阅读

Borland传奇

正如之前提到的那样,与《浪潮之巅》同类又靠谱的书实在不多。《Borland传奇》算是一本,如果您没有看过的话也不放搞来一看。我当时看这本书,是因为听说过Anders Hejlsberg的传奇(他其实也是我接触C#的主要原因之一),也对Borland当年的辉煌心生向往。这本书的作者李维与《浪潮之巅》的作者吴军一样,都是技术和文笔都十分了得的人,而李维Borland的资深员工,可谓亲身经历了公司的起伏,以他的角度记录公司的历史,相信可以胜过一些旁敲侧击所得。

一个创始人Phillippe打工赚钱,一个创始人Anders开发产品,并最后靠Turbo Pascal一飞冲天,Borland就是这样诞生的。Borland在当年完全可以称为是一个软件帝国,相比微软绝对有过之而无不及。在当时程序员的眼中,Borland的产品可谓是各个精品,在与微软的竞争过程中多次获胜。可惜在巅峰时刻,Phillippe被迫辞职,郁郁不得志的Anders被Bill Gates揽至麾下,在微软继续实现他在开发平台上的构想。从我之前翻译过的一篇文章来看,Anders一直扮演着指引语言发展方向的作用,这也是为什么C#比Java发展更为健康的缘故。

之前我也一直以为Borland的失败是由于微软挖人的结果,也会想为什么一个创始人会放弃自己的公司,而投入竞争对手的怀抱。看了《Borland传奇》之后,至少在这本书里,并没有将Anders的离开作为Borland失败的主要原因,毕竟他也只是一个人。Borland迅速衰退的主要原因还是决策上的失误,市场判断错误,产品线过多,从技术导向变成销售导向,以及Java开发工具和数据库产品上的失败等等。一群天才技术人员的成果败在一群高管的折腾里,说起来也算是技术浪潮使然,造化弄人。

最后,如果您感兴趣的话,也不妨看看《观止》,记述了微软构建NT的风风雨雨。内容不错,可惜翻译质量实在有些不敢恭维。

相关文章

Creative Commons License

本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名赵劼(包含链接),具体操作方式可参考此处。如您有任何疑问或者授权方面的协商,请给我留言

Add your comment

97 条回复

  1. 老赵
    admin
    链接

    老赵 2011-11-06 14:35:43

    终于写完了。烧菜,吃饭,爬山去也!

  2. 神奇
    124.236.165.*
    链接

    神奇 2011-11-06 15:05:11

    技术没有高低,只是人有高低

  3. 链接

    ProjectBian 2011-11-06 15:26:01

    话说,N久没有见到老赵写博客了,还是希望多多分享心得嘛,哈哈……

    再有,对于文中的观点,深表赞同。一切以事实、证据说话,那种猜测、虚妄的言论,实在让人好笑。微博上的那次争论,我也从头看到尾了,也是一笑置之。

    坚持“技术人员的风骨”,这才是最重要的。

  4. ng
    114.91.121.*
    链接

    ng 2011-11-06 17:26:58

    任何语言,任何平台,任何公司,能长期存活的都有其智慧所在。我和老赵比较像,我也喜欢你的类型,我是杂粮动物,能有市场的技术我都会深入去研究,我现在自己创业,不应该说创业了,我的公司已经活了五年了,每次看别人骂某些技术烂时,我只会默默数着自己账户的收入偷笑,我已经五年没去公司工作了,我也从未打算再写任何简历,因为我的产品收入的确不错,每个不同的平台我都心存感激,因为通过学习平台语言和框架,我学到着这个平台人的思想精华,通过平台打造出的产品让我一次性付款很体面的住在顶级的公寓。

    另外对于老赵批判之人我也了解,我厌烦此类人,你可以不去学某个你看不起的技术,但你没资格公开毫无凭据完全主观方式的批判,既然你厌恨你没深入学过何来评判之基础?不过我也不愿意和着等人吵,让他不屑去吧,我很感谢微软平台每年给我带来的30%收入。

  5. 躺着读书
    112.95.6.*
    链接

    躺着读书 2011-11-06 18:13:00

    其实平台和社区是更为重要的东西。java选择在升级语言上慎重和拖延,从某种意义上来说也是:照顾社区,Sun穷,两个原因造成的。java产品,包括很多新东家oracle的,都跑在1.3的版本上,因为商业承诺等等原因必须保证向前兼容。

    我早说过java进入oracle的手肯定是巨大的利好。因为oracle很有钱,而且oracle也最擅长给他的员工开高工资……非常非常非常高。对于oracle来说同时维持好几个不同的版本并行fix bug是很容易的事情。而当年的sun不仅没有钱,也根本没有这么多的工程师来做这个事情。

  6. lparam
    183.13.198.*
    链接

    lparam 2011-11-06 18:29:25

    爬南山还是莲花山呀?

  7. 老赵
    admin
    链接

    老赵 2011-11-06 18:32:47

    @lparam

    南山啊,莲花山就是个小土坡,嘿嘿。

  8. 老赵
    admin
    链接

    老赵 2011-11-06 18:34:35

    @躺着读书

    其实我一直没搞明白为什么1.7没法兼容1.3,当然我的确见过只能跑在1.6而不能用1.7的例子(比如Maven),但我始终认为这是技术上的缺陷(不管是Java本身还是特定某个项目),Java 1.7应该完全兼容1.3的。

    而且,就语言层面来说,兼容性真不是理由。语言不同于运行时,这东西要兼容实在是太容易不过了。

  9. 躺着读书
    112.95.6.*
    链接

    躺着读书 2011-11-06 21:30:12

    你说的这个是向后兼容啊,我说的是向前兼容。 word2007能读word2003的文档叫做向后兼容,word2003通过安装插件也能读word2007的格式叫做向前兼容。 向后兼容是容易办到的,1.7也是能够跑1.6的class文件的,除了极少数情况(项目里面采用了一些非JDK API的包,比如说com.sun.*下的某些,比如说本来就被声明成“废弃的未来将被移除的”)。

    但是,很多有钱的大佬都是很懒的,他们就是喜欢用1.3 或者1.4的 虚拟机。理由是这些虚拟机他们调优得很好啦,功能够用了不愿意升级啦…… 等等借口。 这个时候即使java语言升级到了更高版本,但是只要语法不改变,拿到源代码设置编译级别为1.3或者1.4 就能编译成在1.3或者1.4虚拟机上能运行的版本。某些技术也能够直接修改二进制class文件

  10. Astar
    61.163.84.*
    链接

    Astar 2011-11-06 22:06:53

    这本书看了一半了。

  11. 老赵
    admin
    链接

    老赵 2011-11-06 23:27:35

    @躺着读书

    现在用中文说向前还是向后兼容都混乱了。首先不谈这个要求是合理还是蛋疼,但谁说Java语言就做到这种兼容了啊?我说Java不思进取,没说它一点没变啊,1.4~1.7都是有变化的,只不过变的无关痛痒甚至蛋疼……

    现在甚至Java在二进制级别都没法兼容,因为Java 1.7增加了invokedynamic指令。反倒是.NET,除了1.0到2.0的时候为泛型增加了一些指令以外,之后都是风平浪静的。C#是再此之后才开始发力的,都丝毫无损二进制兼容,因此二进制兼容完全不能作为不增强语法的理由。

    Java完全可以自己升级,谁想用旧版本就继续用呗,没人说不允许你用。还有,真有人会针对Java 1.7写代码,但是想运行在1.4上?那么类库怎么办?

    这些真的都是无谓的借口,早就听过无数次了,一次次拿出来解释不如及早接受现状。其实广大人民群众和厂商也早就无法忍受Java的不思进取了,不说社区里如Scala越来越引人关注,连Eclipse都忍不住推出改良版Java了(不过个人觉得这语言设计得没什么出彩的……)。

  12. jjx
    125.114.177.*
    链接

    jjx 2011-11-07 08:26:08

    现在没人这么傻了,光去比较纯语言的性能,其实是在比较整个生态圈而已,大部分好的东西本身windows原生支持都没有了,.net 的纯语言优势也没有大的作用.

  13. 老赵
    admin
    链接

    老赵 2011-11-07 08:40:44

    @jjx

    那就举点这方面的例子给大家讨论看看到底是有还是没有(虽然个人没觉得差在哪里),至少比直接说什么性能问题要靠谱一些。

  14. rexzhou
    61.153.18.*
    链接

    rexzhou 2011-11-07 08:42:48

    《Borland传奇》大学时代一直在床头放着好几年,看了好几遍

  15. 忍不住说几句
    115.204.231.*
    链接

    忍不住说几句 2011-11-07 09:17:08

    jjx说到点子上了,windows作为操作系统不会比linux差,C#语言本身优于java(毕竟在语言设计上有时间点的优势),.net runtime可能不比java runtime差,iis可能不比apache,nginx差,但很多时候是整个生态圈,大部分的大型互联网公司都选择了 linux, java, php, apache,这实际上就已经形成了生态圈,在高性能,高并发,海量数据方面,微软平台虽然也能做到,但没有形成生态圈。 另外一方面,使用linux的话,你往往不得不去了解操作系统的一些核心的东西(我的个人经历是如此),一个linux程序员的成长速度要远快于windows程序员(还是个人经历,需要数据佐证,至少我见过的linux程序员在比例上是由于windows程序员的,如果有业内资深面试官提供数据就好了,还可以顺便剖析一下原因) 有点语无伦次了,下次想好了,或者有数据佐证了,再多说点。

  16. 忍不住说几句
    115.204.231.*
    链接

    忍不住说几句 2011-11-07 09:18:53

    貌似commet time 的时区不对。

  17. 老赵
    admin
    链接

    老赵 2011-11-07 09:30:24

    @忍不住说几句: 另外一方面,使用linux的话,你往往不得不去了解操作系统的一些核心的东西(我的个人经历是如此)

    你的意思是Linux不经过内核方面的调优就没法接受还是怎么的啊……Windows内核方面的书或资料从来不缺,了解核心的东西是程序员的选择不是操作系统强迫你的。当然,Linux的优势是能够看代码,不过这又涉及到几个问题:

    1. 多少Linux程序员会看或是看过代码?Linux程序员那么多,如果有10%的人看过(甚至只是看过《深入理解LINUX内核》),我估计国内技术水平早就天翻地覆了。
    2. 看Linux代码就不能用Windows了吗?我大学里学的也是Linux,也看过一部分代码。我是认为学什么和用什么是完全可以分开的,我一直这么实践。
    3. 看代码真是最好/必须得学习方式吗?我个人就觉得看《深入理解LINUX内核》(就是AV女优看的那本)比看代码要长进的多,因为这种资料里的Why更重要,代码主要就是What。代码对我了解一个事物来说的确是无奈之举了……

    至于生态环境,可能是吧,这些也是可以讨论的东西。

  18. 忍不住说几句
    115.204.231.*
    链接

    忍不住说几句 2011-11-07 09:46:53

    实际上Windows内核的东西一直都缺,只是最近几年,有了Windows泄露的windows 2000, nt4源代码, windows research kernel, 还有reactos(现在稍微像个样子了)这一套,还有潘爱民,毛德操出了书而已。如果你玩windows kernel的话,你会发现 IoCallDriver step不进去,看不到源代码,因为还是有很多代码是没公布的。

    我说“不得不”的意思是,1) linux上的工作往往要求比较高,2) 想在linux圈子里面玩得开,拿高薪,就必须这样。(还是个人经历,个人观点,我不能证明,这样也比较客观)。

    你也可以问问陈硕他从windows转到linux有什么感想,参考下他的意见。

  19. 忍不住说几句
    115.204.231.*
    链接

    忍不住说几句 2011-11-07 09:53:21

    再举个例子,一些比较新的语言比如ruby, python的第一平台往往不是Windows(我觉得这也是一个趋势), 比如我想使用python,gevent,msgpack做开发,先在windows上实验下,楞是整了两天都没整好,都是一些编译器版本, runtime dll的问题,反过来,linux其实就是几条指令。

  20. 老赵
    admin
    链接

    老赵 2011-11-07 10:14:44

    @忍不住说几句

    你说的是缺源代码(或是symbol文件?)所以调试不进去,我倒不关注这些,如果你要玩内核一般也不会搞Windows(除非搞的就是逆向黑盒之类的)。对于内核实现的分析内容,潘爱民毛德操是近两年的,不过Windows Internals都好多年了,而且随着内核发展是不断更新的,这些是我说的平时开发时“需要了解的内核的内容”。

    至于你说例如gevent,因为这些玩家本来就是针对Linux开发的,一开始在Windows上玩不了也很正常。等发展起来了,自然会支持Windows,例如Node.JS。所以我也基本不担心Windows上用不了什么好东西,因为好东西必然要会考虑受众广泛,Windows上受众之大也是不可忽视的,除非它天生就“没必要跑在Windows”,比如一些服务器组件,它们只需要Windows上的客户端就行了。而这些么,自己都能写一个出来,都不成问题。

  21. 四有青年
    114.80.125.*
    链接

    四有青年 2011-11-07 11:49:07

    见怪不怪,国足输球三怪,怪裁判,怪场地,怪天气。。。

  22. 链接

    scott.wong.e 2011-11-07 12:09:10

    我最近遇到一个问题,向赵老师请教:我在项目中使用了(URLRewriter)*.do 映射到*.ashx,在ashx中我实现了IRequiresSessionState和IReadOnlySessionState,可是悲剧的事情是session始终为null,不知道除了没有实现IRequiresSessionState接口情况下session为null之外,还有什么情况会导致ashx的session为null(环境为iis7.5,管道为.net 4.0 集成模式)?请赵老师不吝赐教,谢谢。

  23. 链接

    nevtest 2011-11-07 13:51:51

    顶老赵"技术人员的风骨"。我是靠Java混饭的,但这些年也就做些应用,还没真正去理解过她,感受最深的是JavaEE原来的EJB2.0以及后来诸多"轻量级"框架,不堪回首。目前终于有机会安心学习和实践计算机基础了,从你微薄追到这里,获益颇多。但看你多次提到Java语言的弱点,没找到你详细说明的文章,想来应该有链接,能否分享?多谢多谢!

  24. 老赵
    admin
    链接

    老赵 2011-11-07 13:55:58

    @nevtest

    最近我会写一篇关于单元测试的,以前的文章可以搜一下“Why Java Sucks and C# Rocks”,虽然太监了,但还是有很多信息的,主要都在那个幻灯片上。

  25. 链接

    HumWang 2011-11-07 13:59:21

    在微博里看到了很多对《浪潮之巅》这本书的评价包括老赵的,一直以为国内的IT方面的书籍很不什么样,看了大半本书后发现这本书绝对值得一读。虽然还是在校生,但是相信对以后的职业发展有很大的帮助。同时又发现了俩本好书《Borland传奇》《观止》。

  26. 链接

    nevtest 2011-11-07 14:02:35

    好的,多谢多谢!有问题再请教。另作为前IBMer,顺祝老赵工作顺利!

  27. 老赵
    admin
    链接

    老赵 2011-11-07 14:22:28

    @HumWang

    可惜吴军主要还是国外背景啊,真希望有更多土生土长优秀技术作家。

  28. mcpssx
    59.175.192.*
    链接

    mcpssx 2011-11-07 14:34:13

    《borland传奇》这本书,好就好在它讲述了一群天才,紧跟微软技术,最后垮台的故事。

    如果它跟Qt之类公司的学习,就不会落得那样的结局。

  29. 崩溃了
    207.46.55.*
    链接

    崩溃了 2011-11-07 15:41:39

    @mcpssx: 《borland传奇》这本书,好就好在它讲述了一群天才紧跟微软技术,最后垮台的故事。

    看到这句,我终于崩溃了。哥们你是在搞笑吗?

    “一天一家小影院放映一片子。 广告写道<<七个男人和一个女人的故事>>并有说明:一美女莫名晕倒,七男人强行拖入森林···

    等待美女的是······

    众人都觉很有吸引力逐买票入场,等到电影放映时,大屏幕出现:

    《白雪公主》”

    你让我想到了这个故事啊。。。。。您是技术人员还是娱乐新闻记者啊??

  30. 链接

    马磊 2011-11-07 17:16:08

    hello,收藏了

  31. 老赵
    admin
    链接

    老赵 2011-11-07 17:16:30

    @rhapsodyn

    我太年轻,看到有人在我这里扯蛋忍不住啊,也做不到一些大拿们拉黑或删除评论。

    技术沙龙么,我也不知道啊,最近玩心很重……

  32. xung
    61.135.165.*
    链接

    xung 2011-11-07 21:03:20

    请问赵大哥,电子工业出版社Just Pub团队的电子书试点服务搜索好好久,找不到. 我也很喜欢电子书,并愿意付费,可是没有好的资源,真希望国内有好的电子书渠道.

  33. 老赵
    admin
    链接

    老赵 2011-11-07 21:49:01

    @xung

    我和他们私下交流的,还没公开……

  34. Gang Chen
    113.240.180.*
    链接

    Gang Chen 2011-11-08 00:09:27

    评论比文章有意思,书评太散了,看着不爽。个人喜好,勿怪:)

  35. dongk
    59.46.135.*
    链接

    dongk 2011-11-08 09:00:23

    我也有意购买电子版,可是没处买去呀。。

  36. 程序诗人
    192.193.132.*
    链接

    程序诗人 2011-11-08 10:48:14

    过来围观,谢谢推荐的几本好书,准备看一看,呵呵  发现下面的评论还是挺有意思的

  37. 链接

    马磊 2011-11-08 10:57:26

    刚看了《Borland 传奇》90多页,感觉很神奇,很不可思议,商战和技术战很激烈,感觉很有激情。自我感想:自己太浮躁,需要带着激情沉淀下来。

  38. valiant
    121.34.235.*
    链接

    valiant 2011-11-08 11:11:07

    顶,南山也不高,要去爬梧桐山才行.

  39. campo
    59.37.252.*
    链接

    campo 2011-11-08 12:04:19

    爬了次梧桐山,累的腿疼,太久没锻炼了。

  40. gsralex
    218.206.226.*
    链接

    gsralex 2011-11-08 12:05:27

    问个asp.net的实际问题

    假如使用微软本身的自定义控件机制来做一些listview之类的,相对麻烦,且需要了解他本身的一些背景知识,你起码要继承listview, 而input 或者 select(dropdownlist) 比较好弄,无非就是输出出来这种格式,然后选择性支持viewstate ,继承control就可以,不需要考虑ITempleate

    可是如果要避开微软的方式的话,自己来解析html,比如写一个httpmoudle,或者用pageadapter之类的,也不行,那样designer.cs里面的生成就发挥不了作用,.cs里面也就无法找到分部类的控件

    可如果写tag标签显示系统的话,应用场景又显得有些独特,所以想问下,如何对designer.cs编程,或者如何摆脱现在的种种限制,自己做设计器的话,相对麻烦,也太独特

    恩,也可以不用微软控件,用内联的写法

  41. 老赵
    admin
    链接

    老赵 2011-11-08 13:31:45

    @gsralex

    控件是帮你简化开发的,如果你知道怎么用,也无所谓控制其细节,那么自然会用的开心。HttpModule关你说的这个什么事情?我不知道什么是针对Designer.cs编程,我记得控件里有的IsDesignMode或是其他差不多名字的属性,用来输出设计期需要的HTML。至于你说的tag标签显示系统,我又不知道你在说什么了……

    如果你不用控件的话,就是直接输出HTML了,有些人喜欢,有些人也开始嚷嚷闲麻烦要控件……

  42. gsralex
    218.206.226.*
    链接

    gsralex 2011-11-08 13:33:46

    我一直以为我可能解决了表现层的这些犹豫不决的问题,不过当别人使用微软本身的控件自带的viewstate做到无刷新的时候,我又不淡定了,我觉得还是写自定义控件,然后选择应用viewstate,最后只在页面加入viewstate的guid,而viewstate放到缓存里面 System.Web.Caching,可是还是控制不了listview,因为如果自己解析自己写的listview是很简单的,可是继承微软的控件,难度就加大了,矛盾很难解开。

    System.Web.UI.Design是否可以解决呢?

  43. gsralex
    218.206.226.*
    链接

    gsralex 2011-11-08 13:43:53

    @老赵

    httpmoudle对最后response输出的html,做一个解析,比如自己的控件用 其他的标识 比如 runat="customserver" 之类

    恩,其实只要能获取到这个控件本身的html就可以了 比如

    可能fcl提供的就有,这就不需要做设计器了,可能是想更加细粒度的控制在作祟吧

    tag标签系统,可能说法不专业,也是用来解析的,一般提供可变换页面风格的产品化网站来使用,类似(xslt+xml)

    恩,谢谢(因为之前做winform,wpf的项目,回过来看webform,稍微有点想法)

  44. gsralex
    218.206.226.*
    链接

    gsralex 2011-11-08 13:59:55

    ViewState不是无刷新,打错了,就是客户端缓存,你用mvc也还是要写一个mvc的ViewState,否则就要针对所有页面来用业务数据再填充,那就不好了。

  45. 老赵
    admin
    链接

    老赵 2011-11-08 15:44:20

    @gsralex

    其实用MVC的人都不喜欢ViewState说是增加页面体积,事实上用MVC一般都是老老实实承受麻烦。其实你要的就是普通的ASP.NET控件,如果你觉得ListView功能太多,那么可以自己继承Control类实现一些方法就行了。

    但其实我觉得ListView是很好用的,所有HTML都能控制的吧?如果我没记错,它其实就是个高级Repeater,不会增加多余HTML的。

  46. 两会
    125.77.226.*
    链接

    两会 2011-11-08 21:41:23

    哈,老赵你有强迫症啊,说了不回应,结果别人胡说八道两句,你又踊跃跳出来应战了。

  47. 老赵
    admin
    链接

    老赵 2011-11-08 23:03:16

    @两会

    这话没错,我绝对有强迫症的……

  48. gsralex
    123.6.86.*
    链接

    gsralex 2011-11-09 08:15:32

    普通的asp.net控件过于通用了,而且种种clientid 都不舒服,即使可以用clientidmode来修改,但也不舒服,所以针对每个普通的html控件做服务器控件还是比较好的选择(选择加上viewstate)

    webform可以简化viewstate,弄个guid或者其他的标识放在页面上,viewstate放在缓存里就好(重写 Page的SavePageStateToPersistenceMedium 或者写个PageStatePersister [Quote:Ultra-Fast ASP.NET]),viewstate最初是为了满足微软b/s当c/s用的附属品,现在看来用到viewstate这种机制的机会还是很多的,另外有时候所谓的_doPostBack的形式,有时候觉得也挺优雅的

    listview不用viewstate,所以外面不带form runat="server" ,所以基本上整个页面就不需要form runat="server" 也就放弃使用ScriptManager的东西,也需要自己来写

    mvc很优雅,基本上其他平台也是这么做的,可知道了viewstate,所以即使用mvc,还是实现了viewstate的机制

  49. 躺着读书
    112.95.210.*
    链接

    躺着读书 2011-11-09 20:59:35

    @老赵: 其实我一直没搞明白为什么1.7没法兼容1.3,当然我的确见过只能跑在1.6而不能用1.7的例子(比如Maven),但我始终认为这是技术上的缺陷(不管是Java本身还是特定某个项目),Java 1.7应该完全兼容1.3的。

    老赵你这是在卖萌啊……绝对是在卖萌!

    你想啊jdk1.7都能跑eclipse3.5 eclipse3.3 eclipse3.2能,这些eclipse应该不可能是最新的java1.7的字节码吧。

    为啥maven不能跑在jvm1.7之下?我没有试过不好说。但是太多的幼稚的程序设计了……之前oracle改了jvm里面的公司名称,都有非常多的程序跑不起来,因为他们依赖公司名称这个常量来做效验,不是sun就不跑。更离谱的是有些软件甚至在代码里面写死了必须要是jvm1.6的才能跑,其他版本一律抛异常。这样的程序在代码里面写死了必须要.net2.0跑,你用.net3.5怎么跑?你应该知道怎么做的嘛……何必这样嘛。

    别觉得这些挺傻的,太常见了。WWER不就是这样么?

  50. 躺着读书
    112.95.210.*
    链接

    躺着读书 2011-11-09 22:23:25

    如果我没有记错,“之前oracle改了jvm里面的公司名称,都有非常多的程序跑不起来”这个长长的列表中也包括Eclipse。而且说实话,到现在为止我觉得生成效率最高的还是Powerbuilder和VB6.0, 每当看到这样的情况,不禁悲观起来,可能真像《人月神话》里面说的那样再过30年,软件工程也不会有太大的进步。所以我觉得Java这样也够了,语言保持稳定,第三方库持续增加也不错。毕竟函数化增加的生产力并不是特别多。大多数程序员还是得好好练习下面向对象吧。

    而apache基金会的产品,除了少数几个金牌项目,大多数项目的质量都不怎么样,一般最好备好源代码,随时查错比较好。而Spring和JBOSS的则质量坚如磐石,值得信任。

    当然作为一个追求卓越程序员,榨取函数化的生产率还是非常重要的。Java 8预计在2012年就要发布,而这次java的lamda表达式,不是仅仅一个特征,而是作为方案包中的一个小组件来改进原有的API。 这篇文章值得一看:http://www.ibm.com/developerworks/java/library/j-ldn3/index.html?ca=drs-

    如果JAVA 8在2012年就会发布,那么学习Scala又有什么意义?我觉得,如果觉得java语言乏善可学,可以进一步学习JVM或者其他第三方库(我已经很久没用过JDK里面的东西了,XML、IO、JDBC、Thread、Log都没用过了)。现在的Java程序员的所谓的JDK API应约等于Spring Source上的所有产品的API。如果真的想学一门语言,我建议是全新的,完全脱离Java平台的。C#/Python/Perl都是不错的选择,现在异构的程序太普遍了。学这些迟早有用上的时候。

    此外,我觉得除了函数化以外,Java真正面临的一个更大的问题应该是模块化。Java1.6能跑,java1.7能跑,还有可能是模块化的问题。http://alexsotob.blogspot.com/2011/11/en-ti-puedo-ver-la-libertad-tu-me-haces.html (需要翻墙) 这里提到的Service Provider API只是问题的冰山一角。通过这样好似智能和人性化的方法寻找接口的实现类,看上去很好;实际上很坑爹。因为类似的解决方案太多了,对于不熟悉的人来说,很容易混乱。JDK里面很多东西只有接口,而实现类是放在扩展包里面而不是JRE里面。好心容许你用其他的实现实现自由拔插,但是这也意味着,即使是一个小版本升级,你也可能会找不到实现而报错!更不用说是java6升级到java7了!因为实现就被莫名奇妙地被删掉和抛弃了!

  51. Gavin
    125.119.0.*
    链接

    Gavin 2011-11-09 23:03:48

    @老赵

    mcpssx和乔布斯一样有“现实扭曲力场”。

    不过一个是固执的天才,另一个确实固执的白痴。

  52. kraft
    218.82.78.*
    链接

    kraft 2011-11-09 23:57:26

    linux下面做事有点像 石头汤,呵呵。国内懂技术的太少了,有的人懂得一点并加上能吹就在现实混得开,网上也吹得不亦乐乎,有的还写书,忽悠年轻人。如果能多些真正的技术人员,气候也会变好。

  53. 老赵
    admin
    链接

    老赵 2011-11-10 10:39:10

    @躺着读书

    的确常见,比如写死1.6或是2.0才能跑,所以我说是那些工具的问题,再常见也是愚蠢的。

    Java 8的确引入了Lambda但还只是前进了一小步,虽然很关键,但连C# 3都还差的比较远。学Scala是用来写程序的,用来提高生产力的,我从来没说Java平台会缺少东西可学,每一块都是木桶的一块板,都该加长。

  54. junxy
    113.247.4.*
    链接

    junxy 2011-11-11 14:33:50

    编程之余读一些非纯技术的书,开阔视野,兴趣乃动力之源啊~

  55. twodozen
    218.28.242.*
    链接

    twodozen 2011-11-14 17:13:07

    我也希望能够像老赵一样“远离纸质书”,不过对于中文书而言这似乎还有些困难。一是普通人恐怕没有老赵这样高的信誉——能够从出版者或者作者那里搞到电子版,二是貌似靠谱的中文电子书阅读器也不多(甚至是没有?!)。所以也想顺便问一下老赵:盛大的Bambook这个产品怎么样?用它阅读中文电子书方便吗——我主要指的是内容获取这方面——是不是能够在上面获得足够多的正版中文资料(不一定仅限IT领域)。

  56. 老赵
    admin
    链接

    老赵 2011-11-14 21:40:52

    @twodozen

    Bambook能搞到的资料其实也就是起点中文网的资料,别的真没什么特别的……

  57. 大力
    222.94.21.*
    链接

    大力 2011-11-15 16:16:50

    浪潮之巅 很好,正好是想了解的东西。狂顶

  58. eraser0
    121.33.190.*
    链接

    eraser0 2011-11-16 17:43:25

    Borland传奇堪称IDE、framework领域的三国演义,可惜此书已经买不到了,当年是在舍友书架上拿来看的,后悔毕业当时没有A走。。。

  59. twodozen
    218.28.242.*
    链接

    twodozen 2011-11-16 18:42:21

    看来想要告别纸质书,还要先从习惯读英文做起——不过还好,有些优秀的中文作品在网上也有免费下载(非盗版),《浪潮之巅》之前就在googlechinablog.com上连载来着,吴军先生真是个好人啊~

  60. mecaocao
    110.252.3.*
    链接

    mecaocao 2012-01-16 14:52:07

    @mcpssx

    你是不是变态啊?!一露面就扯!

  61. 黄土高坡
    122.85.57.*
    链接

    黄土高坡 2012-02-21 22:44:16

    请问如何购买Just Pub团队制作的电子书?在网上找了好多,后面几章都没有,google也没有找到购买途径!如能指条路,灰常感谢!!

  62. 老赵
    admin
    链接

    老赵 2012-02-21 23:59:57

    @黄土高坡

    尚未正式发布,今年会有吧。

  63. 王不留
    116.205.150.*
    链接

    王不留 2012-02-24 01:26:50

    老赵,你的电子书设备是啥牌子的,我也想买一个,就怕质量不好,伤不起啊。

  64. 老赵
    admin
    链接

    老赵 2012-02-24 14:35:36

    @王不留

    我现在用三星Galaxy Tab 8600。

  65. liefdiy
    180.153.146.*
    链接

    liefdiy 2012-03-16 14:13:05

    .NET OR JAVA 我觉得很多时候是商业公司出于个性化和利益的考虑,在这方面.NET平台确实不占优。一个台服务器吧,可能他就只做缓存用,这个时候就希望去修改修改OS底层代码,专注于这块的优化,但是在Windows平台貌似就比较麻烦。

  66. 链接

    airwolf2026 2012-05-14 18:17:39

    呃...上面的黑子,说的一些软件在安装4.x .net framework 的机器上,我还真遇到过,就是弹出要2.x .framework,当时就呆了. 4.x的不兼容2.x的程序啊?

    这个还没有去想为啥...

  67. 老赵
    admin
    链接

    老赵 2012-05-14 18:31:52

    @airwolf2026

    自己Google一下是怎么回事咯,就是加个配置的事情么。

  68. 链接

    airwolf2026 2012-05-15 09:32:58

    呃,原来是这样.

    2.0程序运行在4.x环境

  69. blue_morning
    116.55.250.*
    链接

    blue_morning 2012-08-04 05:33:11

    这个回复也许不是地方。

    记得你好像有一篇BLOG说的是微软的技术和创新精神。说了不少微软的好话,用于反驳指责微软的人。但以你的对微软的创新精神的褒奖,是无法解释微软是如何开发出Vista的。软件的要素是人和代码,可能我更强调的是人因素而不是代码(技术)的因素。而在这一点上,微软做得非常差。

    我为什么说微软做得差是因为:

    1、在Windows平台上,没有孕育出超过微软的公司,而以Windows平台的普及程度,完全有这个可能。想想TCP/IP 和 W3C 孕育出来的公司。Windows发展到一定程度后,其实其应该是一个由标准化组织来控制和发展的东西,这个作法从长远看,可能更利于微软。

    2、微软一贯无耻捆绑软件到Windows中并且有极大的嫌疑存在利用其开发Windows的便利来打败在Windows平台上和其竞争公司的行为。在手持智能设备开始将Windows挤出市场并边缘化时,微软不会得到同情和机会。套一句电影台词:出来混都是要还的。

    3、像甩一坨鼻涕一样甩掉VB和其它东西(例如WP8对Nokia),微软有超过1万种比这样处理好的方法。正如你在你这个网站“写一个屏蔽程序”也没有删除那些回复

    我不太喜欢你的一些东西:

    1、我只会骂Java语言。没有Java,C#不会这么快到今天这个层次,这个我不知道你能反驳吗?如果不能那么可以把前面那句话反过来:骂Java就是在骂C#。争论语言真是毫无意义。

    2、“我不相信一个精通技术的人找不到好工作”那篇文章及有些我看到的回复和部份文章给我的味道是你对自己的技术的自负(如果你说没有,那我认错,这段就跳过吧)。首先我认为你的技术非常好,自负无可厚非,但达不到你的高度的程序员你也知道非常多,即使他们按你对自己的要求去要求自己,也仍然达不到你高度。所以,有时是不是应该低调和宽容一些。

    其它:

    我是怎么来到这里的:因为我的程序中有几个线程引发一起血案,在搜索到知识进行扩展阅读时从博客园中找到了你,读了大晚上的时间,又来到这。

    我个人的立场上应该是有一点反微软。但我认为我对微软的看法没有错,理由是总量守恒(Anders+MS 略大于或等于 Anders + Borland,如果在一段足够长的时间段内Anders+MS = Anders + Borland or Anders + newCompany。总量守恒和出入计算这两个原则来自围棋,这个原则与现实世界的能量守恒、物质守恒及互换不谋而合。)的前提下微软经常做肥已损人的事(但他有扩大总量的机会:Windows标准化)而且越来越自以为是(Vista就是最好的脚注,且做Vista的人和做Win7人的很可能就是同一批,这真是一个奇迹。下一个“奇迹”也就是Windows8)。

    我从来没有写过一行VB代码。

    我不知道我说清总量守恒没有?换一种说法:老赵在20年内为IT界做的贡献,和他在这个时间段内年换5家公司或10家公司差别不会太大。如果把这个时间放大到40年,那么这个换公司对贡献总量的影响可能会更小。

    最后:很多文章都写得很好,视角独特,让我学到了不少东西,谢谢。

  70. 老赵
    admin
    链接

    老赵 2012-08-05 00:51:39

    @blue_morning

    我只关心技术,技术创新我最看重,Vista失败啥的我不知道原因,也不影响我的观点。不能Win95或Win7成功了就说它不创新,我说它创新了就说Vista失败了。

    说微软无耻捆绑,放到现在屁都不是,Mac OSX的广告词之一就是集成了更多有用工具和功能,这点想想就很好玩。VB没有甩掉,Win8照样支持,Nokia也没有甩掉,分析师yy而已,所以我十分看不起他们。程序员不妨继续再看一段时间再说。

    语言什么的:“没有Java,C#不会这么快到今天这个层次”,这个没法证明也没法证伪的命题我直接忽略。说争论语言没意义的,是因为你还看不出来语言里面的价值。反正我搞不明白为什么那么多计算机科学家也在讨论、争论、指责、设计、投身的语言设计领域,好像就没啥价值的样子。

    其他的说实话没咋看懂,不过多谢支持。

  71. blue_morning
    61.139.87.*
    链接

    blue_morning 2012-08-07 02:12:14

    我只关心技术,技术创新我最看重,Vista失败啥的我不知道原因,也不影响我的观点。不能Win95或Win7成功了就说它不创新,我说它创新了就说Vista失败了。

    个人认为Vista的失败,是垄断带来人性问题(当然也许你不这么看)。换个说法:Jscex如果有一天做到了全世界90%的人都在用。你还会兢兢业业的开发它吗?还是包个壳再赚点钱?创不创新是一会事,成不成功又是一会事。但Win95和Win7成功了,那么说明它的创新是成功的。Vista失败了,至少说明它的创新是失败的。最关键的问题是:做这个东西的人很有可能是同一批,这才是问题的关键:技术创新是受垄断和人性影响的。

    说微软无耻捆绑,放到现在屁都不是,Mac OSX的广告词之一就是集成了更多有用工具和功能,这点想想就很好玩。VB没有甩掉,Win8照样支持,Nokia也没有甩掉,分析师yy而已,所以我十分看不起他们。程序员不妨继续再看一段时间再说。

    这个你说得太轻松了,Jscex如果有一天为你带了一个年收入1000万$的公司。但MS立马出了一个不要钱的,你今年收入+支出为-500万$。你还能说屁都不是吗?你可以去对网景公司的创始人说从现在的角度看“屁都不是吗?”。如果Apple也是这样搞,不会是今天这个规模。你可以集成,但你不能搞得别人活不下去。

    VB没有甩掉?! 你用吗?我估计你不用,被MS甩掉的VB6从你的语言价值逻辑来看,基本是没有价值的。所以我估计你不用。但VB6的语言真的没有价值吗?事实上应该不是。

    语言什么的:“没有Java,C#不会这么快到今天这个层次”,这个没法证明也没法证伪的命题我直接忽略。说争论语言没意义的,是因为你还看不出来语言里面的价值。反正我搞不明白为什么那么多计算机科学家也在讨论、争论、指责、设计、投身的语言设计领域,好像就没啥价值的样子。

    我想可能是我不到那个层次,自然不懂。所谓站得高看得远就是这个道理。但有站得得比较高的人说出“某语言的改进为软件系统的开发带来了革命性的变化”这类的话语了吗?程序语言用于解决软件系统的复杂度来说本质是个低层次的东西。太过强调语言价值倒置了本未。

    我认为争论语言没有意义的关键是:

    一、有竞争才有进步(否则你就等着用Vista版的C#吧:你写的代码中创建了26个Windows内核对象,你仍确定要继续吗?Hook可能会对Windows系统造成不可挽回的损失,这些代码不能被编译。这不是没有可能的),所以没有Java,C#不会这么快到今天这个层次也可以反过来这样说:没有C#,Java不会是今天这个地步。这需要证真或伪吗?

    二、语言是在进步的,但从解决软件复杂度的问题上看,语言改进的贡献非常有限(引用了Books在人月神话的定义,当然我也认可这个观点)。我举一个典型的例子是泛型,泛型让开发人员完全摆脱了类型的困扰,将代码逻辑和数据类型完全剥离。但这对你开发一个系统真的带来了质变了吗?也许你认为我举例的内容太少,但如果我们把今天C#的所有语言改进集中起来,再看一个10年前项目,你认为用今天的C#开发和用当时的Delphi7开发就对系统复杂度的改善有本质的区别吗?如果有,请指出。

    科学家一词太搞笑了,Anders是科学家吗?他有争论过C#与C,C++,Java,Delphi这些语言吗?如果再向前翻Anders的经历你还会发现Anders是认可Java和其设计的,且从Borland过来后,Anders先搞的是J++和J++编译器且吸引了不少Java开发人员。后因MS与SUN的官司,才开始设计C#。科学家真是越想越搞笑,能举例开发语言排前10位的创始者或用你的说法(科学家)来证明他们在讨论、争论、指责吗?还是在:设计(改善)、投身。

  72. blue_morning
    61.139.87.*
    链接

    blue_morning 2012-08-07 03:06:20

    再谈总量守恒和适度警惕微软

    微软真正缺乏的东西,就是在总量已经有限的前提下仍然把竞争对手打倒在地然后踩上一支脚,却不知道自己能拿到东西仍然有限,并不会因为竞争对手的倒下,微软就发现了一片蓝海,然后独自享用。就如微软打倒了Borland,但微软的IDE比以前多收入了两倍吗?当然Borland到了后期,已经不需要微软出手自己就倒下了。

    在这种情况下如果微软真正完成了全面垄断,那么等待最终我们这些Windows上的用户只会是一个噩梦。不会有其它更好的东西。这是人性决定的,完全无关技术和创新。

    就像这篇Blog:谈谈年度最佳代码“不管你们信不信,反正我信了”。换成微软就是:“不管你们用不用,反正我的Vista不能换”(Win7出来前,很多安装了Vista的笔记本是不能换操作系统的,除非你刷BIOS)。

    如果微软全面垄断了,这话从微软口中说出来,又有何不可?

    微软的东西不是不好,但一但没有了竞争的东西,微软就不会用心把它搞好

    我个人认为老赵对微软的的褒奖过多了。对于微软,我们可能更多的是需要警惕,因为现在MS就像一列缺少控制和刹车的巨型车辆。

  73. 老赵
    admin
    链接

    老赵 2012-08-07 15:03:10

    @blue_morning

    很阴谋论的样子,假设假设一大堆。微软真想搞掉Jscex——好吧,我说的是jQuery,那么就去搞吧,但显然微软现在是集成jQuery。苹果什么的我就不举例子了,微软至少还是和大公司拼,苹果直接干掉的是小开发团队,每次升级新系统就集成一些功能,干掉几个应用。一个功能有应用做了于是下架,过几个月集成到自己系统里来就叫创新功能。

    说实话对我来说没什么公司是需要警惕的,他们无论怎么搞都对我没太大影响,哪家公司做的好我就褒奖哪家。微软在技术创新,技术研究方面投入极大,产出很多也最有趣,所以我褒奖。我懒得像你这样警惕,也不懂,你太分析师了,我只是程序员。我之前有篇文章说了,我是程序员,别跟我谈别的,至少等我当上什么CXO的时候再来跟我说吧。

    VB6什么的,我用过啊,现在当然没有甩掉,Win8里面照样支持。Java和C#什么的还是没听懂,尤其是“这还需要证真或证伪”这句,怎么就不需要了?至于语言啊泛型啊和科学家方面的,我就不做评价了。你觉得我说科学家很可笑,我觉得你看不到科学家才叫可笑。还有说Anders没有争论过语言只能说你少见多怪了,只不过委婉表示“奇怪”罢了。语言的重要性啊什么的别跟我讨论,具体原因参见我《别轻易拉我入场》一文。

    什么时候你能摘下对微软(包括任何一家公司)的有色眼镜,或者专注讨论技术,不要讨论历史啊,趋势啊,假设啊,我们再做进一步沟通吧。

  74. blue_morning
    116.55.250.*
    链接

    blue_morning 2012-08-07 15:39:12

    首先:我从未争论过不同语言或不同语言的重要性。我说的是

    1、在保持竞争的前提下,语言的更新和进步才对程序员更有利。但这种有利的前提是避免垄断。一断垄断发生,出现的问题就是人性恶那一方面的事了。完全与语言,技术或创新没有半毛钱的关系。

    2、语言的特性在软件系统复杂度下是一个低层次的东西。所以说某种语言或技术好太片面。

    其次,我没有那么多的假设。这些假设都是事实上发生过的,我只是换了一个壳而已。如果不信可以Google有没有。但Apple上的东西我不太清楚,如果Apple真这样做,那么开发人员转向其它平台是很自然的事。转得少时不明显,转到一定程度必然质变。

    最后:如果你从对自己有利的角度看,保持避免垄断就是你应该做的,否则Vista,IE6就是这种环境下你最终得到的东西。

    其它:

    关于我认为的C#和Java的相互竞争与促进,这个就到此为至吧。

    我说VB6的相关言论前提是:如果按你说的语言带来的收益是明显的不同的,那么像VB6这种语言的价值真的是很低了(一是更新已经停止、二是完全不具有现代语言的任何特性)。

    站得高看得远,我不知道的你可以指出。或是扔个提高我认识的URL也行。比如Anders争论语言的东西,这个我真的很想一看。

  75. 老赵
    admin
    链接

    老赵 2012-08-07 16:16:24

    @blue_morning

    所以我说你在谈“历史”,在拿十几二十年前的历史反复说,这种只是反复翻旧帐,永远可以翻,随时可以翻,但其实很流氓的。这还是假设,其实就是FUD,没啥意思。

    Anders谈语言,例如有本书叫做《编程之魂》,里面是很多语言的发明者的访谈,Anders是其中之一,其中就谈到他不明白为什么Java会停止演进,认为Java演进并不会破坏兼容性(跟C#一样),认为C#的泛型是真泛型(区别于Java)让后续类库或框架设计受益无穷,还有很多观点。

    其实语言发明者中绝大部分都是不满现有语言,或是为了实现自己想法而制作的,只不过他们不常露面而已,而且有头有脸不方便发表激烈观点,最多嘲讽,不会跟人一来二去争执。高司令嘲笑C# 1.0只是个不安全的Java,Sun的人嘲笑Delegate是个违背发展规律的特性,认为Java的匿名类型更好等等。

    你说他们不觉得语言有好坏高低,觉得编程语言价值不大,不讨厌某种语言?我不相信。

  76. blue_morning
    116.55.250.*
    链接

    blue_morning 2012-08-08 17:50:59

    说我FUD这个我能接受,说我其实很流氓这个是不是有点过了?

    本来想干脆就耍下流氓,说说忘记历史是不是更流氓?我认为对的,你水平不到认识不够还要争!请看某某Blog已经说得很清楚了这些言论是不是很强盗?

    想想算了,我这不就真是流氓了。以是决定回顾一下,结束它。

    其实我想说的也就是两个问题:

    一、当垄断发生,MS的问题就是人性问题这完全不可避免。MS不差你的褒奖,差的是反面的推动力量。

    二、语言相对客户,销售人员、程序员、项目经理、架构师、公司或整个业界来说,大家角度不同看到的东西都不尽相同。我更多是一个程序员或项目经理的角色有时兼任销售人员,我只想8小时或在指定时间段做完回家陪家人或是卖出软件的更多份拷贝。我也知道客户要的是你的成功客户多,系统稳定价格无限接近白菜,不关心你的语言和架构。所以语言对我来说真不重要,虽然我也会去学习了了解一些新的东西,但我没有足够的把握不会轻易的转向。另外语言并不是和人毫无关系的,如果你有了一个公司回过来头来看这个问题也许结果不同。

    注:

    1、你有了一个公司,你就会发现:要转语言,成本是你这个BOSS要掏腰包的,大家上班学语言的时间,你得发工资吧?第一个转语言的新项目要是砸了怎么办?风险是要你担的。转成功了以前的项目怎么办?转不了语言和你一起创业的老员工怎么办?

    2、当你更接近客户时,你就更会关心软件系统为客户带来的价值,这在某种意义上说,已经完全超越了语言。

    3、你公司赚到钱、下一步的发展计划、准备转语言投入是一个博弈。虽然C#好,但转Java更有利公司的发展方向或反之,这种决定受语言局部优劣的影响真不大。更不会因为有科学家投身了某语言就变得某语言更重要。12-15年前Delphi和VB在中国是绝大部份软件的前端,后来转语言,做政府项目的公司基本转Java,做私企小中项目的转C#、大型的转C++或Java,这完全不受语言特性的影响而受整个行业结构和国家分配方式的影响。转政府项目的可以在项目书上大书各种国家级项目都是J2EE的架构,如何先进而我们公司也是用这个。转C#的公司知道对于客户来说J2EE就像是地球几百万年前某种爬行生物,少给那些一天看起来亚健康与常人比不是很正常的叫程序员的动物发点工资,人走了随时可以换这才是关键。

    到此为止吧:

    1、本来想回复时不要翻历史,不要做假设。但还是没有做到,但我不流氓。

    2、为了结束这个讨论,至此为止,我承认我很流氓,很FUD。

  77. 老赵
    admin
    链接

    老赵 2012-08-08 18:42:43

    @blue_morning

    呵呵,把“流氓”换成“强盗”你会不会觉得容易接受一些?感觉意思差不多。

    欢迎下次来讨论技术问题……

  78. blue_morning
    61.139.87.*
    链接

    blue_morning 2012-08-17 04:00:53

    我不和强盗讨论

  79. 老赵
    admin
    链接

    老赵 2012-08-17 09:36:47

    @blue_morning

    放心,我还是会跟强盗讨论几句的。

  80. LIAOLEI
    112.64.163.*
    链接

    LIAOLEI 2012-11-08 17:08:07

    从今天开始 做一个快乐的码农,面向离散数学,数据结构,计算机原理,计算机网络,C,C++ 延迟加载 JAVA ,NET 。

  81. hooyes
    74.125.176.*
    链接

    hooyes 2012-12-14 15:43:43

    有意思,呵呵。

已自动隐藏某些不合适的评论内容(主题无关,争吵谩骂,装疯卖傻等等),如需阅读,请准备好眼药水并点此登陆后查看(如登陆后仍无法浏览请留言告知)。

发表回复

登录 / 登录并记住我 ,登陆后便可删除或修改已发表的评论 (请注意保留评论内容)

昵称:(必填)

邮箱:(必填,仅用于Gavatar

主页:(可选)

评论内容(大于5个字符):

  1. Your Name yyyy-MM-dd HH:mm:ss

使用Live Messenger联系我