Windows开发环境是值得的成本?

我最近从Linux开发转向了Windows开发。 和我一样的Linux爱好者,我不得不说–C#是一种美丽的语言,Visual Studio非常棒,现在我已经给自己买了一个轨迹球,我的手腕已经不再因为使用鼠标而受到伤害。

但有一件事我不能过去:成本。 Windows 7,Visual Studio,SQL Server,Expression Blend,ViEmu,Telerik,MSDN – 我们正在为项目中的每个开发人员讲数千次! 你一定会为你赚钱 – 我的问题是,这是值得的吗? [并不是每个开发人员都需要上述所有工具,但是您是否听说过有人在没有Visual Studio的情况下编写C#代码? 我曾经在Linux上做过非常大的软件项目,而无需为任何开发工具付费。]

现在很明显,如果你已经是Windows商店,那么再培训你所有的开发人员是不值得的。 而如果你正在寻找开发一个Windows桌面应用程序,你不能在Linux中这样做。 但是,如果你开始一个新的Web应用程序项目,并可以雇佣任何你想要的语言的开发人员,尽pipe成本高,你仍然会selectWindows作为开发平台吗? 如果是,为什么?


更新:我不打算开始任何论点。 我从答案/评论中获得了一些有价值的见解:

  1. 在Windows中设置开发环境的成本不一定非常高。
  2. 与开发者本身的成本相比,开发环境的成本实际上只是一滴水。 (尽pipe这对小公司或自由程序员没有帮助)。

与你在开发者身上花费的东西相比,这些工具的成本是微不足道的 。 例如,您提到的大多数工具都包含在带有MSDN的Visual Studio Professional中 ,每年运行约800美元。

那么真正的问题是,你是否从这个成本中获得任何收益。 这很难回答,我怀疑取决于你的开发者和你开发的软件types。 因此,不可能一揽子答复。 然而,从雇主的angular度来看,两者之间的差别并不大。

微软提供许多免费的Visual Studio和SQL Server高级版本,甚至可以在商业上使用。 在DreamSpark等程序中,学生可免费下载Visual Studio 2010 Professional(完整版!),所以并不是说你需要花费数十万来开发Windows应用程序。

像SharpDevelop这样的其他IDE也可以免费使用,但是它们并不像Visual Studio那么棒。 但是,即使使用快递版本,也可以提高生产力。

MSDN库也是免费的。 我不能说Telerik控制是否合理,因为我从来没有觉得需要使用它们。

成本可能不如您想象的那么高(取决于许多因素)。 有BizSpark程序,也有可用的Visual Studio,SQL Server等的“快速”版本。

以Windows 7为代价,您可以使用Visual Studio Express,SQL Server Express来创build您的应用程序。 当然,这个版本比“更大”的版本具有更less的特性,但是具有编译器,智能感知和许多其他function,使得它们成为可靠的select。

既然你提到Blend,我想你对WPF感兴趣,我不认为Mono的select是完全成熟的。

自2002年以来,我一直是桌面和Web应用程序的全职.NET / C#开发人员,而且您列出的价格昂贵的项目中,唯一一个我曾经作为专业开发人员付钱的人是Visual Studio。

当前版本的Windows的成本实际上与新PC的成本是分不开的。 SQL Server Express是免费的,几乎可以满足所有与开发有关的数据库需求。 不需要或使用Expression Blend。 ViEmu? 我没有机会为vi这样糟糕的事情付出代价。 我已经能够得到没有使用任何从Telerik的任何东西。

购买Visual Studio的副本远不是在考虑生产力提高时对工具的非凡投资。

那么它总是取决于你的项目的具体情况,但在某种程度上,它不会没有,可能不是一个Web应用程序。 有很多人可以编写HTML / CSS,Javascript,SQL和至lessPHP,Python或Perl之一,所以开发人员应该是相当丰富的。 有一大堆的框架,库和免费的代码,你可以用你喜欢的任何组合,没有美元,每月没有美元。

就IDE而言,如果你正在考虑雇用在IDE之外工作的Web和Web应用程序开发人员,你可能会在开发者看来是错误的。 如果你不能没有IDE,那么Eclipse是可以的,假设你有一些非常好的dev boxen,但是我必须说我遇到的最好的代码忍者都使用emacs或者vim!

此外,在具有无限虚拟桌面和适当的命令行的系统上进行编码也是非常好的。 话虽如此,我听说MS在过去几个版本中已经取得了一些进展,所以现在可能会更加一致。 我不愿意开始在Windows上编写一个大型项目,但不确定是否有良好的构build或tail,grep,systemtap / dtrace等可用。

有趣的是,尽pipe最后一个Web应用程序,我不得不做的主要是在Windows中,因为它是基于Flash的。 闪存的IDE是纯粹的痛苦,但幸运的是大部分的donkeywork是在课堂上,所以我得使用可爱的记事本++的大部分,无论如何,这与我们的MS工具链的价值的讨论并不真正相关,所以我会移动沿!…

最重要的提示,如果你在Linux上工作后在Windows上开发,一定要安装Kat-Mouse和一个像桌面电脑一样的“Always-on-top”程序,否则你可能很快就会破解你的开发机器!

你在这里混合两个问题。

如果我正在指定一个新项目(对于我自己),我是否会使用Windows平台?

作为目标? 是。 作为发展的平台? 没有。

如果我正在指定一个新项目(对于我自己),我会selectC#作为我的语言吗?

是。 明确地。 Mono项目有一套很棒的工具,可以用来构buildDesktop,Silverlight和Web应用程序。 Web应用程序在Apache中运行,所以你可以坚持使用所有常见的开源工具。

如果你做的事情正确,你甚至可以在Linux上使用Mono来将Windows客户机作为桌面应用程序的目标(使用Mono包含的Windows.Forms的子集)。

如果我正在指定一个新项目(对于一家公司),我会selectWindows平台吗?

是。 所获得的生产力是值得的额外成本。 微软还有几个程序,如BizSpark ,旨在降低Windows平台开发的入门成本。

我认为这是一个很好的问题! 主要是因为你没有做出判断就问了。 以下是我的一些想法:

Visual Studio和所有的工具都相当不错。 这是相当昂贵的,但有来自微软的程序可以帮助这些成本。 例如,在较小的商店中,您可能会考虑使用TechNet订阅。 或者像BizSpark一样来自微软的许多小型企业帮手程序之一。

你雇用的许多.Net开发者将要求或要求Visual Studio,并且有充分的理由! 他们已经使用了很多年,他们对此感到满意。 所以要为此做好准备。 不是每个人都会这样,但大多数会这样。 他们知道他们的工具,并使用他们的工具。

这就是说C#和.Net开发仍然只是文字:)我个人使用VIM的.Net开发,因为我觉得很多在Visual Studio中的工具刚刚得到了我的方式。 我有一些颠簸,我仍然使用Visual Studio的一些时间,因为它有我需要的东西。 这是我使用的一个很好的资源: c#与Vim博客文章

所以我会说,尝试两种方式,并开放思想:)这是一个伟大的语言和很多乐趣尝试。

