上周四,当看到有关永中科技倒闭的消息时,我相当震惊。园子里转了这条新闻,但是似乎没有引起多少反响。刚刚看完了《非战之罪,从永中Office谈起》,对于“主要是外部环境的问题”这一结论还是相当赞同的,不过文中关于QQ、WPS之类的结论显然太多作者自己的主观成份,就完全不敢认同了。事实上关于这些产品的问题与永中Office没有太大的关系,我也不愿再讨论了。关于作者的结论我还想作一些补充。
1.技术方面我没有什么发言权,因为我从来没有用过。但是如果是一款Java特别是Swing写的客户端我是一定会拒绝使用的,无论你的东西写得多么有创意。当然,C#或者VB.NET写的也不会例外。客户端的软件必须是Native的,可以是C/C++。跨平台与Java之间没有必然的联系,除了二进制级别的跨平台以外还有源码级的跨平台。何况100%二进制跨平台根本就不存在。当然,我的主观判断,永中Office是一款有足够技术含量的产品,与所谓的“汉芯”、“麒麟”、“驴坝”有着天壤之别,这一点我不怀疑。这也是令我震惊的地方,毕竟“麒麟”都还活着。
2.倒闭不一定是坏事,没有必要觉得有多么悲壮。永中科技倒了,但是这么一款产品,绝对不是说倒就可以倒的,其中所含的技术成份决不是一点一滴的,基于这个产品大量的技术细节,仍然有可能做出更好的、产权更清晰的产品来。如果进行重组,浴火重生也不是完全没有可能的。毕竟没了包袱更轻松。再者说了,即使永中彻底消亡了,还会在行业内引起反思,有的学费可能真的免不了。
3.软件企业的生存与发展异常困难,倒不全是因为盗版,而是因为大环境。郭嘉花大把钱支持软件这个产业无疑是灰常灰常英明的,但可惜的是对行业的推动力与所支出的金额相比实在是不成比例。究其原因主要是两个方面:其一,gov特别是地方gov政绩欲太强,不愿意担当风险,哪怕是极小的风险,Ta们只愿意将钱投入到“锦上添花”的地方而不是“雪中送炭”的地方。其二,gov投入到软件企业的钱真正能落到实处的少之又少,大部分漏掉了,官员们贪一点、企业老总们铺张一点(反正是郭嘉的钱浪费起来不用心疼,毕竟没人监督这些钱的使用)、项目中的花架子部分再耗掉一点,层层剥皮以后,能真正用到项目中的我估计也就一成不到吧。谁为你流泪谁为你心疼谁送你上征程。
4.我是个阴谋论者这个我老老实实承认。我不用任何杀毒软件除了MSE,只因MSE随OS授权,没有利益链。神马免费杀毒,都是天上掉馅饼的幼稚幻想。“永中软件”怎么来的?2500万还顶不了4000万的亏空,搞这么个第三者出来是不是等郭嘉1.8亿到帐后,合理合法地装一部分到私人口袋里?别以为我是小人之心度君子之腹,你以为当年新太是如何垮掉的啊。在资本世界里(特别是在一种监督机制严重缺失的初级资本世界里),如果人对金钱的贪欲普遍大过对信托精神的崇拜,一定是几家欢喜几家愁的结局,这太正常了。很多时候不是因为没有陷阱,是因为你看不到。如果你都能看到了,那还能叫陷阱呀。
posted @ 2011-04-10 02:18
双鱼座 阅读(3658)
评论(36) 编辑 收藏
发表评论
很多年前,试用过永中Office,当初我记得宣传是Java开发,100%兼容Office,当初觉得有点扯淡,因为我比较喜欢MS的Office的,后来发现远远超出我的预期了。。(不知道我有没有对错号,呵呵)
做软件产品能成功的唯一条件是和政府要有关系,说白了就是政府愿意出钱,或强制用,你才会成功,QQ除外
是什么技术开发的有什么关系,现在有很多C#的程序都做得很好。微软的silverlight开发工具expression studio还是C#写的呢,照样用的人大把。
我以前用过一款刻录软件叫做CDBurnerXP,也是.NET平台上的,因为基于.NET平台,整个软件都没超过5M,不仅免费、速度快,而且功能也很不错。
想干掉微软Office的人、组织或软件,这个世界上太多了。
但是,如果仅仅认为Office是个字处理软件,那就太天真了。
微软的Office决不仅仅是用来写文档用的。
协同软件的功能已经很深入了,深入到任何新兴的独立办公软件几乎无法与之对抗了。
甚至连Java世界都已经用Office作为企业开发的客户端了。
不太明白你所说的和我所说的有什么冲突?我也知道有一些软件是托管的,只是我不会去用而已,你所说的无法说服我改变这一观点。用托管技术开发非客户端的应用是可以接受的,但开发的客户端软件我的理解是开发者把本由自己承担的责任推给了客户。我所知道的很多项目采用Swing开发的原因是没有自己的C/C++客户端开发团队,虽然他们也知道C/C++是最佳的方案。
有木有人想干掉MS Office我不知道,但是我肯定没有人认为Office只是一个字处理软件。但是如果市场上还有一些替代品的话对用户来说肯定是福音。即使不能真正替换对微软也会形成压力,就象IE一样--IE也一样优秀,但是份额正在缩小,就是因为有FireFox之类的也一样优秀的同类产品。
我是针对你的这一句:
----------------
但是如果是一款Java特别是Swing写的客户端我是一定会拒绝使用的,无论你的东西写得多么有创意。
--------------
这句显然没什么道理,用Java做得好软件也多了去了,用.NET的也很多,没什么道理必须要用Native。用Java和.NET怎么又叫做把开发者的责任推给客户呢?这个逻辑不通。找你这么说,应该直接用0/1编码才是开发者真正的尽到了责任。
一个软件产品的好坏,和软件本身的平台并没有太大关系,任何平台都可以作出很好的软件。Office用java做,只要功夫深,一样会做得很好,而且开发效率会比C++更快。
gov特别是地方gov政绩欲太强
==============================
合理合法地装一部分到私人口袋里
==============================
这就是现实,而且还会进一步加剧,我们都不要天真的等待 gov会变的符合道德,符合最最基本的管理职责,没有 gov,或者 拿掉gov 90%的功能, 郭嘉 也许运转的更好。
我不用任何杀毒软件除了MSE,只因MSE随OS授权,没有利益链。
这句话我不太懂……感觉还是有的呀,
永中office!
算是国人自己开发一个比较不错的产品!
利益蒙住了人的双眼!
幸好楼主不是java程序员,否则楼主坚持不愿意使用java开发的各种javaIDE该是多么痛苦的事情呀
怎么突然就变成人身攻击了。。。
用不用非native软件貌似只是个人习惯而已。。。
平时用的freemind,astah(jude)也都挺不错的啊
@ocean
@xjb
@zantesu
@micYng
各位,是否接受采用Native,我的标准是达到什么数量级的部署量。服务端产品,采用Native是没有什么问题的,而客户端软件如果要达到Office那样的装机量,采用托管便是灾难。.net稍好一点,因为毕竟还是依赖Windows。采用托管技术开发的产品,性能只是次要的问题,真正的灾难在于对不确定的运行时环境的依赖,导致产品的稳定性下降。由于运行环境千奇百怪,会出现什么样的问题根本无从知晓。对于大量的小白用户来说,他们甚至连求助的能力都没有。Native因为确定的运行时环境依赖,其稳定性会更有保障。这也是为什么Native永远不可替代的原因。Native开发效率肯定会降低,开发成本肯定会提高,这不容否认。但这是开发者为提升产品特性所必须承担的。你们见过哪一款成功的浏览器是托管的么?
@双鱼座
完全不正确,连VS2010都用了WPF了,VS2010装机量也很多,虽然没法和MS Office比(估计也没啥软件能比得过Office),但是使用者仍然众多。上面我举例的CDBurnerXP,下载量也很大,只是国人用惯了破解版的Nero而不自知罢了。Native并不见得就稳定,托管的不见得就不稳定,你这个观点没有任何论据。Native也并非永远不可替代,过几年托管的浏览器就出来了,世界发展很快的,眼光向前看。
我同意楼主的想法,我也认为托管的产品只适合于B/S,因为环境依赖太高!换台机器,也许就歇菜了.这种教训难道还少吗.
至于其它的我没什么兴趣,正儿八经搞科研的最后倒闭在天朝很正常.而歪门邪道立项骗钱搞什么汉芯之类的往往能苟且生存很久.基础产业上不去,不能怪别人,因为大家都喜欢站在某一个所谓"高度"来做事情,不愿意从0开始做起.
我怎么觉得应该反过来说呢?
既然有只一个虚拟机运行时,为什么这个运行时反而变成千奇百怪了?以java来说,不就一个JRE嘛?相反Native环境才应该是千奇百怪才对,不同的操作系统,不同的硬件设施,不同的系统配置环境...
要说稳定性,是客户端的稳定性要求高呢,还是服务端的稳定性要求高?明显是服务端对吧?服务端程序用java/C#/Ruby/Python开发的多还是C/C++开发的多?这不一目了然嘛
当然,讲性能是native的重点了.浏览器都是争分夺秒地竞争,当然会采用native开发了.
--------
再者,用native要开发出既高效又稳定的客户端软件,是件不容易的事.要求有很高的功力,还要有完善的测试跟上才对.对于咱们一般开发者来讲,实在不是一件轻松的事情.花大量时间和精力在这上面,我觉得不划算.你愿意让你的客户使用一个内存占用少,运行速度快,但bug多多,动辄崩溃的客户端呢,还是一个内存占用大点,运行慢点,但基本不出问题的客户端呢?
@ocean
哎!看来还得在这个问题上纠结下去了。
VS2010的编辑器采用了WPF。使得VS2010整体上变得没有VS2008稳定。VS2010经常会把模态对话框隐藏在主窗口后面;在打开远程终端的时候,复制粘贴变得失效。有木有?
以后会不会有托管的浏览器我不敢肯定。但不会有成功的托管浏览器我可以肯定。
@zantesu
你太相信虚拟机了。虚拟机试图将操作系统的复杂性抽象出来,然而事实上这种抽象并不理想。否则何必要操作系统!native并不一定稳定,例如迅雷就不怎么稳定,但这是由迅雷企图虚拟机化所导致的。但是native基于明确的操作系统依赖,通过努力做到稳定是可能的,而虚拟机化的后果是根本没有可能。
政府投资过?一看就是官商勾结,榨取赋税的套路,这就是官办的下场。除了腐败,不思进取,还有啥
@双鱼座
我一点都没觉得VS2010没有VS2008稳定,也没碰到你说的问题,我天天都通过远程终端连我的虚拟机使用VS2010。在我的机器上,VS2010和VS2008一样稳定,VS2010启动速度比VS2008慢3秒左右而已。
另外虚拟机完全可以做到很稳定,至少.NET运行时就很稳定,Java应为要支持的平台过多,有些系统上的虚拟机不太稳定倒是事实,但是正像楼主说的,实际上通过努力做到稳定是可能的,别忘了虚拟机实际上也是个native的程序,按照楼主逻辑,native的是一定能做到稳定了。
至于托管浏览器是否能成功,这个现在下结论为时过早了。比尔同学也说过我们只要64K内存就足够用了。
@ocean
那个复制黏贴的毛病是有的。
不过我也不确定这个毛病是来自于VS2010,还是远程连接本身。
我比较倾向于是远程连接的问题。
因为本地VS2010一直是稳定的。
复制黏贴的毛病,VS2008也是有的
感觉应该是远程连接的问题
可能我人品比较好,我从来没碰到过复制粘贴失效的事情。
eclipse就是java写的,个人认为eclipse就是一款好东西
@ocean
既然你仍然纠结于这个问题,那不妨就好好说道说道。
我没有说Native一定能做到稳定,为此为还专门举了迅雷的例子。我只是说托管的窗口程序一定很难稳定。Eclipse如果不是因为采用SWT也很难稳定的。10年前,我曾经单枪匹马写过C的Windows类库,个别地方甚至不得不用汇编。对于其复杂性用“恐怖”两个字来概括是非常合适的。我根本不相信真的能够抽象出来。Swing想做什么?用一个类库就想替代复杂的窗口消息体系,并且替代庞大的注册表体系所保存的Windows配置?如果用托管可以开发客户端,基于托管程序的可开发性和C/C++的复杂性的对比,除了操作系统、设备驱动以外,C/C++程序员就基本可以失业了。
Flash是个Native的,其实也可以看成是一台跨浏览器的虚拟机。当然,Silverlight也一样。那何必还要求浏览器实现HTML5?
为什么在Web服务端可以?原因有三个:首先,Web应用程序的部署量相对比较少,即使出现不稳定也可以由系统管理员解决,无需普通用户参与。其次,类似并发冲突、异常处理这样的问题具有普遍性,完全可以在平台一级也就是以Native的方式解决,无需应用程序关心,应用程序可专心于业务复杂性。最后,可能导致系统不稳定的因素的Web Server通常都是Native的,只是植入了一个托管的端口,而这个端口仅仅实现Http上下文,基本上都只需要和内核打交道,无需做特别的平台测试就可以确保其稳定性,跨操作系统的实现也相对简单。对于可开发性、系统性能、稳定性等等多方面的平衡可以达到最好的表现。
@chenzhuolin1002
对于我来说正相反!如果真的有一款Native的Java IDE,我会毫不犹豫转到Java平台,然后用Scala做开发----享受C#的乐趣的同时,满足客户的平台需求。
@xiao ming
我用VS2008多过VS2010,因为目前SSIS和SSAS的开发目前还只能在VS2008上。但是的确没有遇到过。不过既然你说存在,那可能真的存在。如果是远程终端的问题,我不明白为什么微软承诺VS2010 SP1解决这个问题?
@yunpeng
兄弟你太极端了。国家不投资,广州亚运会期间空气质量不可能达标的。不要仅盯着问题。呵呵即使你仅盯着问题你也能发现问题不都正在解决中的嘛。
这不是极端。中国不是民选政府,他们依靠政治权利破坏公平竞争法则。他们的介入,带来的危害远大于收益。我们公司以前就是那种模式,悲哀啊
招聘人数: 若干名 薪资待遇: 工作每天3-5小时,100-200元/天工资每日支付;
岗位描述: 负责公司所要求的信息回复工作(有内容样版),工作地点不限,专兼职均可!
应聘要求: 上网熟练,平均每天工作投入约3小时,具体根据效率自定; 学历不限,在
职或学生皆可;勤奋,认真,有责任感;熟悉用电脑发消息的整个流程。(很简单,学一下就会!)
(请注意,应聘不用交任何费用,押金等)
详情看公司招聘:http://www.hotcoin.info/?5783629.htm
邮箱:Thomas.HR@hotcoin.info
@双鱼座
java平台我在10年前用过,当时用的Jbuilder,本身就是一款Java程序,当时感觉就是慢了点,我想和本地的机器配置有关吧,毕竟10年前的硬件和当前不能相比。最近我装了一下ellipse,感觉速度还可以,这个貌似也是java做的。我现在唯一用到的java client可能就是oracle的管理工具了吧,所以我对java的情况还不是特别了解。
但是对于.NET来说,要注意一点,ASP.NET和客户端.NET是一个运行时,都是一个COM Server,不区分asp.net运行时和客户端运行时,对于服务器来说,稳定性无疑是非常重要的,而asp.net的稳定性也毋庸置疑,很多大流量网站都采用asp.net。本身.NET运行时是非常稳定的。
对于.NET原装提供的类库,虽然我不能说100%的class都没有任何问题,但是99.99%还是没有问题的。
如果你说.NET的客户端速度慢一点,这个还可以理解,但是说稳定性问题就莫名了,.NET客户端不稳定,基本都是代码本身的问题,即使VS2010的复制粘贴有问题,也只是说这方面的代码有bug,而不是稳定性的问题,和.NET运行时更扯不上关系。所以对于Native还是托管来说,都能够写出来稳定的和不稳定的代码。
.NET做客户端的不足是加载速度比Native慢一些,因为.NET本身还有大量Metadata,所以我们经常会感觉.NET程序启动的时候等的时间比较久,我的VS2010启动就明显比VS2008慢了3秒钟。对于正常用户交互来说,并不会让用户觉得慢,一来用户交互程序大部分时间都用于等待用户鼠标、键盘输入上,对于数据的计算并不多。如果我们做一个解压缩软件,那么c++的可能会快一点,但是我们知道CLR仅仅编译一次指令,第二次执行的时候是不会再去编译的,所以如果是一个循环次数很多的循环中,因为循环内的代码编译一次即可,然后每次循环实际上都是执行编译好的指令,真正运行下来也未必会比native慢多少。
当然对于C++程序,编译器可以更好的优化以达到更快的速度,托管代码这方面认为可控性就比较少。但是native编译优化不恰当,也会导致平台依赖,比如你用intel的一些c++编译器编译,你就会发现在非intel cpu上不那么稳定,而.NET则直接不用考虑这些问题。
随着硬件的发展,速度上已经不是太大问题了,现在一个WPF的程序在win7上都能比较快速的启动起来,所以托管程序作为客户端程序是很光明的。现在有越来越多的程序都采用.NET编写,包括一些行业通用软件。
@ocean
非常高兴你的回复,我基本明白了你的观点。其实我对托管代码的性能不怎么抱怨。现在的硬件配置对这一点性能损耗基本可以不必考虑。
ASP.NET的运行时分成两块,一块是System.Web.dll以及所依赖的托管程序集。这一块是直接支撑App运行的模块。这一块是有少量问题的,我以前的博客也多次提到过,但直到今天,这些问题也没有解决,有些问题从我发现到现在甚至已经8年了。当然,我必须承认,这些问题对应用程序的影响不是致命的,大多数可以绕过去,不会影响到系统稳定性。
另一块是Native的。我们知道,ASP.NET的运行时包括一个IIS的扩展部分,同时也是CLR的Host。这一块说到底只连接到Windows的文件系统、IIS本身以及Windows的内核,这一块不涉及窗口消息控制更不涉及GUI,也就是我之前所说的HTTP上下文实现的Native部分,根本不会威胁系统的稳定性。
所以我可以肯定地讲,ASP.NET是相当稳定的,我从来不怀疑,你甚至可以说,IIS稳定了、Windows稳定了,ASP.NET就肯定稳定了,因为这个通道非常短。但是这个与我之前的观点不矛盾。如果你的客户端应用程序透过虚拟机或者CLR来访问Windows,你无法绕过窗口消息控制和GUI,但这两块非常复杂,在不同的环境下会发生无法预料的问题。当然,我可以接受应用程序发生一些问题,纠正了就好了。但是如果这个用户群太大,收集问题、修复问题、更新用户的程序除了微软这样的公司,其他公司是无力承担的。相比之下,Native通过直接访问Windows的窗口消息控制和GUI,相当于规避了环境的复杂性,从而减少了导致不稳定的因素。
我一直相信,任何事物有一利就会有一弊。你收获了开发效率,就可能会牺牲稳定性。这是合理的。当然,这个问题在Windows + .net的环境下影响还小一些,毕竟目前还有比较强的依赖,这个通道依然比较短;但是Windows + Java就完全不一样了。如果有一个Native的平台,然后Host一个虚拟机 -- 在这个虚拟机上跑的逻辑不涉及窗口消息控制、不涉及线程及并发、也不涉及任何GUI,还是能做出稳定的托管应用程序的。