我是刚刚看了一点点.net的书,对.NET的认识非常模糊,这里,我提出一点点我对.net的看法,请大家批评指正,交流一下。
  .NET 的设计目标就是开发语言的平台无关性,通常,我们在一个操作系统平台上编写的软件,移植到另外一个平台下去以后,就不能用了。
  例如:如果在Windows环境编写一个Win32的窗口程序,移植到RedHat Linux 平台,则程序就不能运行了,为什么会出现这样的情况呢?因为我们编写的Win32窗口程序是运行在Windows平台下的,结合了Windows平台的独特特性,因此,移植到 Linux平台以后,由于操作系统调用的不同,程序就自然不能运行了。
  所以,微软的.NET试图摆脱这样的一种开发窘境,试图使自己开发的软件能够适应不同的平台环境,而不论操作系统是Windows还是 Linux。从这个意义上说, .NET的设计目标也是为了和风头正劲的 JAVA 抗衡。因为JAVA 以其“一次编译,到处运行”而倍到广大在不同平台下软件开发者的青睐。
  另外.NET实际上对WIN32 API和很多访问操作系统的特性做了另外一层的包装。当然,底层估计还是调用的原来的WIN32 API, 或者是对原来的 WIN32 API 做了一次的大的重写。
  在.NET 环境下,软件可以用各种不同的开发语言进行开发,不同语言开发的软件相互之间的数据交换可以以更加方便的方式进行,原来是DLL、COM等,现在则是另外的方式了,什么方式?这个我现在还不清楚,不过无觉得应该有一种方式的。
   好了,上面就是我的一点点粗浅的认识,或许有很多错误,请大家说说自己的看法吧。

解决方案 »

  1.   

    .NET目前不能(完全)做到平台无关性。
      

  2.   

    支持 singlepine(小山),有同感。
      

  3.   

    同学,你就把他当windows的,不要太较真的
      

  4.   

    (".net".IndexOf("跨平台")>-1 && ".net"!="跨平台")为true明白了吗?
      

  5.   

    ".net".IndexOf("跨平台") , 这种代码太傻了
    怎么也得 DotNet.IndexOf("跨平台")啊
      

  6.   

    知道了.NET的目标是跨平台,但是目前离这个目标或许只有一步之遥。
      

  7.   

    Ms象那些巴黎时装发布会上的那些商家,它发布了C#,要不了多入年就过时!!
    你赶时毛吗??
      

  8.   

    在.NET 环境下,软件可以用各种不同的开发语言进行开发,不同语言开发的软件相互之间的数据交换可以以更加方便的方式进行,原来是DLL、COM等,现在则是另外的方式了,什么方式?
    ============
    是CLR(Common Language Runtime).比如C#里面的int类型编译成il代码时是System.Int32,而Vb.net中的Integer类型编译成il代码时也是System.Int32.