为了回答这个问题,我认为这是值得的+1,近年来,随着Express版本的出现,Microsoft开发者堆栈已经降低了成本,因为在Visual Studio 2003之后,我们正在讨论Visual Studio 2005,快速版本开始出现,以增加Visual Studio的渗透到更广泛的受众,使用一个裸骨头的版本,给更广泛的观众更多的学习Visual Studio环境,并反映在专业贸易的欣赏。

现在你可以订阅Dreamspark,如果你是一个学生,并提供你的学生ID检查专业版的利用。 对于那些希望在互联网上推出微软平台的企业,使用BizSpark计划的企业也是如此。

你的问题或多或less集中在Visual Studio之外的附加内容, 请注意,我不是在谈论MSDN事实上,这是一个非常重要的部分,因为它是一个知识雷区的gem,知道什么等 -现在可以免费获得 ),这可以归结为这一点 – 只使用工具来完成工作 ! 对于一个专业的开发者来说,开始这些额外的事情是没有意义的,因为他们几乎没有真正的区别,并不孤单,非常难以打开他们的钱包和银行账户,这更是一个徒劳的行为!

你在这里讨论的那些额外的东西,像Telerik那样的额外的东西,让我们直接得到一个点,确定它可以给你的应用程序添加一个漂亮的脸蛋,但是谁在乎呢? 只要你使用可视化工具来绘制界面,添加事件处理程序,添加逻辑,testing和debugging,你会意识到这些额外的东西并不是真的值得,即使最终用户不会在意如果只要最终用户简单而有效地完成工作,它就有一个界面漂亮的眼睛。

现在,在过去的几年里,我们看到了Mono的实力在增长,并且符合.NET 2的标准,我不是Mono的传播者,也没有看到它并尝试过,确定你可以拼凑一个应用程序来使用运行在Linux上的Mono ,也许是一个与MySQL通信的后台,将结果传递给一个简单的Windows窗体,让我强调一下,作为一个开发人员你将有select和自由地这样做。 也许,在工作时间之外作为兼职工作,去调查和学习。 当然,WinForms在Linux上有些合理,但是不要依赖Win API调用,因为这会在GUI应用程序的上下文中产生未定义和意外的行为,如果它是纯粹的没有DllImport的WinForms,那么很可能会在Mono下工作。

