选择 Windows 而非 Unix 作为开发平台的优势

2024-06-19

相比 Linux 或 Solaris 等 Unix 方言,Windows/Microsoft 作为开发平台有什么技术优势吗?

我知道公司有时会选择 Microsoft,因为根本没有足够的了解 Unix 的程序员,或者雇用这些程序员的成本要高得多。

因此,假设所有开发人员都同样了解 Unix 和 Microsoft,是否仍然存在在 Windows 中进行开发会更好的情况?


对我来说,使用 Windows 作为开发平台只有两个理由:

  1. 你必须这样做,因为你正在进行 .Net/Windows 开发(或者因为公司根本没有给你选择);或者
  2. 应用程序,特别是 Microsoft Office/Exchange。抱歉,与 Word/Excel 相比,OpenOffice 实在是太糟糕了。

除此之外,恕我直言,Linux 还有其他所有优势,包括:

  • 更快的文件系统(在处理大量小文件时尤其重要)。去年,通过这个开关,我的构建时间从 8-10 分钟缩短到 2-3 分钟(相同代码库的 ant 构建);
  • 通常,您的开发环境与您的生产环境相匹配(如果您的生产环境是 Windows,那么您的开发环境几乎可以保证是 Windows),这可能很有用。由于 Windows 和 Linux 上的 JBoss 之间的差异,我们在 Java 类路径可见性方面遇到了问题;和
  • 一套更好的命令行工具(是的,我知道你可以使用 Cygwin 等,但它不是那么好)。

这就是为什么我认为将 Mac 作为我的下一个开发工作站的想法如此吸引人的原因之一:您可以将其视为具有应用程序(即 Office)的 Unix 或具有良好文件系统的 Windows(如果/当 OSX 采用 ZFS 时会更好) ,无论哪种方式都是胜利。唯一真正让我反感的是 Apple 做了一些愚蠢的事情,比如将 Java 6 的发布推迟一年,这样他们就可以加入 Leopard 的外观和感觉。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

选择 Windows 而非 Unix 作为开发平台的优势 的相关文章

  • C语言中什么情况下需要释放内存?

    我可能被误导了 但据我所知 操作系统会在程序退出或崩溃后清理内存 如果是这样 在程序结束时释放内存有多大用处 我知道 如果程序正在运行并且忽略释放 内存可能会变得 满 但是如果程序已经要结束并且操作系统释放了程序使用的所有内存 那么手动释放
  • Go (golang),Windows 上的文件 uid

    是否可以在 Windows 上获取文件的 UID 所有者 我尝试使用FileInfo Sys 但它只适用于Linux 我真的很困惑这个问题 不知道如何获取 UID 第一个问题是 Windows 本机支持文件 目录所有权的文件系统没有 所有者
  • zlib.gzip 对于不同操作系统上的相同输入产生不同的结果

    以下代码 在 Node js v0 10 28 上 var zlib require zlib var buf new Buffer uncompressed zlib gzip buf function err result consol
  • 如何以编程方式获取 vmmap 中显示的信息?

    任何看过 Mark Russovich 演讲 揭示内存管理之谜 的人都知道 vmmap 工具可以向您显示与进程限制 普通 32 位 Windows 上为 2GB 相关的内容 而其他工具似乎很少了解这些内容 我希望能够以编程方式监控我的rea
  • 产生并处理软件中断

    有人可以告诉我如何在Linux下生成软件中断然后用request irq处理它吗 或者也许这是不可能的 您可以使用软中断来代替 您可以通过编辑 include linux interrupt h 来定义您的 sofirq 然后使用函数 ra
  • Django Book 平台可用吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 The 姜戈书 http www djangobook com en 1 0 有一个简洁的内容发布模板
  • 为什么x86分页没有特权环的概念?

    早在 1982 年 当 Intel 发布 80286 时 他们在分段方案中添加了 4 个特权级别 环 0 3 由全局描述符表 GDT 和局部描述符表 LDT 中的 2 位指定 在 80386 处理器中 Intel 添加了分页功能 但令人惊讶
  • saber sd 如何在没有 SPL 的情况下直接从 uboot 启动

    sabre sd 基于 imx 6 最大内部 RAM 约为 150Kb 然而 uboot 足够大 可以容纳在这个空间中 在这个场景中事情是如何进行的 https community freescale com docs DOC 95015
  • 从 Java 应用程序读取的文件是否会调用系统调用?

    我的理解是 请求文件系统路径 例如 aFile 的用户应用程序将调用文件系统并获取所请求文件的虚拟地址 然后应用程序将尝试以该地址作为参数 即作为 CPU 指令 进行读 写操作 执行读取命令时 内存管理单元会将该地址转换为物理地址 并查看页
  • 如何检索 iPhone 的区域设置

    我用谷歌搜索过它 但令我有点惊讶的是我找不到它 我只想访问设备配置的区域设置 我试图找到如何列出所有系统属性 以防我能在那里找到区域设置 但甚至找不到如何做到这一点 我知道 认为 我之前检索过系统属性 但我也记得在谷歌搜索时找到该信息并不容
  • 内核开发和 C++ [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 从我know https stackoverflow com questions 580292 what languages are windo
  • Windows CE 与嵌入式 Linux [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 现在我确信我们都清楚 Linux 与 Windows 桌面的相对优点 然而 我对嵌入式开发世界的了解却少得多 我主要对行业解决方案感兴
  • 可用的最简单的操作系统是什么? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有哪些小型开源操作系统 我正在寻找比 Puppy Linux Feather Linux DSL 等小
  • 检查 Linux 中给定进程的打开 FD 限制

    我最近有一个 Linux 进程 泄露 了文件描述符 它打开了文件描述符 但没有正确关闭其中一些文件描述符 如果我对此进行监控 我就可以提前得知该过程已达到其极限 有没有一种很好的 Bash 或 Python 方法来检查 Ubuntu Lin
  • C 文件 I/O 操作如何在底层处理?

    扩展标题 我想知道操作系统如何处理 fwrite fread fopen 和 fclose 等函数 实际上什么是流 抱歉 如果我不够清楚 顺便说一句 我正在使用 GNU Linux Ubuntu 11 04 对我想问的问题有更好的解释 我想
  • 软件堆栈和操作系统有什么区别?为什么Android不是操作系统而是软件堆栈?

    Android 是一个软件堆栈 但不是一个操作系统 正如developer android com所述 什么是安卓 Android 是一个适用于移动设备的软件堆栈 包括操作系统 中间件和关键应用程序 这 Android SDK 提供了开始开
  • (nasm x86实模式)如何在引导加载的扇区中写入/读取字符串?

    我正在使用 NASM 为 x86 实模式编写一个最小操作系统 用于教育目的 我想使用 512 字节引导扇区加载包含操作系统其余部分的更大扇区 我已经成功创建了一个加载另一个扇区的引导扇区 但我似乎无法在加载的扇区中写入 读取字符串 这是我的
  • 如何在线程创建和退出时调用函数?

    include
  • 使用os.execlp时,为什么`python`需要`python`作为argv[0]

    代码是这样的 os execlp python python child py other args this works os execlp python child py other args this doesn t work 我读过
  • 内容类型与 MIME 类型

    有人可以向我解释 Content Type 和 MIME 类型之间有什么区别吗 我在网上找不到明确的答案 如果Content Type通常在浏览器内部使用 操作系统使用 MIME 类型吗 In Content Type text plain

随机推荐