通过Linux或Solaris等Unix方言开发时,Windows/Microsoft作为平台可以获得任何技术优势吗?
我知道公司有时会选择微软,因为根本没有足够的程序员可以了解Unix,或者这些程序员的聘用成本要高得多.
因此,假设所有开发人员同样熟悉Unix和Microsoft,那么您是否还有更好的在Windows中开发的情况?
我不在乎:
.NET(尽管单声道非常棒)
Visual Studio - 可能是最好的IDE
优秀的文档(在我看来,MSDN Library比人工页更友好)
庞大的用户群(这更像是一个商业用途,但仍然是一个非常重要的因素)
二进制兼容性(支持4-5内核和标准C库版本比在Linux发行版中找到的无限数量的组合容易得多)
对我来说,使用Windows作为开发平台只有两个论点:
你必须这样做,因为你正在进行.Net/Windows开发(或者因为公司根本没有选择); 要么
这些应用程序,特别是Microsoft Office/Exchange.对不起,OpenOffice与Word/Excel相比非常糟糕.
除了imho Linux还有其他所有优势,包括:
更快的文件系统(在处理大量小文件时尤其重要).去年我通过这个开关(相同代码库的ant构建)从8-10分钟的构建时间到2-3.
通常,您的开发环境会匹配您的生产环境(如果您的生产环境是Windows,那么您的开发环境将几乎可以保证Windows),这可能很有用.由于JBoss在Windows和Linux之间的差异,我们遇到了Java类路径可见性的问题; 和
一组更好的命令行工具(是的,我知道你可以使用Cygwin等,但它不是那么好).
这就是为什么我发现Mac作为我的下一个开发工作站如此令人赞叹的一个原因:你可以把它看成是带有应用程序的Unix(即Office)或带有不错的文件系统的Windows(如果/当OSX采用ZFS时会更好)无论哪种方式,它都是一场胜利.唯一真正让我失望的是,苹果公司做了一些愚蠢的事情,比如推迟Java 6发布一年,这样他们就可以把Leopard外观和感觉放进去了.
您可以做的最好的事情之一是保持您的选择.切割平台独立技术,您将能够拥有任何操作系统或实施的软件.从技术角度来看,这既有意义,也有商业意义.
至于Windows平台的特定技术优势,除了大型开发人员社区和开发信息存储以及像Visual Studio这样广泛支持的IDE之外,我会说你很难找到它.即使在那里,Eclipse也可以通过平台独立技术做得很好.