前提:如果你也是以开发网站,面向广大网民.(开发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可能需要多等上一年后再发表大意见了).
以前是个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可能需要多等上一年后再发表大意见了).
你说的这些似乎和web开发没有什么关系
最后才知道VB中没有?:三元运算,觉得VB有些失败了
1到3啰嗦了一大堆说的一个问题,你比较喜欢不严谨的弱类型的东西,至于第四个ctrl+j
---------------
是的,因为我的学习大部分来源于例子和实际应用后取得的一些经验,没经过一些基础的学习,所以相对而已只能凭一些经验和开发来感觉自己的看法.其实很多东西我连听也没听过,比如楼上所说的三元运算,我就得查一下才知道指的是什么,也许我用过,但我并不知道叫三元运算.其它很多东西都是如此.我偏向VB主要是因为入门容易,能减少一些出错和小麻烦,特别是对于我这类型来说,我需要的更是调试成功,而不是完全对了,通常我都在以后慢慢增长技术和经验中来修改自己的缺点,但如果连调试也不成功,我有时并不知道问题出在那里,这样时间只会白白浪费,最近增长了不少后才避免了这问题,一开始刚学的时候,成功调试对我来说很重要. 任何代码成功后,我会试着去掉代码或换代码来理解每一行代码的意义和作用. chaoren1641(超人) ( ) 信誉:100 Blog 加为好友 2007-5-31 1:23:55 得分: 0
很少用VB.NET,感觉C#用习惯了还是C#好前几天帮同事整一个VB.NET的系统,在ASPX页中硬是没搞好显示新闻标题长度,
最后才知道VB中没有?:三元运算,觉得VB有些失败了
-----------
?:好象是没有,不知道有没有其它写法.
我还以为讨论语言强弱问题呢,原来不过是习惯问题
我刚出来混用vbs+vb6,自学过vb.net,但现在主要用C#开发web、AP程序,
vb.net只偶尔用来写个小类库。语言,越了解越喜欢,但不要盲目排他
楼主要学会与时俱进。
而且从趋势和稳定性来看,弱类型和不区分大小写在后期容易造成麻烦。
就算要从VB转过来也不难。
我们要学好软件工程,要学习设计模式,就是学习前人在开发中留下来的经验,我觉得无论做什么类型的开发,学习什么样的语言,都应该花更多的时间去思考怎么样的开发可以减少开发的工作量,这个工作量不是说自己的开发量,而应该是整个项目整个周期整个团队的开发量,那你就会体会到你上面说的这些对比都是C#的长项了.
最后,C#的高级应用方面应该比vb好很多把,vb不会用,不好说;
但是,我可以判断出来,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#没有的只有一个,就是:默认实例
-------------------
你说的是static?我很少用vb.net但是记得可以用shared
_______________________________________________________________________________看到不熟二字有些感慨,不熟焉能评价?偶工作N年,做过UNIX下C\C++的开发,J2EE,现在转向C#,后来又搞了个系统分析师,再后来又马马虎虎混了个头头当当,我也没看出来什么语言好一点什么语言差一点,我只知道我在不同的情况下我需要不同的东西来做.请教一下LZ,怎样才能知道语言的好坏,以什么为标准,也许是我落后了,或是学识太浅了,还没能真正领会或是到达一定的境界吧.多多指教啊.
大学里 用C# 实习时用VB 感觉也是特不爽
呵呵 习惯 了也就那样了
Eray(黑桃六) ( ) 信
-------------------
你说的是static?我很少用vb.net但是记得可以用shared我说的不是static,我知道VB里的shared。
这个静态类的意思是说,所有的成员都必须声明为静态。
public sealed static class Settings
{
//Code Here
}
Continue
Using...End Using
My
IsNot
TryCast(等同于C#的as)
倒是vb.net操作word或excel文面的东西比C#方便。
请大家支持一下
一个小例子 string.trim(),在vs2005中使用vb.net时,直接敲完trim,vs会自动加上(),c#不会。
另外,一些错误一定要在运行时(ctrl+f5或f5)才可以捕捉到,而在使用vb.net时,这种错误无需编译就可以马上了解。
从开发软件的层面上看,我觉得使用vb.net要方便的多。
我是楼主...
现然正在用C# vs2005在写个网站,为了在命名时写上UserName这样的大小写命名,还有不停重复输入的问题不停按SHIFT键,现在小指有点疼了?(先说明,我可不是弱男,只是象我这样的壮汉用小指头用多了还是会累), 这回你们明白了吧,一个C#比VB差的缺点! 你们又可别说SHIFT的布局又是非常优秀.
我是楼主...
现然正在用C# vs2005在写个网站,为了在命名时写上UserName这样的大小写命名,还有不停重复输入的问题不停按SHIFT键,现在小指有点疼了?(先说明,我可不是弱男,只是象我这样的壮汉用小指头用多了还是会累), 这回你们明白了吧,一个C#比VB差的缺点! 你们又可别说SHIFT的布局又是非常优秀.
#####################请楼主搜索匈牙利命名法以及查看代码大全这本书里的相关章节
风格,我以前是搞vc的, 可能是个人喜欢的风格不一样吧
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上的确很多自动完成的功能看起来让人觉得很方便所以都觉得不怎么可靠,其实只是一种心理作用而已吧。
代码看起来一点都不顺眼,一点都不清晰
C#
{
}
一看就知道是什么逻辑
VB
还
if ...
if ... end
end头都大了
haolaiwu(宁愿相信世界上有鬼,也不相信女人那张嘴) ( ) 信誉:100 Blog 加为好友 2007-06-12 09:20:21 得分: 0
最讨厌VB.net
代码看起来一点都不顺眼,一点都不清晰
C#
{
}
一看就知道是什么逻辑
VB
还
if ...
if ... end
end头都大了
Top
............................
有那么严重吗?
~-~
一直都用VB.net;想转可是不爱学习了。
虽然有个isnxxxx什么的跟vb一样,但用法上却不一样,其它的如正则表达式,转换捕捉错误等等都不方便...请楼主搜索匈牙利命名法以及查看代码大全这本书里的相关章节
------------------------------
这个略有所闻,也接手另一个程序员来的一回,但感觉还是不习惯..
.(开发OA,ERP系统的高手并不一定在行web)请问OA不是运行在WEB么?-----------------------OA与普通网站不同的地方是,什么狗屁用户体验,美观,速度,是否省资源之类的,光是说OA许多页面只是显示一个表格样的东西,但一个娱乐网站,你还得拉好几次滚动条才能拉完,上面布满了各种图片,表格什么的..用NET没排好版还变形...这与C#其实无关,但我极少开发OA那类型东西,所以不清楚,只能谈web面向广大网站的网站了. 这不是说C#了,这是NET还真他妈的不好把页面搞漂亮.