【问题标题】:Can Windows gurus work efficiently on the Linux development platform?Windows 大师能否在 Linux 开发平台上高效工作?
【发布时间】:2009-05-06 18:23:04
【问题描述】:

假设我找到了一位拥有 10 年以上经验、出色的 C/C++ 技能和出色的参考资料的 Windows 开发人员,他是一位多才多艺的程序员 gets things done。我可以聘请他在 Linux 平台上进行开发并期望他在几周内高效地进行生产吗?还是从开发环境和日常工作中使用的所有常用工具来说,门槛太高了?这个人要克服的主要障碍是什么?

注意,这是一个一般性问题,我基本上假设典型的 Windows 和 Linux 环境(Visual Studio 与 Eclipse 或 EMACS、添加/删除程序与 apt-get、对话框向导与命令行等)

【问题讨论】:

  • 在评论区提醒这样的事情有什么难的? (别打扰,这是一个反问)。
  • 要记住在没有明确可能答案的情况下提出问题有什么难的,比如像这样的民意调查、社区维基?

标签: windows linux development-environment


【解决方案1】:

这真的取决于很多因素。

一个真正优秀的开发人员将能够很快地学习他们需要知道的一切。主要语言相同。

但是,根据您在 Linux 上开发的内容,可能需要克服一些主要的学习曲线。

几个例子:

  • 整个操作系统的 API 都不同。
  • 如果您使用任何大型库,则该库将有一个学习曲线。
  • 如果您使用的是更传统的 unix 构建系统,则(可能)在使用这些系统与在 Visual Studio 等 IDE 中工作的正常“Windows 方式”之间存在学习曲线。

我认为期待有一个完美的开发者。在 2 周内可能有点雄心勃勃 - 但如果他们做得很好,他们会很快变得富有成效。

【讨论】:

    【解决方案2】:

    不久前我就是这样的开发者(但我确实有一些 *nix 经验)。

    就我个人而言,我发现最初的过渡非常容易。有足够的工具可以满足您至少要进行编码所需的一切。第二阶段非常困难 - 为我正在做的事情找到准确的正确工具,以及如何使用这些工具。我一个人被扔进了这个特定的项目,所以除了谷歌我没有其他人可以问,而且学习键盘快捷键以及新的 IDE 和编译器开关之类的东西确实需要很长时间。

    当时我觉得,如果有人问我问题,整个事情会花费更少的时间。

    这么长的回答简短:我认为任何优秀的程序员都不会在简单的事情上遇到麻烦,但要确保经常以友好的方式告知新开发人员,其他人都在那里帮助回答问题。

    【讨论】:

      【解决方案3】:

      我多次尝试切换到 Linux/Unix。我基本上可以找到解决方法并进行开发[如果我有 Mono]。现在,我可以在短时间内对几乎任何盒子的基本用户要求同样高效,但如果你希望我能够弄清楚所有安装、配置和所有其他东西系统维护那么短的时间,我敢说我会在两个星期前把头发全部拔掉。总是有人会要求我做一些我在 Linux/Unix 中不知道做的事情,最终会切换回 Windows,因为我可以在短时间内轻松完成。

      我会说,如果他们有其他人要问问题,那当然是小菜一碟。如果你期望他们能够作为一个自我启动者一举成名,那是值得怀疑的。

      【讨论】:

      • 这很重要。一个好的开发人员将能够生成代码,但是 env 的系统管理方面最初将是一个减慢因素。
      • @Preet 此外,系统管理员方面通常也是开发的一部分。 IIS 到 Apache; SQL Server 到 MySQL; ASP.NET 配置到 PHP 配置; Visual Studio 到 Vi/Vim/Emacs/Whatever。所以你基本上也必须重新学习你的大部分工具集,这无济于事。
      • 编码就是编码,跨平台都是一样的,一开始就受到平台差异的极大阻碍。
      【解决方案4】:

      优秀的开发人员在任何平台上都会表现出色。这可能需要他一点时间,但如果他是那种“把事情做好”的人,他应该能够跟上进度并为项目做出积极的贡献。

      【讨论】:

        【解决方案5】:

        我认为是的,但您可能需要耐心等待更长的启动时间。一个想法:给他一个 Windows 机器,里面运行一个 Linux 虚拟机(反之亦然),所以如果他遇到了在 Linux 中无法快速完成的事情,他可以切换到 Windows 来完成该特定任务,直到他成为更精通Linux方面。这可能会减轻一些 Windows 用户在切换到 Linux 时的一些“分离焦虑”。将其视为“带有训练轮的 Linux”。

        好的程序员就是好的程序员,而且很难找到。如果你愿意,你可以让它工作。

        【讨论】:

          【解决方案6】:

          如果他真的是一位大师,我会说是的。许多研究表明,一个优秀的程序员每天所产生的有用工作量是普通程序员的 10 倍以上。真正的大师可能会产生 100 倍的产量。

          因此,如果要在 WIndows 专家和普通 Linux 人员之间进行选择,我会选择任何一天的专家。

          【讨论】:

            【解决方案7】:

            为什么你不能聘请一位 Linux 大师呢?

            有趣的是,有多少人来宣称“是的,他可以”。

            为什么没有人问他是否愿意?

            【讨论】:

            • 如果他不愿意,他不会申请这份工作,或者他会拒绝。
            • 我认为我很幸运能找到大师,这个问题是关于我是否可以利用“大师”而不管与工作站相关的经验。
            • 我一直认为大师们不会申请工作,而是被雇主追捕。所以他是否想要它的问题是。
            【解决方案8】:

            毫无疑问,Windows 大师(如果这是真的)可以处理 Linux 的东西。

            您唯一应该问自己的是,您有多少时间 4 这个项目,因为您不能指望从未在 Linux 中开发过的人会像在一段时间内这样做的其他人一样快。

            如果你有能力让男人有时间采取跑步姿势,你应该给他一个机会。

            【讨论】:

              【解决方案9】:

              我认为这取决于。如果你拿走一个人的 Visual Studio,你就会把他的工作效率减半。如果您使用命令行编译器在 emacs 中做所有事情,那么您可能只是减少了他一半的生产力。现在,随着时间的推移,随着他变得更加熟悉,其中一些内容会逐渐增加,但您几乎可以打赌,如果没有 IDE,这位大师将永远不会在 Linux 上如此高效。

              【讨论】:

              • 我在这件事上叫恶作剧。没有“大师”依赖 IDE 来实现其 3/4 的工作效率。
              【解决方案10】:

              如果我还记得回到青铜时代,当我在 Unix 上学习编程时,我使用的技术是一次尽可能接近地学习一个东西。在我对 C 已经相当熟悉之前,我没有学习 vi。然后我学习了 make,然后学习了 Unix API。最终,我只是在需要知道的时候才学习需要知道的东西,但花了几个月的时间。

              至少你说的那个人精通 C 和 C++。如果他不想处理 vi 或 Emacs 并制作,请给他买一个不错的 IDE。那么最大的问题是正在使用的 API;他们可能需要一些时间来内化。并确保有人来回答简单的小问题,并在一段时间内做一些较小但可能令人困惑的事情。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2015-04-09
                • 2017-12-27
                • 2019-01-09
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多