您更喜欢在哪个操作系统上编程?客户端或服务器
虽然有一个学派认为,如果您(主要是)进行 Web 编程(或其他基于服务器的代码),您应该为您的开发机器使用服务器操作系统,因为它更接近您的应用程序将运行的环境。
更新:我应该补充一下,这确实是针对 Windows 人群的
您更喜欢在哪个操作系统上编程?客户端或服务器
虽然有一个学派认为,如果您(主要是)进行 Web 编程(或其他基于服务器的代码),您应该为您的开发机器使用服务器操作系统,因为它更接近您的应用程序将运行的环境。
更新:我应该补充一下,这确实是针对 Windows 人群的
好的,我知道您主要是在谈论 Windows,但是...
我曾经在 windows 上开发以部署在 *nix 服务器上。当然,这种工作方式有很多陷阱,但你只是习惯了它。
2005 年 10 月,我切换到 Linux,最初是作为一个实验,但我再也没有回去。有一个陡峭的学习曲线。我认为在处理 *nix 10 年后我已经非常了解它,但与我在台式机上使用它所学到的数量相比,我一无所知。
工作流的开发和部署到类似平台变得更加顺畅。
最近,我们甚至开始挑选运行 Ubuntu 服务器的服务器,以便它们最接近我们的 Ubuntu 桌面开发机器。
如果您在谈论桌面版和服务器版之间的区别,我想您不必担心。如果您在一个操作系统上开发以在另一个操作系统上进行部署,我会考虑更改您的桌面平台。
有一个学派认为,如果您(主要是)进行 Web 编程(或其他基于服务器的代码),您应该为您的开发机器使用服务器操作系统
我认为这更适用于“系统程序员”而不是网络“应用程序程序员”。为什么?深入了解这个平台绝对有很大的价值,就像一个人会日复一日地与操作系统一起生活等等。但不是每个人都可以或应该需要去那里。
虽然我的主要生产环境是 RHEL4,但 Linux 在桌面上不适合我——事实上,它让我发疯。不过,我发现在 OSX 上工作已经足够接近了。而且我只是喜欢在我的 Mac 上工作,而不是在 XP 盒子上工作。
我正在做 Java 的事情,“一次编写,到处运行”的宣传实际上对我有用。:)
更新:我应该补充一下,这确实是针对 Windows 人群的
迟到了一分钟,有点短;)也许你也应该编辑标题......
似乎问题更多是关于是否使用同一操作系统的服务器或客户端版本。所以我的回答是:客户应该没问题。您可以在 Windows、OS X 和 Linux 的客户端版本上开发和测试多种风格的 Web 应用程序。OS X 和 Linux 显然通过预装 Apache 使基于 Apache 的应用程序更容易一些,但是下载 XAMPP 或 WAMPP 也可以迅速将 Windows 机器变成一个可靠的 LAMP 应用程序开发平台。
如果您正在使用 ASP.NET,您的开发工具(如果您使用 Visual Studio 系列中的某些东西)具有内置的测试服务器机制。
因此,除非您有其他需要服务器版本的需要,否则我会坚持使用客户端。钱少了,而且你真的不需要服务器版本。
客户端与服务器操作系统问题仅在 MS 平台上相关。即使在那里,这也取决于您正在开发什么。
据我了解,对于 Sharepoint 开发,您需要一个服务器操作系统来运行您的代码如果您只是在做普通的 ASP.Net 东西,那么这主要是个人喜好。
编辑 正如 Tyler 评论的那样,您可以在 Vista 上运行 MOSS/WSS,但不支持它。或者,您可以在客户端操作系统上开发并在 VM 中的服务器操作系统上运行 sharepoint。
无论您实际谈论的是哪种操作系统,都无关紧要。您可能编写的大多数应用程序都不需要担心差异(如果确实存在的话)。只有在极少数情况下,您可能会使用某些特定功能,这些功能可能仅在您的操作系统的“服务器”版本上可用。
还有其他考虑因素,例如默认情况下调整 Windows 服务器版本以减少对桌面程序的优先级和关注,而更多地关注文件缓存等内容。就个人而言,我总是会选择我选择的操作系统的“客户端”版本。
我个人使用 Windows Vista,但那是因为它是我喜欢的并且我可以很好地使用它。但老实说,这并不重要,你的操作系统应该是你喜欢的东西,并且拥有你需要的工具来提高工作效率。
我想说您的测试环境是您需要尽可能接近生产环境的环境。我在 Vista 上使用 RoR 编写,但在与我的 Web 服务器相同的 Linux VM 设置中对其进行测试,并且在工作中我们有一个安装了 IIS6 的 Win2k3 服务器来测试我们的 .Net 站点,但我使用 IIS7 在 Vista 上进行开发。
我使用 Windows Server 2003 设置为工作站。这是我用了几年的指南。真喜欢它。
这将是一个有点奇怪的答案,但作为工作站(我知道),我是 Windows 2008 和 Hyper-V 的忠实粉丝。基本上我只会在我的工作站上安装类似 Office 的软件,所有的开发都将在虚拟机中进行。
假设没有可用的 Win2k8/Hyper-V,我很乐意接受一些旧的 WinXP(但带有虚拟 PC)。
Hyper-V 允许您从运行的任何 .VHD VM 中获得出色的性能。Virtual PC 和 Virtual Server 都是免费的(就像在啤酒中一样),您可以设置大量基础架构,允许您重新利用虚拟机(即基础机器、差异磁盘、撤消磁盘)。.VHD 也是可互换的,因此您可以重新托管以前喜欢的 .VHD 供其他开发人员在某些虚拟服务器上享受,或者他们可以复制它,重命名虚拟机并享受您准备好的环境一些虚拟PC!
这对于在不到 10 分钟的时间内让团队成员加快速度(环境方面)非常棒。您还可以使用它来非常快速地配置机器,否则这些机器需要数天时间来设置/配置。
别介意从不同操作系统进行测试的更好能力,或者能够使用撤消磁盘回滚更改,虚拟机是救生员!开始虚拟化人!
对于虚拟机/差异磁盘的一些巨大好处,请考虑Andrew Connell 的这篇文章。