VB和VC谁好....这一类的问题太多了.其实,没有那一个好的.VB有VB的特点,VC有VC的好处....正如你问的问题一样,没有谁最好的定义,只有学习得好.才是正道.

解决方案 »

  1.   


    最近C#和java谁更好的争论已经有一段时间了,我也谈谈自己的感想。
      其实单纯从语言上来讲,C#应该比java更具有优越性。为什么是应该呢?原因如下:
        1) c#作为一种语言,比java语言出现晚了五年(差不多)。如果从“历史总在进步”这个观点来看,c#应该更好。这个理论在IT界并不总是成立,但考虑到微软的开发实力和经济实力,估计不会有很大的差别。
        2) c#不是凭空产生的,任何一种语言都不是。C++吸取了C的长处,JAVA又吸取了C++的优点,历史就是这样进步的。而粗看一下c#的语法,简直是java的翻版。也就是说微软肯定吸取了很多java的的优点,而且做了进一步的优化,放弃了一些缺点。据个例子来说:一个简单的字符串操作:  //java
      String s1 = "aaaaaaaa";
      String s2 = new String(s1); 
      //这是正确的,但s2和s1是同一个字符串呢,还是一个拷贝?这是一种容易引起误解的语法。  //c#
      string s1 = "aaaaa";
      string s2 = new string(s1); 
      //编译器通知错误,并且建议使用类似Clone的方法。
      //c#避免了这个问题  除此之外,还有很多我们可以认为是c#由于java的地方。
    上面谈到的是单纯从语言上来讲,但一种语言到底能够成功,能够成功多少,并不仅仅取决于这种语言本身。在编程语言的历史上,已经出现过几百种编程语言,其中不乏优秀的。但我们现在都没有使用,为什么?因为许多其它的因素,主要是指商业的。  有朋友说得很对,微软很会做市场,要不然他不会成为最有钱的公司。在美国经济下滑的今天,微软依然保持了高速的发展。尤其是今年,垄断案取得了重大的进展;许多重大的商业计划的出台,如.net, xbox等等,连bill gates也说,我们从来没有像今年这样推出过这么多的新产品。对于微软的情况,我们可以从侧面得到线索。那就是在纳斯达克股市节节下滑,主要竞争对手sun, oracle, aol股票节节下跌的时候,微软的股票却上涨了80%。美国投资人对微软的信心从另外一个角度反映出微软2001-2002年的市场情况可能会非常好。
      再说C#,这是微软的下个主要的平台的核心开发语言,其重要性不要于JAVA之对SUN。微软以已经花了几十亿美金,预计会有更多的美金会被花进去。可以说微软实际上把能否打败对手,在高端服务器市场的竞争上取得优势,从而决定微软将来的命运的宝压在了以C#为主要代表的.NET框架上。其来势非同小可。如果微软的市场运作没有出现很大的问题,.NET能够为微软挣的半壁江山,C#可以预见会成为很多人的编程利器。  所以我的观点,看市场对.NET的认同程度,不但可以看出C#,JAVA的兴衰,更可以看出微软,sun, oracle, aol的成败,进而看到美国乃至世界未来高科技乃至整个经济的趋势。未来的几年,如果不出意外,应该会是血雨腥风。任何一种新的语言产生,都会受到质疑。今天java的疯狂支持者,有多少不是昨天还在抱怨java太慢,界面设计复杂的呢?我们期待C#的明天,也期待java的明天。
    竞争升级  不难发现,Sun ONE与Microsoft.Net几乎正在做同样的事情,两者在体系结构上不存在竞争。但是彼此用了不同的方式和工具之后,客户面临的选择则是两者取其一:Java还是C#;iPlanet servers还是Enterprise Servers;ONE Webtop还是Office.Net;Forte开发工具还是Visual Studio.net。在各个层面,Sun与Microsoft都可谓针锋相对。  分析家认为,由于微软在保证Java兼容性和终止使用者以跨平台语言之间选择了后者,两公司之间的竞争态势从Java以及它对Windows操作系统的威胁,升级到了企业将选择Unix还是Windows来构建网络服务平台,也就是说,是选择Java语言,还是微软的开发工具。  这恰恰是两家公司竞争的焦点。可以说,谁吸引到大多数的程序员和软件开发人员,那么其产品成为工业标准的几率就会大大提高。  Sun于是宣称:“开发者利用标准来集中精力处理核心竞争力,在标准的基础上进行创新,而不是从底层开始重新创建应用。使用私有体系架构的开发者最终要不断地重新创建和重新集成,其结果就是其工作被限于一个狭窄的范围和生命周期。”矛头直指微软。  对Sun而言,从某种意义上讲,Java实际上已经成为企业和网络应用的标准语言,非常深入人心;iPlanet软件也具备了许多核心网络服务特性。不过,不能在微软的桌面上运行,Java就很难讲无处不在,这是诉讼案所带来的负面影响;Forte开发工具的集成还有不少工作要做;此外,作为Webtop 的基础的StarOffice组件,其应用并不普遍。  对微软而言,桌面计算的优势是压倒性的;通过XML、SOAP和BizTalk server的作用希望在一定程度上取代Java“一次编写随处运行”的特性。相反,C#还很不成熟,对Windows操作系统安全性的担忧仍然存在;需要使用许多微软专有的产品而不是符合互联网标准的开放工具会让有些人望而却步。
      

  2.   

      //java
      String s1 = "aaaaaaaa";
      String s2 = new String(s1); 
      //这是正确的,但s2和s1是同一个字符串呢,还是一个拷贝?这是一种容易引起误解的语法。这也会引起误解,不可思议。
    你的说法根本不具有说服性。