我问这个问题是因为我在一家拥有 70% 到 75% VB.NET 开发人员社区的公司工作。我会说 80% 的开发人员不知道 OOD 模式是什么。我想知道这是否对我公司的发展工作的健康发展是最好的?
我正在查看标签计数:
https://stackoverflow.com/tags
目前有:
12175 个 .NET 问题
18630 个 C# 问题
2067 VB.NET 问题
查了一下亚马逊,好像有:
51 本 C# Wrox 书籍
21 本 VB.NET Wrox 书籍
在 CodePlex 上有:
979 个项目标记为 C#
136 个项目标记为 VB.NET
如果您想成为一名 VB.NET 开发人员,可以学习的 Material 肯定更少。 公司在 VB.NET 上标准化并雇用 VB.NET 开发人员有什么优势?微软如何回答这个问题?
只有两个参数:
如果您在一家完全标准化 VB.NET 的公司工作,您能否发布一个答案来解释他们做出该选择的实用或技术原因?
更新:
更多统计 - O'Reilly 雷达
State of the Computer Book Market 2008, part 4 -- The Languages
最佳答案
我们在 VB.Net 上没有标准化,我经常不得不在 VB.Net 和 C# 之间来回切换。我很不寻常,因为我有 C/C++ 背景,知道 C#,但实际上更喜欢 VB.Net(我非常不喜欢 vb6/vbscript)。
我说这一切是因为重要的是要记住 VB6 不是 VB.Net。这是一种全新的语言,IMO 确实值得站在 C# 旁边。我真的很讨厌 vb6,但我几乎立刻就爱上了 VB.Net。然而,VB.Net 确实从 VB6 继承了一些东西,而不仅仅是语法风格。我说的是声誉,这并不完全应得。但我也在谈论帮助创造这种声誉的开发人员基础。这似乎是您正在经历的事情的一部分。
考虑到这一点,您似乎主要根据受欢迎程度来判断语言。并不是说这有什么问题。更容易找到样本和社区支持的能力值得一提。但我们至少可以调用它是什么。如果这是您的衡量标准,肯定有 足够 支持 VB.Net 使其可行,并且利用 C# 示例并不难。
此外,我们仍在使用我工作的 .Net 2.0。对于 2.0,我绝对更喜欢 VB.Net。我更喜欢它的语法,也喜欢它在 C# 上做一些其他事情的方式。但我在家里玩 Visual Studio 2008。在 2008 年,我真的更喜欢 C# lambda 表达式语法。
关于你的两个论点:
我想补充一点:最近的一些 C# 功能似乎实际上是为了让 C# 更像 VB。静态类填充了 vb 模块的概念空间。 var 关键字使变量声明看起来更像 VB。即将推出的动态关键字将允许 vb 风格的后期绑定(bind)。甚至属性,可以说是在 1.0 中“添加”到 c# 中的东西,也是 vb 在 .Net 之前就已经拥有的东西。
关于c# - VB.NET 开发人员是否不那么好奇? VB.NET 标准化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/783512/
作为我的Rails应用程序的一部分,我编写了一个小导入程序,它从我们的LDAP系统中吸取数据并将其塞入一个用户表中。不幸的是,与LDAP相关的代码在遍历我们的32K用户时泄漏了大量内存,我一直无法弄清楚如何解决这个问题。这个问题似乎在某种程度上与LDAP库有关,因为当我删除对LDAP内容的调用时,内存使用情况会很好地稳定下来。此外,不断增加的对象是Net::BER::BerIdentifiedString和Net::BER::BerIdentifiedArray,它们都是LDAP库的一部分。当我运行导入时,内存使用量最终达到超过1GB的峰值。如果问题存在,我需要找到一些方法来更正我的代
给定这段代码defcreate@upgrades=User.update_all(["role=?","upgraded"],:id=>params[:upgrade])redirect_toadmin_upgrades_path,:notice=>"Successfullyupgradeduser."end我如何在该操作中实际验证它们是否已保存或未重定向到适当的页面和消息? 最佳答案 在Rails3中,update_all不返回任何有意义的信息,除了已更新的记录数(这可能取决于您的DBMS是否返回该信息)。http://ar.ru
我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当
是的,我知道最好使用webmock,但我想知道如何在RSpec中模拟此方法:defmethod_to_testurl=URI.parseurireq=Net::HTTP::Post.newurl.pathres=Net::HTTP.start(url.host,url.port)do|http|http.requestreq,foo:1endresend这是RSpec:let(:uri){'http://example.com'}specify'HTTPcall'dohttp=mock:httpNet::HTTP.stub!(:start).and_yieldhttphttp.shou
这个问题在这里已经有了答案:Checktoseeifanarrayisalreadysorted?(8个答案)关闭9年前。我只是想知道是否有办法检查数组是否在增加?这是我的解决方案,但我正在寻找更漂亮的方法:n=-1@arr.flatten.each{|e|returnfalseife
我有一个包含多个键的散列和一个字符串,该字符串不包含散列中的任何键或包含一个键。h={"k1"=>"v1","k2"=>"v2","k3"=>"v3"}s="thisisanexamplestringthatmightoccurwithakeysomewhereinthestringk1(withspecialcharacterslike(^&*$#@!^&&*))"检查s是否包含h中的任何键的最佳方法是什么,如果包含,则返回它包含的键的值?例如,对于上面的h和s的例子,输出应该是v1。编辑:只有字符串是用户定义的。哈希将始终相同。 最佳答案
我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm
我需要检查DateTime是否采用有效的ISO8601格式。喜欢:#iso8601?我检查了ruby是否有特定方法,但没有找到。目前我正在使用date.iso8601==date来检查这个。有什么好的方法吗?编辑解释我的环境,并改变问题的范围。因此,我的项目将使用jsapiFullCalendar,这就是我需要iso8601字符串格式的原因。我想知道更好或正确的方法是什么,以正确的格式将日期保存在数据库中,或者让ActiveRecord完成它们的工作并在我需要时间信息时对其进行操作。 最佳答案 我不太明白你的问题。我假设您想检查
我的日期格式如下:"%d-%m-%Y"(例如,今天的日期为07-09-2015),我想看看是不是在过去的七天内。谁能推荐一种方法? 最佳答案 你可以这样做:require"date"Date.today-7 关于ruby-检查日期是否在过去7天内,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/32438063/
这里有一个很好的答案解释了如何在Ruby中下载文件而不将其加载到内存中:https://stackoverflow.com/a/29743394/4852737require'open-uri'download=open('http://example.com/image.png')IO.copy_stream(download,'~/image.png')我如何验证下载文件的IO.copy_stream调用是否真的成功——这意味着下载的文件与我打算下载的文件完全相同,而不是下载一半的损坏文件?documentation说IO.copy_stream返回它复制的字节数,但是当我还没有下