.net的初步印象

类别:.NET开发 点击:0 评论:0 推荐:

公司让本猫熟悉一下.net技术,为未来可能的项目做准备.本猫安装了Visual Studio .net的beta 2版 (国外Visual Studio.net beta版是免费的--CSDN居然拿来卖,虽然很便宜,可是...)

漫长的安装以后,终于等到了界面--嗯,第一印象是够花! 秉承了微软的一贯风格--新产品无论功能怎样,界面总是让人有新鲜感. 整个界面布局和控件风格都跟以前不一样了.

接下来就是调试几个小例子程序,先是一个C#的例子,很简单,顺利通过,观察一下代码,感觉风格上象足了JAVA,但是通过using直接引用编译好的代码很有创意,也很方便.

接下来就是调试一个c++, managed c++混合的例子.很不幸,当时在我所在的机器上无论如何调不过去,总是报找不到某个com部件的wrapper.当时判断是工程设置有问题,就仔细检查了设置.工程属性窗口出来以后吓了本猫一跳--这里的风格也大变,很多以前的选项都找不到.另外就是用了大量的环境变量来标记目录,比如说$(BIN_DIR)等等(可能名字不确切--现在咱这台机器上没安装VS.net).想通过修改这些环境变量的值来改变目录设置,却无论如何找不到这些环境是在哪里定义的...,呜呼,当时本猫都绿了--这么个小问题都解决不了?!

经过数小时的苦痛挣扎,最后决定在另外一台机器上装VS.net尝试一下--又一次漫长的等待,安装完毕后调试同样的程序--这次居然毫无障碍的成功了!为什么?不知道--第一台机器上是windows XP Professional,第二台机器上是windows 2000 professional,差别仅此而已,两个机器从硬件到profile的设置都完全一样.typical microsoft...

接下来就是比较深层次的文档阅读.看了好长时间.读了好多文档以后,第一印象是,什么?!.net居然是建立在虚拟机技术基础上的?!微软到底想干什么?!微软自己的操作系统在桌面市场上占统治地位,他怎么要在自己的平台上再搞一个虚拟机?不解.如果这个虚拟机被移植到其他操作系统上,微软的垄断地位可就岌岌可危了(后来看到消息说,linux上已经有.net虚拟机的移植版了,不过本猫没试用过). 微软到底是什么目的? 别小看了这个问题--这涉及到公司对.net是否有长期投资价值的判断,要是俺们公司把开发都转到.net系统上来,微软忽然说,.net只是一个中间产品,我们的最终目的是.bill 或者.gates技术,那我们可就惨了...

看了文档的第二个问题是,COM技术究竟前景如何.MSDN上有一篇文章,说从某种意义上说COM技术死去了,但是另一方面,COM技术的灵魂还在--这纯属废话,现在所有的软件都往Component技术上走,难道所有的都有COM技术的灵魂?对一个程序员来说,一种组件技术就意味着各种接口的规定和相应的API,好容易把COM那套东西搞明白了,microsoft说那些东西在新的.net中不再用了,但是它的灵魂还在(阴魂不散?), 程序员不就白学了...
另外microsoft以前的所有东西都是建立在COM技术基础上的.无数公司已经在COM技术上投入了无数的$写出了无数的COM components,现在这些components在.net中必须被加上一个wrapper才能运行--那么未来呢?COM技术还有前途吗?

看完了文档动了动手,试图用Managed C++写写程序.发现Managed C++简直就是蛇足!!Managed C++在C++的基本语法上加入了新的保留字和新的规定,对许多C++的基本特征都规定了新的语义!这根本就是一个新的语言.如果你是一个有经验的C++程序员,绝对不会对Managed C++有任何好感--你感觉是在用C++写程序,但实际上那是一个新的语言,相同的语法下隐藏着不同的语义!开始阶段绝对是BUG孳生的温床.时间长了,熟悉了Managed C++以后,当你试图用其他的编译器时(比如说gcc),又是一堆苦恼 -- 本猫的观点--managed C++定位不明确,蛇足一个.要写.net程序,还是直接用C#吧. (本猫对VB一窍不通,所以就不瞎评论了)

剩下的一个问题就是,C#是否是.net中的万能语言--我是说,以前MS平台上C++是万能语言,从高到低所有事情都能干.那么在.net平台上, C#是否也完成所有的任务呢?当然逻辑功能肯定都没问题.但是界面控件呢?比如说,用C#怎么开发非标准的界面控件?

后来公司要赶一个项目,本猫就暂别了.net,那几个问题也一直都没搞明白.非常希望能和熟悉.net的朋友交流一下.所以就写了这个杂感.

本文地址:http://com.8s8s.com/it/it46192.htm