当然,如果有SharpDevelop,MonoDevelop,Mono for Windows等版本的话,你不一定会被绑定到Visual Studio平台上,你需要长时间思考,看看它是否值得,在使用Visual Studio Express版本来做到这一点,甚至使用SharpDevelop。

简而言之,只要您只使用工具完成工作 ,就可以调查您的select!

我将尽我所能在这里客观。 让我们从一些背景开始。 我做了一些偶尔的VBA和VB脚本工作,但这是非常罕见的。 我还没有和最近的MS dev stack一起工作,但几年前一直使用它。 从那时起,我主要转向使用PHP和Ruby on Rails。 我是从Windows开始的,因为这是我所熟悉的。 在过去的几年中,我曾经和一群正在使用Ruby on Rails和PHP进行开发的人聊天,有一件事让我觉得这是一种事实,即遇到C#或VB(.net )街上的开发者。 当我这样做的时候通常是一个不太好的人。 也许这是一个区域性的事情。 也许.NET人员住在9-5开发人员洞穴里,并且只在一年中的某些时候出现。 我不知道为什么,但它是。 .NET人,特别是好人,很难find这个事实,这个线程上没人讨论过这个代价。 有人提到这样一个事实,那就是那些依靠IDE来发展的人可能不是那些支持这种随机假设的最好的人。

不要误会我的意思 – 我不支持PHP或Ruby on Rails,因为最终都是这样。 我在这里说的是,人的成本是一个很大的成本。 如果您正在使用那些可以说并不总是城里最犀利的人的首选工具,那么工具的好处可能就不那么重要了。 如果你有一个更大的团队,那么工具集的额外成本可能会更好地花费在团队中的更有竞争力的奖金或工资上。 同样,这也支持你想要最好的团队,你可以先得到的想法。

所有这一切都假定你可以从一开始就select你正在做的事情。 如果你不这样做的话,MS开发者社区里有一些非常有用的工具。 也有像VMWare服务器这样的平衡Windows / Linux鸿沟的工具。 一个拥有良好工具的聪明团队将会很好地完成工作。

除了关于结果质量的争论之外,与那些习惯于使用VS的开发人员相比,开发人员更喜欢在Linux上工作的开发人员,他们可以更容易地填充新开发人员的开发职位。

获得Windows开发计算机设置的成本在事情的macros伟计划中并不是那么好。 假设它的成本是$ 10,000(可能太高了)(为了得到所有的软件而不是开源的$ 0,假设硬件的成本是相同的),我想说你的select将取决于你的开发者更多可以find,如果你的项目经理熟悉并喜欢Windows,那么你愿意花更多的四五万美元(假设一个四五人的团队)来获得他/她感到满意的东西吗?与他们的薪水相比以及其他的就业成本,5万美元并不是很多,如果你没有钱投资,这显然会改变。

  1. 在Windows中设置开发环境的成本不一定非常高。
  2. 与开发者本身的成本相比,开发环境的成本实际上只是一滴水。 (尽pipe这对小型创业公司或自由程序员没有帮助)。

你到达那里,但我不认为你真的有照片:

* 1 Visual Studio Express版本免费用于商业开发。 VS Express可能被称为“Express”,但它们比我在开源社区能find的东西(至less是我的需求)更好。 还有很多其他的免费工具,所以你可以解决快速版本的一些限制(例如,源代码pipe理没有集成,但是在你的项目文件夹中设置一个Git仓库也很容易)

如果你想在Windows上继续使用C#的开源IDE,你可以使用SharpDevelop或者MonoDevelop(有一个Windows版本),但是我发现它们都不如VS Express版本。 (有一段时间没有检查过,事情可能已经改变了)。

所以实际上,build立一个基本的Windows开发环境并不便宜,它是免费的。

我是一个用C#编写小型项目的普通人。 Express版本充分满足了我的需求,我现在正在考虑使用BizSpark的完整版本https://www.microsoft.com/BizSpark/Startup/Signup.aspx

* 2你在这里失踪的是BizSpark。 BizSpark是微软初创企业。 如果你的初创年龄不足3岁,产生的收入less于100万美元,私人拥有,微软将会给你一个完整的Windows开发环境的下载,包括几乎所有的东西(VS Pro,所有SQL版本,MSDN溢价,Vista ,XP,Windows Server,Ms office,SDKs …他们甚至会提供一些免费的技术支持)。 这持续3年。 当你退出程序,你必须支付100美元,除了订阅,你将保持一切。 (另外,非开发产品的许可只允许作为开发过程的一部分使用,而不是定期使用)

换句话说,如果你是一个小型的初创公司,你会得到一切,当你退出这个计划时,你将花费你100美元。

开发Windows并不是一个昂贵的命题,而且工具非常好。 微软可能会有很多东西,但是愚蠢的不是其中之一。 他们知道他们的业务主要依赖于开发的生态系统,并且使得人们很容易开发Windows。