This topic has been archived. It cannot be replied.
-
工作学习 / 学科技术讨论 / 不是我有偏见啊,VB.NET有的时候真的很Sucks,就拿C#里面及其常见的Action Delegate操作来举个例子
-binghongcha76(一只大猫);
2010-10-15
{1530}
(#6320709@0)
-
一只大猫写这个贴子,总是等我回贴吧(我就自我感觉一下),老实说,大猫在这发的许多.NET贴子,大部分我都不会,所以我也从中学到很多东西,年龄大了,没那么精力,LINQ及Lambda不是我感兴趣的,回大猫的贴子都是现学现卖。Dim a As Action(Of String) = Sub(s) Console.WriteLine(s)
a("C# stinks")
-tjhong(以后再说);
2010-10-15
{82}
(#6320797@0)
-
这段代码在VB2008下不工作的,没办法,最近接手一个VB2008的项目,越做越生气,有感而发,写了主贴那段心得,其实还有一段,今天补上
-binghongcha76(一只大猫);
2010-10-15
(#6320943@0)
-
如果还是象很久以前,按程序行数计价的话,除了猫哥们,牛哥们,大多数程序员首选肯定还是vb
-c1xwy(洪兴罩俺去战斗);
2010-10-15
(#6320814@0)
-
给你推荐个网站,可以把你的C#程序转换成VB.NET,(对于.NET 3.0以后的东西可能转换后可能有些代码要稍作改动,.NET 3.0前是可以直接用的),看看代码行数有没有变长。
-tjhong(以后再说);
2010-10-15
(#6320827@0)
-
行数有变化,c# 3217 lines => vb.net 2827 lines => c# 2914 lines. vb似乎还少点,在我看来,唯一的优点也没有了。
-c1xwy(洪兴罩俺去战斗);
2010-10-15
(#6320873@0)
-
这个网站用了很长时间了,我现在都是先写好C#在用这个网站转换到VB,呵呵,当然涉及到LINQ这些语法的,这个网站转换会出错,这些代码都是我手写
-binghongcha76(一只大猫);
2010-10-15
(#6321005@0)
-
No. I would select DELPHI
-pr3dat0r(Coder);
2010-10-25
(#6335926@0)
-
一只大猫对VB.NET的攻击简直到了污蔑的地步。Module Module1
Sub Main()
Dim ac As Action(Of String)
ac = Sub(x) Console.WriteLine(x)
ac("VB SUCKS")
End Sub
End Module
原以为很轻松的一种转换,居然没法通过编译,微软VB小组的人难道都是吃shit的?
评:大猫以走在技术前沿著名,就没在VS2010+.NET 4.0上试试?
-tjhong(以后再说);
2010-10-15
{276}
(#6320815@0)
-
Sorry啊,熬夜写的,忘了说一下环境了,测试环境是VB 2008。2010我测过,没问题,微软改正了这些Bug。其实说白了就是VB2008不支持匿名函数,这是一个很大的缺陷
-binghongcha76(一只大猫);
2010-10-15
(#6320931@0)
-
还有,惭愧啊,我真的没走在什么前沿,我说的这些都是.net 2.0时代就已经存在的基础。
-binghongcha76(一只大猫);
2010-10-15
(#6320962@0)
-
那你不如批评 Java 为什么不能像 F# 那样呢
-sowen(昂居居);
2010-10-15
(#6320969@0)
-
没用过Java,也不会。我只是原来猜想.net平台语言之间的一些重大优点应该由每种语言共享,比如你提到的 functional language 的风格,很遗憾,VB2008没有引入这个优点
-binghongcha76(一只大猫);
2010-10-15
(#6320988@0)
-
有时觉得你钻牛角尖里,.NET里定义无数具体的Delegate,我记不住,我也觉得无关紧要,用到就自己来啊。Module Module1
Delegate Sub dePrint()
Sub Main()
Dim myD As New dePrint(AddressOf print)
myD.Invoke()
Console.ReadLine()
End Sub
Private Sub print()
Console.WriteLine("fffffffff")
End Sub
End Module
-tjhong(以后再说);
2010-10-15
{274}
(#6321025@0)
-
MS 的东西都是垃圾
-borg_cn(黄非红);
2010-10-15
(#6320861@0)
-
这个世界上没有真正的垃圾,一切都是看怎么样的人去怎么使用
-sowen(昂居居);
2010-10-15
(#6320940@0)
-
说的对,所以用MS 的产品的人要么是马路天使,要么是环保人士
-borg_cn(黄非红);
2010-10-15
(#6321024@0)
-
我们VB.NET也有C#没有的关键字(With)With testObject
.Height = 100
.Text = "Hello, World"
.ForeColor = System.Drawing.Color.Green
.Font = New System.Drawing.Font(.Font, System.Drawing.FontStyle.Bold)
End With
-tjhong(以后再说);
2010-10-15
{195}
(#6320893@0)
-
With is a long time and widely considered poor programming practice. It obscures the context of the code and reduces readability. It is a legacy from VB6.
-keychain(人间正道是沧桑);
2010-10-20
(#6327375@0)
-
意义不一样吧。以前写 pascal 的时候,写完后整篇程序可以像一篇英语作文,直接从上往下人为可以读下来。我一直觉得VB也是维持那种风格的,但是你要求他们实现 functional language 的风格,就好象一定要用锤来使玉女剑法
-sowen(昂居居);
2010-10-15
(#6320935@0)
-
VB程序员很多都是转行过来的,他们对语言没有太高的要求,搞得太复杂,他们未必接受。
-szs11(不器);
2010-10-15
(#6321049@0)
-
因为主贴提到的一些限制,VB无法提供C#的一些很方便灵活的特性,比如
-binghongcha76(一只大猫);
2010-10-15
{799}
(#6321280@0)
-
Bullshit! Did you ever try this
Dim a As Action(Of String) = Sub(s) Console.WriteLine(s)
a("Test")
-keychain(人间正道是沧桑);
2010-10-20
(#6327367@0)
-
注意语言文明,发言前先把别人的贴子读完。
-tjhong(以后再说);
2010-10-20
(#6327521@0)