前提:如果你也是以开发网站,面向广大网民.(开发OA,ERP系统的高手并不一定在行web),所以希望大家以体会过开过网站为前提来讨论.
以前是个asp程序员,后来学net我用VB的,但现在开发C#比VB还要多还要熟练了,但感觉还是不如VB 
   其实就是开发一些网站,以web为主,面向广大网民,以综合网站居多.更多的要求是网站的美工,界面,功能.性能,用户体验等等考虑.
   现在开发一般以sqlhelp做数据访问层,+存储过程,自己写个所谓的逻辑层调用调用,事实上就是入门级,什么OOP/OOA/OOD根本不了解,
   开发网站你会经常需要改动,有时更是完全改了,或者不要,或者怎样怎样,这跟写系统,软件等工作有很大区别,因为软件一定下来,改动的只是很小(所以我才一开始写个了前提,如果把网站的改动放在软件程序员写系统上面,你们会大骂这是什么SB,天天改,还有的就是网站美工要求很高,软件美工要求相对低许多)以下是我觉得麻烦的地方:
1\定义类型
VB:--dim a=任何的东西
C#却不得不完全知道你自己定义成什么,但有时返回的数据是不同的,那就麻烦了.
2定义变量VB:--Dim UserName  之后不管你在那里,你随便输入username小写,自动变成跟定义的时候的大小写,会变成UserName ,很好,直观的知道自己完全打对了.C#:--区分大小写,我不知道有何实际用途,比如你会定义一个叫UserName,然后再定义一个username两个变量?  以开发网站为主,我暂时还不需要定义相同名字大小写区分的变量(大写小打错所产生的调试出错或其它原因,是很容易就发现,并不难找出问题所在,但还是不爽).
3\类型转换,
VB:,dim a="56"  dim b as int  b=a--非常的方便,也许有人认为什么严紧度不够高之类的,但对于网站开发,有时不得不说,你必须放松一点,把时间放在更多的重点工作上(估计开发自己公司大型web网站的程序员应该了解,你有更多的东西要做而不是去研究程序如何如何的).
C#:--就麻烦一点..有时从地址栏读个参数ID=100下来,还得转换一下int32型.4\代码智能感知功能
VB:什么都出来,方便,任何参数现在基本上只知道前面的一些字母,打了一半就按回车
C#:有些不出来,但又不知道怎样打,搞得我去VB那边COPY一下,没办法,写得不多,所以不熟练.vs2005算是有进步了,vs2003的更惨.不过C#也是有些优点,代码量好象少一点,比如弄了个URL重写的,C#和VB版都弄了,那个接口什么的代码,VB比C#多了一块..现在用C#,是应市场需求和好找工作找资料,但心里还是放不下那个简单的VB.谈谈petshop,现在还没看懂,也没时间看.但感觉这只能当一个教学例子(里面用有各种的例子给看,让人学了举一反三),但并不实际. 我的看法是,只学习petshop里某些你需要的功能.设计的方案就算了吧.
我比较重实在,不搞花俏东西,一般用认为最简单和最容易修改的方法,(在asp方面我充分证明我是对的,但现在.net可能需要多等上一年后再发表大意见了).

