关于“解决了之后得分问题的帖子“得问题,很抱歉,我大概于去年1月左右就基本上不再参与 解决关于.net的问题了,所以我现在也找不到这些问题了我现在也已经远离.net了,不过我可以说说我都用过什么技术:
asp.net的基本控件和ado.net就不用说了,用户控件用过,自定义控件也做过(当然了不是很复杂的,就是能设置自动生成一些asp.net的基本控件的控件,然后编辑,保存),很复杂的动态无刷新页面也做过,定时检测也做过(就是只要你登录了,检测到就会弹出窗口),GDI+也用过(不过这个不是用.net来做的,是用delphi来调用,使用两个线程,双缓冲来做一个的画图的程序),web service也用过(不过因为当时认为项目用处不大,所以没有采用),xml也用过。微软的petshop我也看过,还有什么那...其他得一时想不起来了,不好意思,不过想不起来并不代表我没接触过

解决方案 »

  1.   

    5drush (五农民出狗狗) 好啊,你以前的那个csdn助手还在做了吗?现在在做什么呢?
      

  2.   

    如果你想讨论的话,那么继续,从基本开始说
    通过做项目我发现很多问题,我认为这些问题的根本原因就是不重视软件工程,这个问题我向大家都知道,我就不说了,下面我慢慢谈java,首先,写程序一定要让人知道你写什么,而不是讲究速度和短程序,这点我很赞成印度的做法。
    java有著名的javadoc,也就是写一个类,变量,方法,要先开始写标准的注释,让人知道你写的是什么,然后再写程序,最后javadoc将你所有的程序中的注释提取出来,生成一个java api标准文档。
      

  3.   

    关于以上这点,作.net的有多少人能达到那?请问搂主你达到了吗?
      

  4.   

    asp.net的基本控件和ado.net就不用说了,用户控件用过,自定义控件也做过(当然了不是很复杂的,就是能设置自动生成一些asp.net的基本控件的控件,然后编辑,保存),很复杂的动态无刷新页面也做过,定时检测也做过(就是只要你登录了,检测到就会弹出窗口),GDI+也用过(不过这个不是用.net来做的,是用delphi来调用,使用两个线程,双缓冲来做一个的画图的程序),web service也用过(不过因为当时认为项目用处不大,所以没有采用),xml也用过。微软的petshop我也看过,还有什么那...其他得一时想不起来了,不好意思,不过想不起来并不代表我没接触过这简直就是标准的初学者的定义,没说你没接触过.NET,只是说你接触得不深,还不至于达到可以藐视佳软总工的地步.java有著名的javadoc,也就是写一个类,变量,方法,要先开始写标准的注释,让人知道你写的是什么,然后再写程序,最后javadoc将你所有的程序中的注释提取出来,生成一个java api标准文档。
    关于以上这点,作.net的有多少人能达到那?请问搂主你达到了吗?这又是一个.net初学者的力证!你说这番话证明你根本就没有使用过几次C#,甚至还不如初学者,随便问问这里的一个人,都知道C#的XML注释可以被单独提取出来生成WEB格式的文档,不知道吗?告诉你个简单的方法:打开VS.NET->点击菜单上的"工具"->选择"生成注释WEB页"
    再说写不写注释只是个人习惯的问题,跟JAVA还是.NET一点关系都没有,连写个QBASIC程序都推荐写注释的,更别说.NET了
      

  5.   

    baitianhai(hong:编译器的/doc选项你大概不知道吧?
      

  6.   

    无所谓了,你爱怎么说就怎么说吧,初学者就算初学者吧,反正我已经不搞.net了我不是藐视他,作为一个总工,说话说得太绝对,说话要负责任的,为什么这么多大公司都在用java,就你一个人给全盘给否定了,那些大公司的人都没你有眼光吗?你说错了,在 java中javadoc是标准,也就是说要写程序就必须要写注释,虽然说写不写是个人的事,但是写java的基本都会这样写的.
    这应该不是个人习惯的问题,这是软件工程的问题,这只能说明java重视软件工程
      

  7.   

    请关注问题的实质,敬请 baitianhai(hong) 逐一反驳的的观点!
      

  8.   

    你说错了,在 java中javadoc是标准,也就是说要写程序就必须要写注释,虽然说写不写是个人的事,但是写java的基本都会这样写的.写程序就必须要写注释?你的意思是不是说如果写JAVA程序不写注释就编译不通过?我现在开始怀疑你是个JAVA初学者了!
      

  9.   

    既然你承认自己是个初学者,就不要老是说自己有两颗星,是如何如何高手,然后站在高手的位置来污蔑.NET这不是哪不是,我只是想请你先多了解一下.NET,再来指出.NET的缺点.
      

  10.   

    继续讨论之前,既然你是MVP,那我问个问题
    关于.net的事务处理:
    如果我的事务来源不是一个数据库,那么我如何处理?
    另外事务处理也不是 只用在数据库的,如果我对两个服务器的操作 要做到事务处理,怎么办?
    如果你不想回答也无所谓(我不用.net,只不过比较好奇,而自己没有兴趣去研究了)
    接着讨论,再说一点,关于测试:
    测试在软件工程中是个非常重要的部分,java中有junit(当然了,这个不是标准,这个是XP的创始人和四人帮的一位大师一起开发的,这里就不得不说开源项目了,利用ant和junit可以做到测试自动化),据我了解,大多数.net公司根本就不重视测试。相反,大多数java都非常重视测试。(另外说一句,如果你是自己写完了自己测,那你就不要说了,如果你是不写代码的测试,那也不要说了)
      

  11.   

    .net连这个这个都解决不了,那还谈什么企业应用啊?
    顺便说一句,如果都是微软的数据库的话,好像要用到COM+技术,我想问一些,这里有多少人懂com+那?
    说实话我没接触过,我曾经看过com技术,是非常复杂的一种技术
      

  12.   

    真是太好笑了,。NET并没有说自己是万能的,他当然会存在缺点,要不为什么还要推出。NET 2。0?OK,现在你说。NET无法处理不同数据库的事务,所以,。NET没有JAVA,等一下有人跟我说,。NET没有办法写出WINDOWS原生程序,所以,。NET没有DELPHI好,再等一下有人跟我说,。NET没有办法写出驱动程序,所以,。NET没有C/C++好
    我在这里还要告诉你的是,。NET现在还不会煮饭,洗衣服,甚至还不如电饭锅和洗衣机好,请你不要拿这些无聊的比较来说明。NET如何差,你要举例,我可以举出很多。NET能做,而JAVA不能做的例子,但是这些罗列根本毫无意义。关于单元测试,。NET也有NUNIX,这个不想多说,我有篇文章在微软中文社区,专门介绍单元测试的。你自己去看。你还是不明白,什么叫。NET的公司不重视测试,什么叫JAVA公司重视测试?真好笑,还有你这样分的,如果有公司既做.net又做java怎么办呢?
    哦,。NET公司不重视测试,所以。NET不好,JAVA公司重视测试,所以JAVA好?你智商到底有多少啊?我还可以告诉你,。NET的公司都用康佳彩电,JAVA公司都用长虹彩电,因为康佳彩电比长虹彩电质量好,所以。NET比JAVA好,你觉得好笑吗?如果你想讨论,请理智的反驳我提出的观点,而不是总发一些弱智搞笑的言论来混淆视听,也不要再列举。NET不能做什么而JAVA能做什么这种无聊的事情。。NET和JAVA都不能开发驱动程序,按照你的理论,都是垃圾,咱们不要争了。机器码最伟大,什么都能做,除了帮你带孩子。
      

  13.   

    It is ridiculous to see some pro-java guys says java is better than .net because jave support software engineering, design pattern, o/r mapping, unit testing, and bla-bla-bla, while .net doesn't.The truth is all these things are not language-related.design pattern: First introduced by gang of four in smalltalks, not in java, and you can use pattern in c# as well as java.unit testing: xiao bai, never used nunit, nant before? try nunit 2.0, you will find the feature of using attributes to specify the class and the methods are for unit-testing is much better than the method using by junit.o/r mapping: Martin Fowler said nothing prevent .net from using Domain Model. It is just because MS offer dataset and other data controls make it easy to use a table gateway model.
    You can find quite a lot o/r mapping tools for .net available there, if you want to use it. Such as entity broker, ojb.net, modulairs, deklarit, potis. Although not as good as toplink.So it is fair to say like that, java has EJB, jdo, and some other open-source o/r mapping tools available, while microsoft's objectspace is still in development, and other products are still not as mature as their couterpart in java.Regarding software engineering as a whole, java cannot gurantee anything.
      

  14.   

    另外,请你也不要再举什么。NET这个不能做,那个没有的例子,然后我费工夫查资料再去告诉你相关的资料地址,我并不想跟你上课,只请你反驳一下我在顶贴中的观点。
      

  15.   

    晕,那到底是JAVA还是.NET   hao 啊?
      

  16.   

    谢谢,thetuxedo(Matrix Reloaded)的总结,这才是有理智的人说的话,那个冒充的什么两星高手其实是个弱智,我也不想再和他浪费时间了
      

  17.   

    晕,那到底是JAVA还是.NET   hao 啊?
    ==========================
    呵呵,不要试图从这里找到哪一个好,只有尝试看看能不能在里面学到东西
      

  18.   

    我现在反驳你第一个,你这样做势必要求 客户机 安装.net环境,这个是很不现实的
    第二个,.net我承认他比我深,但是J2EE我绝对比他强,我甚至怀疑他接触过J2EE没有
    第三个,我不认为你的观点正确,软件工程 的过程和结果同样重要
    第四个,如果你不认为复杂的话,那么我问你你的javascript水平如何,如果你不是一个高手的话,那么你的asp.net水平也不能算高手
    第五个,什么叫无条件追求OO,照你这么说,微软也是错的了,微软的.net不就是OO的吗?
           说实话,我认为delphi不怎么样(delphi的fans不要仍鸡蛋),但是和VB比还是强多了
    第六个,如果你不这么认为的话,那么你找一些美工来,问问他们那些asp.net标记是干什么的,看看他们有多少人懂,或者你认为你自己又是程序员又是美工。
    第七个, “满足用户需要“。有用户说了,你一个月给我做个erp出来,我给你1000块钱,那好吧,你来做吧。     我一向反对什么快速开发,压缩工期。如果你要快速的话,那么请你多招些人来,而不应该首先从提高个人的效率来考虑。
    另外,如果你觉得 我刚才说的  事务处理   不算问题的话,那我没话可说了
    并且我想微软也不是没有能力作,由此可见微软的心态了
      

  19.   

    由搂主的话  我想起了 csdn一位网友的 新闻评论
    微软的拥护者的素质总是差一点
      

  20.   

    to  thetuxedo:
    o/r mapping 没有必要吗???我不知道你们怎么处理的,微软的petshop 还不是将数据库的表转换为对象,然后用ado.net来从数据库和对象之间作转换的。你们不这样做吗??????????????我举了hibernate的例子,这是一个非常好的O/R maping方案,下面的代码就是将一个对象保存到关系型数据库中去
    SessionFactory sessionFactorynew Configuration().configure().buildSessionFactory();
    Session sessions = sessionFactory.openSession();
    Transaction transaction = sessions.beginTransaction();
    Cat princess = new Cat();
    princess.setName(“MyCat“);
    princess.setSex(‘F‘);
    princess.setWeight(7.4f);
    sessions.save(princess);
    transaction.commit();
    sessions.close(); 这才是真正高效的开发!!!!!!!!!!!!!!!!!!!!!!!
      

  21.   

    to  thetuxedo:还有一点 .net是不如java的,那就是异常处理
    在java中,如果方法抛出异常,那么必须用try catch捕获处理,否则无法编译
    我觉得这点非常好,而用.net开发的网站经常可以看到一些类似于 调试信息的 错误页面,
    (当然了也不是说他没有进行异常处理)
    连aspcn都出现过这种情况
      

  22.   

    各有所长 不过visual studio的开发工具做的没法说。
      

  23.   

    o/r mapping is just one way to persistent object to database.for the example code you provide, please check the product I mentioned such as entitybroker, potis, or nolics.net, they both can do the same thing.if that is all for what you call "真正高效的开发", then .net o/r mapping product available is already perfect.
      

  24.   

    i never said o/r mapping is  not neccessary, it is nice, but it is also not panacea.ado.net is just the data object ms offer, c# or vb.net allow you to create your own data object.Just like ejb in java, you can use ejb for persistence, but you can also use pojo.try--catch is also the way c# handle exception, I am not sure what you are talking about. The website showing debug information is due to the setting in web.config, they may forget to change debug=true to debug to false.
      

  25.   

    check http://www.codeproject.com/useritems/dac2.asp for one impletation of dal for 2 data-sources transaction
      

  26.   

    我所展示的只是它的功能的一小部分,节选转贴
               我来谈谈我为什么学习Hibernate,希望对大家能有点启发。 
               作者   robbin   (http://hibernate.fankai.com/ 站长)
    我心目中的ORM最好有如下的特点: 1、开源和免费的License,我可以在需要的时候研究源代码,改写源代码,进行功能的定制。 2、轻量级封装,避免引入过多复杂的问题,调试容易,也减轻程序员的负担。 3、具有可扩展性,API开放,当本身功能不够用的时候,可以自己遍码进行扩展。 4、开发者活跃,产品有稳定的发展保障。 抛弃了JDO以后,我根据上面的原则,先后排除了TopLink,CocoBase,Castor等,最后选择了Apache OJB和Hibernate。 OJB的排除很容易做出,一是因为它的文档太简单,太少;二是因为OJB计划下一个版本全面支持JDO,它的API会有重大变动,所以现阶段学习OJB是个错误,等它的API稳定了以后再学习不迟。 Hibernate的发现是很偶然的事情,只是在别人提到JDO的产品中,附带提了提而已,但当我开始研究Hibernate之后,我发现终于找到了我梦寐以求的ORM了。 Hibernate 完全符合我上面提到的标准之外,也解决掉了JDO的所有缺陷,而且方式之优雅令人赞叹。Hibernate的文档也是非常非常有特色的地方,它不仅仅是 Hibernate的功能介绍那么简单,它实际上是一个持久层设计的最佳实践的经验总结,文档里面的例子,文档里面的总结全部都是最佳设计的结晶。我认真的把Hibernate读下来的感觉就是,不单单把Hibernate掌握住了,而且对持久层的设计的经验都长了一大块,以前可从来没有觉得持久层的设计还有那么多的学问,也由此感觉到Gavin绝对是一个大牛人。 当然选择Hibernate最最重用的原因是Hibernate是一个我能够完完全全驾驭的了的软件。Hibernate的源代码非常少,而且写的非常简洁,我总觉得挺奇怪的,这么少的源代码能够实现这么多的功能,是个奇迹。 Hibernate的源代码树分的很清楚简单,源代码很易读,我一旦碰到文档中没有讲到的问题,或者文档中提到但是我搞不清楚的地方,我就去源代码中找,所有的问题都豁然开朗,而且让我对Hibernate的运行原理和细节搞的特别清楚,好像Hibernate就像自己写的代码一样,很清楚的知道,怎么写程序可以让Hibernate运行效率最高,最省内存,程序出了错误,很清楚的知道是什么地方的问题,怎么解决。所以用Hibernate让我特别放心,我能够驾驭它,而不像那些过于复杂的软件,本身框架就复杂的很,再加上不开源,出了问题也不知道怎么回事。
      

  27.   

    我说得只是一部分,下面部分转贴                   我来谈谈我为什么学习Hibernate,希望对大家能有点启发。 
    作者   robbin   (http://hibernate.fankai.com/ 站长)我来谈谈我为什么学习Hibernate,希望对大家能有点启发。 我心目中的ORM最好有如下的特点: 1、开源和免费的License,我可以在需要的时候研究源代码,改写源代码,进行功能的定制。 2、轻量级封装,避免引入过多复杂的问题,调试容易,也减轻程序员的负担。 3、具有可扩展性,API开放,当本身功能不够用的时候,可以自己遍码进行扩展。 4、开发者活跃,产品有稳定的发展保障。 抛弃了JDO以后,我根据上面的原则,先后排除了TopLink,CocoBase,Castor等,最后选择了Apache OJB和Hibernate。 OJB的排除很容易做出,一是因为它的文档太简单,太少;二是因为OJB计划下一个版本全面支持JDO,它的API会有重大变动,所以现阶段学习OJB是个错误,等它的API稳定了以后再学习不迟。 Hibernate的发现是很偶然的事情,只是在别人提到JDO的产品中,附带提了提而已,但当我开始研究Hibernate之后,我发现终于找到了我梦寐以求的ORM了。 Hibernate 完全符合我上面提到的标准之外,也解决掉了JDO的所有缺陷,而且方式之优雅令人赞叹。Hibernate的文档也是非常非常有特色的地方,它不仅仅是 Hibernate的功能介绍那么简单,它实际上是一个持久层设计的最佳实践的经验总结,文档里面的例子,文档里面的总结全部都是最佳设计的结晶。我认真的把Hibernate读下来的感觉就是,不单单把Hibernate掌握住了,而且对持久层的设计的经验都长了一大块,以前可从来没有觉得持久层的设计还有那么多的学问,也由此感觉到Gavin绝对是一个大牛人。 当然选择Hibernate最最重用的原因是Hibernate是一个我能够完完全全驾驭的了的软件。Hibernate的源代码非常少,而且写的非常简洁,我总觉得挺奇怪的,这么少的源代码能够实现这么多的功能,是个奇迹。 Hibernate的源代码树分的很清楚简单,源代码很易读,我一旦碰到文档中没有讲到的问题,或者文档中提到但是我搞不清楚的地方,我就去源代码中找,所有的问题都豁然开朗,而且让我对Hibernate的运行原理和细节搞的特别清楚,好像Hibernate就像自己写的代码一样,很清楚的知道,怎么写程序可以让Hibernate运行效率最高,最省内存,程序出了错误,很清楚的知道是什么地方的问题,怎么解决。所以用Hibernate让我特别放心,我能够驾驭它,而不像那些过于复杂的软件,本身框架就复杂的很,再加上不开源,出了问题也不知道怎么回事。
      

  28.   

    我说得只是一部分,下面部分转贴                   我来谈谈我为什么学习Hibernate,希望对大家能有点启发。 
    作者   robbin   (http://hibernate.fankai.com/ 站长)我来谈谈我为什么学习Hibernate,希望对大家能有点启发。 我心目中的ORM最好有如下的特点: 1、开源和免费的License,我可以在需要的时候研究源代码,改写源代码,进行功能的定制。 2、轻量级封装,避免引入过多复杂的问题,调试容易,也减轻程序员的负担。 3、具有可扩展性,API开放,当本身功能不够用的时候,可以自己遍码进行扩展。 4、开发者活跃,产品有稳定的发展保障。 抛弃了JDO以后,我根据上面的原则,先后排除了TopLink,CocoBase,Castor等,最后选择了Apache OJB和Hibernate。 OJB的排除很容易做出,一是因为它的文档太简单,太少;二是因为OJB计划下一个版本全面支持JDO,它的API会有重大变动,所以现阶段学习OJB是个错误,等它的API稳定了以后再学习不迟。 Hibernate的发现是很偶然的事情,只是在别人提到JDO的产品中,附带提了提而已,但当我开始研究Hibernate之后,我发现终于找到了我梦寐以求的ORM了。 Hibernate 完全符合我上面提到的标准之外,也解决掉了JDO的所有缺陷,而且方式之优雅令人赞叹。Hibernate的文档也是非常非常有特色的地方,它不仅仅是 Hibernate的功能介绍那么简单,它实际上是一个持久层设计的最佳实践的经验总结,文档里面的例子,文档里面的总结全部都是最佳设计的结晶。我认真的把Hibernate读下来的感觉就是,不单单把Hibernate掌握住了,而且对持久层的设计的经验都长了一大块,以前可从来没有觉得持久层的设计还有那么多的学问,也由此感觉到Gavin绝对是一个大牛人。 当然选择Hibernate最最重用的原因是Hibernate是一个我能够完完全全驾驭的了的软件。Hibernate的源代码非常少,而且写的非常简洁,我总觉得挺奇怪的,这么少的源代码能够实现这么多的功能,是个奇迹。 Hibernate的源代码树分的很清楚简单,源代码很易读,我一旦碰到文档中没有讲到的问题,或者文档中提到但是我搞不清楚的地方,我就去源代码中找,所有的问题都豁然开朗,而且让我对Hibernate的运行原理和细节搞的特别清楚,好像Hibernate就像自己写的代码一样,很清楚的知道,怎么写程序可以让Hibernate运行效率最高,最省内存,程序出了错误,很清楚的知道是什么地方的问题,怎么解决。所以用Hibernate让我特别放心,我能够驾驭它,而不像那些过于复杂的软件,本身框架就复杂的很,再加上不开源,出了问题也不知道怎么回事。
      

  29.   

    to baitianhai:
    第一个,你这样做势必要求 客户机 安装.net环境,这个是很不现实的什么叫不现实?在企业应用环境中装个客户端很正常,C/S结构的程序不也装客户端吗?第二个,.net我承认他比我深,但是J2EE我绝对比他强,我甚至怀疑他接触过J2EE没有我还怀疑你接触过JAVA没有呢,竟然认为写JAVA程序必须写注释.第三个,我不认为你的观点正确,软件工程 的过程和结果同样重要过程的目的是为了结果,软件当然是结果重要,你写个软件过程比我的好,我写个软件结果比你的好,客户是买谁的帐?第四个,如果你不认为复杂的话,那么我问你你的javascript水平如何,如果你不是一个高手的话,那么你的asp.net水平也不能算高手作为一个好的ASP.NET开发人员,不仅要熟悉JS,还要熟悉CSS,HTML和XML,你能说一个好的JSP开发人员可以不用学会HTML和JAVASCRIPT吗?第五个,什么叫无条件追求OO,照你这么说,微软也是错的了,微软的.net不就是OO的吗?.NET是OO,但是不是无条件追求OO,无条件追求OO就是说:不管哪种方法好,一定要采用OO.
    在需要的时候就采用OO,不需要的时候就不采用OO,那种方法综合起来开发效率好速度快就采用哪种,这就叫有条件选择OO,明白吗?说实话,我认为delphi不怎么样(delphi的fans不要仍鸡蛋),但是和VB比还是强多了好笑,你认为说DELPHI比VB好就可以赢得DELPHI FANS的喝彩吗?现在问题不是DELPHI是否比VB好,而是DELPHI是否像你所说的是垃圾第六个,如果你不这么认为的话,那么你找一些美工来,问问他们那些asp.net标记是干什么的,看看他们有多少人懂,或者你认为你自己又是程序员又是美工。当然,如果你公司的美工使用记事本开发网站的话,当然需要学习一些关于ASP.NET标记的含义,不过这个是很简单的,在新版的DW和FRONTPAGE里面就可以直接的可视化设计界面,再说了,程序员和美工的区别是程序员负责代码逻辑,美工不用关心网站的逻辑,而不是程序员负责ASP.NET,美工只负责PHOTOSHOP.第七个, “满足用户需要“。有用户说了,你一个月给我做个erp出来,我给你1000块钱,那好吧,你来做吧。     我一向反对什么快速开发,压缩工期。如果你要快速的话,那么请你多招些人来,而不应该首先从提高个人的效率来考虑。真好笑,如果我能一个月做出100个ERP呢?我不是能赚十万了吗?提升开发效率有什么不好?多招人不是浪费资金吗?一个人能当十个人用不是降低软件开发成本吗?能用计算机技术提高工作效率为什么就不行呢?计算机软件的本质是提高人类的生产力这个本质问题你还是没搞清楚.thetuxedo(Matrix Reloaded):
    不用再给他上课了,他认为这些东西.NET都不能实现,所以才举出这些例子出来,你要反驳他那真是没完没了了,他甚至可以用JAVA写一个HELLO WORLD来告诉你说.net做不到.其实他对.NET完全是一窍不通,你要给他解释清楚只有从最基础的理论来开始给他上课.
      

  30.   

    baitianhai(hong)的话我也想起一个著名伟人的一句话:
    JAVA的拥护者的智商总是低一点
      

  31.   

    to baitianhai:这篇资料在C#版置顶,估计你是没看,就顺便再给你上一课关于异常的处理:在Checked Exceptions问题上保持中立(译者注:在写一段程序时,如果没有用try-catch捕捉异常或者显示的抛出异常,而希望程序自动抛出异常,编译器则不会通过程序编译,例如在Java里就是这样。简单的说,这就是Checked Exceptions的基本意思,目的是保证程序安全性和健壮性。Zee&Snakey(MVP)对此有一段很形象的话,可以参见:
    http://www.blogcn.com/user2/zee/main.asp。Bruce Eckel 也有相关的一篇文章(Does Java need Checked Exceptions),参见:
    http://www.mindview.net/Etc/Discussions/CheckedExceptions)
    Bruce Eckel: C#没有checked exceptions特性,是你决定是否在C#中放置这种特性的么? 
    Anders Hejlsberg: 我发现checked exceptions在两个方面有比较大的问题: 弹性和版本控制。我知道你也写了一些关于checked exceptions的东西,并且倾向于我们对这个问题的看法。
    Bruce Eckel:我一直认为checked exceptions是非常重要的。
    Anders Hejlsberg:是的,老实说,它看起来的确相当重要,这个看法是没错的。我完全同意,checked exceptions是个很美妙的特性。但是这个特性会带来一些问题。例如,对于Java中checked exceptions的实现途径,我认为它在解决一系列问题的同时,付出了带来另一系列问题的代价。最后,我说不清checked exceptions是否可以让我们的生活变得更美好一些。对此你可能有不同开发。
    Bruce Eckel: 在C#设计小组中,对checked excpetions 是否有大量的不同意见? 
    Anders Hejlsberg: 对,我认为我们的意见相当一致。C#在checked exceptions问题上基本是保持沉默。不过我们一直关注这个问题,一旦有更好的解决方案,请相信我,我们会考虑在适当的地方采用的。我始终坚信——如果你对此问题没有发言权,也没办法推进其解决进程,那么最好保持沉默和中立,否则会就会造成对整个框架设计的不利影响。
    假设你让一个新手去编一个日历控件,他们通常会这样想:“哦,我会写出世界上最好的日历控件!它会有多形状的外观,有显示部分,有这个,有那个……”他们将所有这些构想都放到控件中去,然后花两天时间写了一个很糟糕的日历程序。他们想:“在程序的下一个版本中,我将实现更多更好的功能。”
    但是,一旦他们开始考虑如何将脑海中那么多抽象的念头具体实现出来时,就会发现他们原来的设计是完全错误的。现在,他们蹲在一个角落里痛苦万状,他们发现必须将原来的设计全盘抛弃。这种情况我不是看到一次两次了。我是一个最小原则信奉者,在你真有问题的普遍性解决方案,不要因为有些个别解决办法就将问题带入到整体框架之中,因为你不知道整体架构在将来应该是个什么样子。
    Bruce Eckel: 极限编程(The Extreme Programmers)上说:“用最简单的办法来完成工作。” 
    Anders Hejlsberg: 对呀,爱因斯坦也说过:“尽可能简单行事。”我最关心的是checked excpetions 给程序员带来的麻烦。当他们调用一些新的有自己所有的异常抛出句法的API时,你就会看到需要编写的代码将是如何冗长和纷乱,你会明白checked exceptions不是在给程序员帮助,反而是在找麻烦。 正确的做法是,API的设计者告诉你如何去处理异常而不是让他们自己做这件事情。
      

  32.   

    关于EJB组件模式有2个重要特性:(大规模集群中)智能负载平衡 和 无状态透明的失败转发另外对于集成遗留系统,有JCA标准,支持包括CICS,TUXEDO,MVS,SAP R/3, PeopleSoft等最重要的是 J2EE体系 对于CORBA 是兼容的
      

  33.   

    晕!有必要为这个大伤和气吗?看来两位,其中一位是.net高手,一位是java高手,那么你们两写一个相同的东西出来,然后看看运行效率,哪个高就是哪个好咯!
      

  34.   

    to  5drush(五农民出狗狗):
    我觉得和你没法继续讨论下去,很多企业的机器还都是奔腾机,甚至是16M的内存,难道因为做你一个软件,我就要升级硬件吗?
    3-5年之内.net客户端是不可能有机会的
      

  35.   

    你没听说过CORBA.NET吗?没有的话就自己去BORLAND的网站去查查资料,我是懒得再帮你找资料教你.NET常识了
      

  36.   

    晕!有必要为这个大伤和气吗?看来两位,其中一位是.net高手,一位是java高手,那么你们两写一个相同的东西出来,然后看看运行效率,哪个高就是哪个好咯!