解决方案 »

  1.   

    1到3啰嗦了一大堆说的一个问题,你比较喜欢不严谨的弱类型的东西,至于第四个ctrl+j
      

  2.   

    ps:
    你说的这些似乎和web开发没有什么关系
      

  3.   

    很少用VB.NET,感觉C#用习惯了还是C#好前几天帮同事整一个VB.NET的系统,在ASPX页中硬是没搞好显示新闻标题长度,
    最后才知道VB中没有?:三元运算,觉得VB有些失败了
      

  4.   

     jinjazz(近身剪) ( ) 信誉:100    Blog   加为好友  2007-5-31 1:21:11  得分: 0   
    1到3啰嗦了一大堆说的一个问题,你比较喜欢不严谨的弱类型的东西,至于第四个ctrl+j
    ---------------
    是的,因为我的学习大部分来源于例子和实际应用后取得的一些经验,没经过一些基础的学习,所以相对而已只能凭一些经验和开发来感觉自己的看法.其实很多东西我连听也没听过,比如楼上所说的三元运算,我就得查一下才知道指的是什么,也许我用过,但我并不知道叫三元运算.其它很多东西都是如此.我偏向VB主要是因为入门容易,能减少一些出错和小麻烦,特别是对于我这类型来说,我需要的更是调试成功,而不是完全对了,通常我都在以后慢慢增长技术和经验中来修改自己的缺点,但如果连调试也不成功,我有时并不知道问题出在那里,这样时间只会白白浪费,最近增长了不少后才避免了这问题,一开始刚学的时候,成功调试对我来说很重要.  任何代码成功后,我会试着去掉代码或换代码来理解每一行代码的意义和作用. chaoren1641(超人) ( ) 信誉:100    Blog   加为好友  2007-5-31 1:23:55  得分: 0  
     
     
       
    很少用VB.NET,感觉C#用习惯了还是C#好前几天帮同事整一个VB.NET的系统,在ASPX页中硬是没搞好显示新闻标题长度,
    最后才知道VB中没有?:三元运算,觉得VB有些失败了
    -----------
    ?:好象是没有,不知道有没有其它写法.
      

  5.   

    呵呵,lz应该给自己的vs2005装两个插件,Visual.Assist.X,ReSharper(或者Express.CodeRush),有这两个插件在Lz说的大部分东西都不是问题工欲善其事比先利其器
      

  6.   

    lz的说的情况跟web开发不沾边
    我还以为讨论语言强弱问题呢,原来不过是习惯问题
    我刚出来混用vbs+vb6,自学过vb.net,但现在主要用C#开发web、AP程序,
    vb.net只偶尔用来写个小类库。语言,越了解越喜欢,但不要盲目排他
      

  7.   

    用不好C#,你不能说它不好,这么多年下来,真正清楚的人,会说VB比C#好用??
    楼主要学会与时俱进。
      

  8.   

    把C#作为.NET的主流语言是有它的道理的,你说的貌似和这个沾不上边,而且很多情况都不真实,说明你并不了解C#,至少不是很了解
      

  9.   

    同意沙发说的,楼主比较喜欢不严谨的弱类型的东西,至于第四个ctrl+j。其实vb.net和c#.net都是很有前途的,微软用basic发家,不会轻易丢掉vb的,明年vb9不是出来了吗?!反正语言是相通的~
      

  10.   

    楼主此言差矣,我刚才C#转到用VBNET开发,还觉得VB哪里都差呢,很大一部分是习惯问题。
    而且从趋势和稳定性来看,弱类型和不区分大小写在后期容易造成麻烦。
      

  11.   

    C#  .NET平台的王者!!!
      

  12.   

    个人爱好吧,不过大多数都是用C#的,
    就算要从VB转过来也不难。
      

  13.   

    其实lz说的各人有各人的喜欢,不过lz说的都是基于比较简单的开发来说的,我觉得web开发你可以把它分为网站开发和web应用开发,但是中间没有很清晰的界限.一个大型的网站其开发量\后台的维护量是非常大的,并不是说的修改谁比谁多...
    我们要学好软件工程,要学习设计模式,就是学习前人在开发中留下来的经验,我觉得无论做什么类型的开发,学习什么样的语言,都应该花更多的时间去思考怎么样的开发可以减少开发的工作量,这个工作量不是说自己的开发量,而应该是整个项目整个周期整个团队的开发量,那你就会体会到你上面说的这些对比都是C#的长项了.
    最后,C#的高级应用方面应该比vb好很多把,vb不会用,不好说;
      

  14.   

    我觉得LZ的经验完全来自于自己对网站的开发。并且是纯粹摸索一点点走过来的。所以对于自己的判断是坚信不移。
    但是,我可以判断出来,LZ的真正开发经验并不多,以前大部分时间是放在美工上了,少部分放在代码,数据库上。就算你之前做网站做了10年,大部分时间并没有研究代码及分层结构,其实觉得VB好,就是因为语法不严谨及你已经熟练了……你提出这点VB比C#强依然是个假命题。不在评价LZ了,LZ的看法并没什么不对,只不过我不大同意了罢了。说说我自己吧。
    我之前ASP(VBSCRIPT),PHP,JSP自学并做东西用了几年,自从工作开始用.net之后,做BS软件,用的是VS2003,VB.net真的觉得很好用。现在转05了,有的时候依然怀念那不用考虑大小写及缩进的VB,但是。我还是坚定不移的改用C#了,为什么?1 语法不严谨不能做为VB好的原因。2 C#代码量少一些,按有些人话来说,更优美一些。3 C#和JAVA语法极相似,JAVA也是严格要求语法和写法的。随时为转JAVA留准备。4 VB和C#执行效率相等,对于熟练的人来说C#开发效率与VB也相等。5 国外用VB的多,国内用C#的多,如果需要团队开发,还是相同语言方便一些。6 定义类型的问题,net2.0已经开始有泛型了7 VB:,dim a="56"  dim b as int  b=a--你说的这个类型转换,不要以为别人没做过网站,你说的这种类型转换,完全是ASP时代留下的恶习。8 虽然对MS来说,VB和C#都是他的孩子,待遇是一样的。
    但必竟还是有一些C#有,但是VB没有的功能:
    迭代器
    匿名方法
    静态类
    VB有,C#没有的只有一个,就是:默认实例
      

  15.   

    补充一点。由于以前的项目,现在的是2003,2005,C#,VB都在用。
      

  16.   

    使用弱类型并不是啥优点,除了效率问题以外,还有类型安全的问题~LZ,你所说得方便什么的,是asp的优点,某种程度上asp比asp.NET开发效率高,作个简单的asp页面,用记事本改吧改吧就可以直接用了,微软为啥还要出ASP.NET?你怎么不继续用asp ?
      

  17.   

    我比较喜欢用VB.NET,因为VB.NET表达式与数学表达式非常相似,功能不亚于C#,其实,使用那一个并不重要,自己顺手就行,它们都是工具,主要的是要通过使用它们来实现我们的目标,它们只是外形不同而已,都要翻译成MSIL,就像个人手中的计算器一样,不同的人使用不同的计算器,不能说谁的计算器好谁的水平就高,主要是看个人的业务能力。
      

  18.   

    不同的时代自然会产生不同的事物,而每种事物之所以还能茁壮成长,自然有其存在的道理,尺有所长寸有短,事上没有完美的事物,LZ说这种问题有意思,还引来这么多人来评论,你的喜好只能代表你自己,干语言什么事呢?就像我以前在CHINAUNIX中看到一个关于讨论JAVA问题一样,有什么好说的呢,这个不好那个不好干嘛别做IT不是更好?
      

  19.   

    感觉是习惯问题!以前用VB.net开发WINform程序现在转到C#了!!等一个感觉就是有好多的细节要处理!感觉都是一样的好!各有千秋吧!
      

  20.   

    Eray(黑桃六) ( ) 信
    -------------------
    你说的是static?我很少用vb.net但是记得可以用shared
      

  21.   

    习惯问题,LZ肯定对VB非常熟悉
      

  22.   

    C#:有些不出来,但又不知道怎样打,搞得我去VB那边COPY一下,没办法,写得不多,所以不熟练.vs2005算是有进步了,vs2003的更惨.
    _______________________________________________________________________________看到不熟二字有些感慨,不熟焉能评价?偶工作N年,做过UNIX下C\C++的开发,J2EE,现在转向C#,后来又搞了个系统分析师,再后来又马马虎虎混了个头头当当,我也没看出来什么语言好一点什么语言差一点,我只知道我在不同的情况下我需要不同的东西来做.请教一下LZ,怎样才能知道语言的好坏,以什么为标准,也许是我落后了,或是学识太浅了,还没能真正领会或是到达一定的境界吧.多多指教啊.
      

  23.   

    习惯  问题  
    大学里  用C#  实习时用VB  感觉也是特不爽 
    呵呵  习惯 了也就那样了
      

  24.   

    TO:jinjazz(近身剪) 
    Eray(黑桃六) ( ) 信
    -------------------
    你说的是static?我很少用vb.net但是记得可以用shared我说的不是static,我知道VB里的shared。
    这个静态类的意思是说,所有的成员都必须声明为静态。
    public sealed static class Settings
    {
    //Code Here
    }
      

  25.   

    补充,VB8(.net2.0)新增关键字。已经好多了,原来1.1时没有的,曾让我很头疼的:
    Continue
    Using...End Using
    My
    IsNot
    TryCast(等同于C#的as)
      

  26.   

    vb快啊方便啊。我web是vb的,winform用c#的
      

  27.   

    lz观点十分的片面,是因为你对C#不够了解,VB虽然方便自由,太是你不要忘了,太自由了也不是好事,且不说C#和VB谁的功能更强,C#的语法是非常严谨的,我想这也是它的优势吧.语法太自由了会造成运行的不稳定及效率下降的.
      

  28.   

    好像C,C++也不是Dim XX as XX 吧,还有Java也不是Dim XX as XX
      

  29.   

    没感觉强在哪里
    倒是vb.net操作word或excel文面的东西比C#方便。
      

  30.   

    习惯问题!给大家推荐一个好地方:http://hi.baidu.com/happyf101
    请大家支持一下
      

  31.   

    不说vb.net与c#谁更好。但是据我所知,在vs2005中vb.net的使用的确要比c#要方便。
    一个小例子 string.trim(),在vs2005中使用vb.net时,直接敲完trim,vs会自动加上(),c#不会。
    另外,一些错误一定要在运行时(ctrl+f5或f5)才可以捕捉到,而在使用vb.net时,这种错误无需编译就可以马上了解。
    从开发软件的层面上看,我觉得使用vb.net要方便的多。
      

  32.   

    看来大家还是支持C#多.....
    我是楼主...
    现然正在用C#  vs2005在写个网站,为了在命名时写上UserName这样的大小写命名,还有不停重复输入的问题不停按SHIFT键,现在小指有点疼了?(先说明,我可不是弱男,只是象我这样的壮汉用小指头用多了还是会累), 这回你们明白了吧,一个C#比VB差的缺点! 你们又可别说SHIFT的布局又是非常优秀.
      

  33.   

    看来大家还是支持C#多.....
    我是楼主...
    现然正在用C#  vs2005在写个网站,为了在命名时写上UserName这样的大小写命名,还有不停重复输入的问题不停按SHIFT键,现在小指有点疼了?(先说明,我可不是弱男,只是象我这样的壮汉用小指头用多了还是会累), 这回你们明白了吧,一个C#比VB差的缺点! 你们又可别说SHIFT的布局又是非常优秀.
    #####################请楼主搜索匈牙利命名法以及查看代码大全这本书里的相关章节
      

  34.   

    个人感觉还是用C#好些吧,因为它是专为.net设计的。对可移植性支持较好
      

  35.   

    vb.net比c#强不强我不知道,但是我从搞c#转向vb.net之后,感觉很不错,很习惯vb.net的那种
    风格,我以前是搞vc的,  可能是个人喜欢的风格不一样吧
      

  36.   

    .(开发OA,ERP系统的高手并不一定在行web)请问OA不是运行在WEB么?另外的地问题
    1.任何类型 a = new 任何类型(c#)= dim a = 任何类型(VB.NET),怎么会不知道自己定义什么?2.但是C#你定义一个UserName以后还可以定义一个username,你是要求它的规范还是随便?3.这个类型转换本人并不觉得多了代码,因为都有自动补全所以都是打那几个点。而且你难道不知道取个ID=100这种字符串转int可以用int.Parse(ID)?这样看来到底谁的代码多了?4.Ctrl+j应该很多人都知道了,我就不多说了。PS:你说了这么多都不能证明VB.Net比C#强吧,如果你说的强弱只是在于人工弱化的话那就太肤浅了,谁强谁弱那要看它的功能是否强大,关于这一点至少目前我认为VB.Net能做的C#能做,C#能做的VB.Net也能做,所以不存在谁强谁弱,只不过是个人习惯而已,而国内大多数公司都用C#是有一定理由的,毕竟VB.Net在VS2003上的确很多自动完成的功能看起来让人觉得很方便所以都觉得不怎么可靠,其实只是一种心理作用而已吧。
      

  37.   

    补充一下第四条还可以Ctrl+Alt+右箭头
      

  38.   

    最讨厌VB.net
    代码看起来一点都不顺眼,一点都不清晰
    C#
    {
    }
    一看就知道是什么逻辑
    VB

    if ...
     if ... end
    end头都大了
      

  39.   

    Top  
     haolaiwu(宁愿相信世界上有鬼,也不相信女人那张嘴) ( ) 信誉:100    Blog   加为好友  2007-06-12 09:20:21  得分: 0  
     
     
       最讨厌VB.net
    代码看起来一点都不顺眼,一点都不清晰
    C#
    {
    }
    一看就知道是什么逻辑
    VB

    if ...
     if ... end
    end头都大了
      
     
    Top  
    ............................
    有那么严重吗?
    ~-~
    一直都用VB.net;想转可是不爱学习了。
      

  40.   

    DOTNET博大精深 CSHARP锐不可当
      

  41.   

    自己没学好C#就说不好用,HOHO,楼主小白,鉴定完毕!!!
      

  42.   

    最近c#开发上又遇上一问题,竟然没有可判断数字型的参数..
    虽然有个isnxxxx什么的跟vb一样,但用法上却不一样,其它的如正则表达式,转换捕捉错误等等都不方便...请楼主搜索匈牙利命名法以及查看代码大全这本书里的相关章节
    ------------------------------
    这个略有所闻,也接手另一个程序员来的一回,但感觉还是不习惯..
      

  43.   

    morixing() ( ) 信誉:100    Blog   加为好友  2007-6-12 9:16:03  得分: 0  
     
     
       
    .(开发OA,ERP系统的高手并不一定在行web)请问OA不是运行在WEB么?-----------------------OA与普通网站不同的地方是,什么狗屁用户体验,美观,速度,是否省资源之类的,光是说OA许多页面只是显示一个表格样的东西,但一个娱乐网站,你还得拉好几次滚动条才能拉完,上面布满了各种图片,表格什么的..用NET没排好版还变形...这与C#其实无关,但我极少开发OA那类型东西,所以不清楚,只能谈web面向广大网站的网站了.  这不是说C#了,这是NET还真他妈的不好把页面搞漂亮.
     
      

  44.   

    自己没学好C#就说不好用,HOHO,楼主小白,鉴定完毕!!!=================================================严重同意