给开发人员较慢的开发机器会导致更快/更有效的代码吗?[关闭]


130

假设我给开发人员一个尖叫的快速机器。基于WPF的VS2010加载非常快。然后,开发人员创建一个WPF或WPF / e应用程序,该应用程序可以在其盒子上正常运行,但在现实世界中运行得慢得多。

这个问题分为两个部分...

1)如果我给开发人员提供较慢的计算机,这是否意味着生成的代码可能更快或更高效?

2)我该如何给开发人员以快速的IDE体验,同时又提供“典型”的运行时体验?

更新:

作为记录,我正在准备对管理层的公正回应。这不是我的主意,你们正在帮助我纠正客户的错误要求。感谢您给我更多的弹药,并提及在何时何地使用这种弹药。我为+1的有效用例进行了+1,例如:
-特定的服务器端编程优化
-测试实验室
-可能会购买更好的服务器,而不是顶级显卡


20
也许让他们在虚拟PC上测试应用程序!
Mark C 2010年

209
我无言以对,这甚至是一个问题。除了发展缓慢和士气低下之外,它还能带来什么?
Fosco 2010年

76
在最新技术上进行开发。在最糟糕的机器上进行测试。
亚当

14
用牙刷而不是用拖把清洁地板是否可以使地板更清洁?当然可以。拖把操作员无法发现150厘米远处的污垢,而牙刷员也无法发现30厘米远处的污垢。不要在大地板上尝试。
dbkk 2010年

13
注意自我:为MakerofThings7行不通
亚光b

Answers:


234

绝对

经理们也应该在Pig-Latin举行所有会议,这也是事实。总体而言,这使他们的沟通能力得到提高,使他们在说简单句子时处于不利地位。他们将不得不更多地依靠面部表情和肢体语言来表达自己的观点,并且我们都知道,无论如何,至少有70%的交流是这种交流。

首席财务官应仅使用算盘和粉笔。否则,他们最终会过多地依赖“原始数据”,而对他们的“直觉”则不够。

并且应该要求副总裁及更高级别的主席在分散注意力的环境中(例如半醉的高尔夫球场)举行所有重要的商务会议。哦,快点...


85
我喜欢讽刺。+1
Terence Ponce 2010年

8
副总统及更高级别的主席经常进行纯社交活动:会议的重点是打高尔夫球。当您达到很高的水平时,您会陶醉并打高尔夫球,同时您选择要入侵的国家,并向谁签定厚实的国防合同。
丹·罗森斯塔克

1
我在这里看不到讽刺。+1
FinnNk 2010年

376

答案是(我会大胆地说)总是

NO

根据预算获得最大的收益,并测试将部署到的设备的最小-最大规格范围。

有模拟器,虚拟机,带有测试仪的实际计算机,它们都可以测试性能以查看是否是一个因素。


10
虽然我希望可以投票,但不能多次投票。我有一台正在使用的老化计算机,VS2010完成某些任务(例如打开项目)所花费的时间可能会很烦人。
rjzii

108
能否请您做没有非常大的和大胆?
汉尼拔·莱克特博士

4
您所做的验收测试应涵盖性能要求。应该有性能要求。如果您不测试性能,那么您的测试人员将被称为客户(并向他们收取费用)。
Tim Williscroft 2010年

2
我完全同意。给开发人员较慢的机器实际上不会产生更好的代码。开发人员会对机器感到沮丧,并且始终会感到不安。它使代码变得更糟,并且当一切陷入困境时他们无法集中精力。看到,会有一个像Eclipse这样的IDE,比如2本书,2个Web浏览器,一个用于运行调试(基于Web的开发),一台服务器运行以及一个音乐播放器;)给他慢速的机器,他会吻你再见。

1
答案正确。正确答案是Nooooooooo!
佩卡(Pekka)2010年

70

1) 非常非常不可能。不,您的开发人员可能会在您的咖啡中添加一些令人讨厌的建议。开发人员花费的时间等待代码编译或IDE执行正在执行的操作或花时间在使代码变得更好的时间上。也会打乱他们的智力。专注于问题,他们将更加有效地解决该问题。

2)给他们每个人第二台PC,代表您希望他们实际支持的最低规格,并在KVM切换器和实际工作站之间切换一个KVM。


我喜欢在旧PC上使用KVM进行测试的想法。但是,根据项目的不同,开发人员每次提出新版本时,都会在慢速计算机上安装最新版本,这很麻烦。
Al Crowley

4
要考虑的另一件事是,至少在没有管理特权的第二台PC上为他们提供一个帐户。
David Thornley,2010年


33

这是一个可怕的主意。您希望您的开发人员尽可能多地提高工作效率,这意味着给他们尽可能快的机器,这样他们就不会整日坐在那里等待编译。(稍加OT,但它也有助于避免使用WebSense等工具阻止对潜在有用站点的访问。)如果您的用户仍然在使用Stone-Age技术,那么您将需要一台测试机具有相似的规格,并确保尽早进行测试,并确保您在技术选择方面不会走错路。


谁...等等 如果编译速度很快,则将不再可能:xkcd.com/303
gbjbaanb


27

如果给我一台速度较慢的机器,我会花一天时间优化开发流程,而不是优化交付的代码。所以不行!


26

嵌入式系统程序员经常遇到这种情况!有两个部分的解决方案:

  1. 您的需求需要在Y硬件上指定X性能。
  2. 在Y硬件上进行测试,当您没有获得X性能时,就会出现文件错误。

然后,开发人员使用哪种硬件都没有关系。

完成此操作后,可以说,更快的设备每天可以为程序员节省半小时,或者一年节省125个小时。假设他们每年花费10万美元的福利和管理费用(对于硅谷来说太低了),或者说每小时50美元。那125小时* $ 50 /小时为$ 6250。因此,如果每个程序员每年在Rockin的开发硬件上花费的费用少于6250美元,那么您将节省金钱。

那就是您应该告诉管理层的内容。

蒂姆·威利斯克罗夫特(Tim Williscroft)在评论中几乎说了这一点,在一个公正的世界中,他将得到该答案得到的任何分数的一半。


添加10月24日:

我的前雇主有这样的理论,它帮助他们付出了大约1亿美元。

他们是一家总部位于日本的企业集团,过去曾在日本,韩国和中国聘用程序员。那里的人们使用development脚的开发硬件,13小时的工作日,在办公桌前睡觉并且没有生命,这很酷。因此,他们想出了当他们收购一家著名的硅谷公司来制作基于Linux的手机操作系统时,那些想要现代装备的愚蠢的加利福尼亚人只是一头雾水,实际上并没有充分的理由(例如生产力)。

四年后,该操作系统像废话一样运转,所有时间表都被搁置,客户被激怒并左右终止合同。最终,操作系统项目被取消,该集团在全球范围内的大批员工在去年被解雇。坦率地说,我不想成为必须向股东解释所有金钱和精力去向何处的高管之一。

造成这种惨败的不仅是缓慢的开发机器。还有许多其他的战略和战术失误-但是它们是同一类东西,在战es中工作的人可以看到火车残骸来了,并且想知道为什么决策者不能这样做。

减速装置无疑是一个因素。毕竟,如果您愿意按时交付,故意拖延工作真的很聪明吗?


+1,甚至三十分钟,在某些圈子中可能是非常适度的估计。
贾斯汀

20

在编程中,有句老话:“ 过早的优化是万恶之源 ”。我认为您已经成功创建了所有邪恶的另一个“根”(或至少是第一个分支)。从现在开始,我们可以说“过早的开发人员去优化是万恶之源”。

简而言之,答案是这只会减慢您的开发时间,并使进一步的维护更加困难。编译时间将花费更长的时间,在磁盘上搜索代码的速度将变慢,在线查找答案的时间将更长,并且最重要的是,开发人员将开始过早地优化其代码以甚至能够测试所需的功能。

最后一点是最关键的问题,许多其他答案都没有提到。您可能会获得第一个版本,但是当您以后希望更新代码时,您会发现开发人员过早的优化使代码的重点从良好的设计上移开,并使其更加接近“一定要在最少的工作来保持我的工作”代码风格。添加附加功能将变得更加困难,因为此时可能不需要进行优化,并将您的代码锁定在其他半优化黑客之上的半优化黑客路径上。

例如,假设您当前版本的最低系统要求是速度稍慢的单处理器计算机。您将开发人员放在此框上,他们提出了一个复杂的单线程解决方案,该解决方案依赖于许多黑客,因为他们想快速开发产品。现在5年后,您有了该产品的新版本,该版本最低要求使用双处理器计算机。您希望能够干净地分离出可以并行运行的程序部分,但是您5年前做出的决定迫使开发人员制作hacky软件,现在该决定阻止您使用新的最低要求的全部功能。 。

您应该做的是在开发周期结束时添加一个阶段,在此阶段对下限框进行验收测试。当然,由于开发人员的计算机速度更快,某些代码可能会太慢,但是您可以隔离该部分并在那里进行优化。您的其余代码保持整洁和可维护。

我看到您的问题是在说:“我可以通过为开发人员提供劣质的开发人员机器,但仍然获得良好的代码,来强迫他们进行早期优化吗?” 答案是否定的。


“我们应该忘记效率低下的问题,大约有97%的时间是这样:过早的优化是万恶之源”。设计某些东西时,最好花2分钟时间考虑3%。
Keyo 2010年

15

有趣的阅​​读,所有这些答案。

但是我认为大多数在这里回答问题的人都没有抓住重点。在我阅读本文时,问题不仅仅(至少是)真正为开发人员提供了一个P1以使代码更快。

关键是,尽管计算机功能强大得多,但当今许多软件的速度甚至比我们上个世纪使用的安全软件慢或什至慢。从这里的答案来看,大多数开发人员没有得到该提示。这在Web应用程序中非常明显。这个站点是一个非常好的例外,但是许多站点的首页都在1 mb之内。我等待下载什么呢?我不知道。我认为这似乎是开发人员的无知,而不是尊重用户需要花费的时间,或者如果您按每mb的价格付费,则更糟。问题是所有这些网页甚至都没有包含高分辨率图片。通常,这只是某些开发环境提供的一些废话代码。好吧,我想当然不是废话,但作为用户我却没有收获。

总的来说,这不仅与优化代码有关,而且与选择不包括速度慢于其所提供的东西一样重要。

几周前,我从1995年开始使用笔记本电脑。Windows3.x可以立即启动并运行。在完全释放Enter键之前(至少是至少),我应该从数据库中获取一些数据。

我知道我们今天从我们的软件中获得了很多收益,但是我们的计算机速度也提高了很多倍。开发行业为什么不决定从1995年开始保持软件的速度并因为人们想要新的功能而使人们购买新的硬件。如今,它更像是日常程序和网站,迫使人们购买新硬件来完成与之前完全相同的操作。但是,当然以更奇特的方式。

我不得不说,我认为Linux开发似乎可以更好地解决这一问题。多年来,Linux发行版一直遥遥领先于Windows,即使在幻想中也有很多动画窗口之类的东西。事实是,尽管如此,他们仍然可以在今天甚至昨天的计算机上工作。不仅在最先进的硬件上。

到目前为止,我想许多开发人员的肾上腺素水平都不健康。是的,我找到了一种方法,可以使所有在此之前的等待都感到沮丧:
Office sql Server(启动管理控制台)arcgis(启动和使用)acrobat reader(启动)agresso(至少用作Web应用程序) Windows(正在凝视和使用,我还没有尝试过7).net网页(下载)

等等

我感觉很好 :-)

干杯
尼克拉斯


这个。这个。这个。如此之多。这一直是我对软件的最大挫败感。人们花费更多的时间来尝试刷新界面,而不是对可用性进行实际评估。一个例子就是Android vs. Blackberry。Android看起来更好,并且可以执行更多操作,但至少在我看来,Blackberry比Android使用起来更愉快(且速度更快)。
kcoppock 2010年

1
我完全同意这样的观点,即软件几乎具有相同的功能,现在的速度与20年前一样。但是让开发人员使用20年的硬件将无济于事。如果创建软件的公司不投资于可用性,或者在较慢的硬件上进行性能测试,只会使事情变得更糟。这完全是完全不同的辩论,对于这个辩论,程序员的脑袋并不是唯一应有的脑袋后脑勺。
Newtopian 2011年

10

1)如果我给开发人员提供较慢的计算机,这是否意味着生成的代码可能更快或更高效?

在过去的六十年中,我们一直在开发软件,但是仍然遇到类似的问题吗?似乎更像是在偷工减料。没有冒犯,但请问,您认为这个问题甚至合乎逻辑吗?用以下术语(如果可以的话)考虑一下:您想要制造一种4x4的车辆,该车辆可以在恶劣的条件,雨水,泥泞等任何条件下运行。您是否打算将您的工程师和装配线放在这些元素的下面,以确保生成的车辆可以在它们上面操作?

我的意思是,耶稣基督!有发展,有测试。测试是在不同,更苛刻的环境中完成的,或者开发人员知道如何以适合压力测试的方式在自己的开发环境中组装测试台。如果他做不到,请用更好的开发人员代替他。

2)我该如何给开发人员以快速的IDE体验,同时又提供“典型”的运行时体验?

您应该向开发人员询问。而且,如果他们不能给您客观有效的答案,则需要用实际的开发人员来替换它们。

但是要解决这个问题,请为您的开发人员(假设您有好的开发人员),好的工具和好的硬件,提供您力所能及的最好的东西。然后设置您的软件必须在其中运行的最低通用基准环境。那是应该进行测试地方。最好有一个与开发环境不同的测试环境(最好是允许您进行压力测试的环境)这是更好的工程实践。

如果您的开发人员有什么好处,他们应该已经将此告知您(假设您已经问过他们。)


1
在过去的六十年中,我们一直在开发软件,但是仍然遇到类似的问题吗?-我支持您的回答,但我鼓励您从不同的角度研究原始问题。实际上,有许多管理人员不知道快速,强大的计算机为其开发人员带来的好处。因此,考虑到这一点,最初的问题可能是试图使这种愚蠢的想法的管理者不屑一顾,因为慢速机器可以以某种方式推动开发人员生成更快,更高效的代码。
Jim G.

1
“ 2)我该怎么做才能为开发人员提供快速的IDE体验,同时提供“典型的”运行时体验?您应该向开发人员提出这一要求。” 我相信这是程序员的SE网站,而不是经理的SE网站。他在问开发者。
stimpy77'2010-10-23

1
“您想制造一种可以在恶劣条件,雨水,泥泞等任何条件下运行的4x4车辆。您是否要将工程师和装配线置于这些要素之下,以确保最终的车辆可以在其上运行?” <<<爱的比喻
stimpy77

6

这导致了很多bitchin的开发人员。这些东西已经足够难了,我们不要让体验变得更糟。

我鼓励您在测试或质量检查环境中拥有与用户相似的硬件,以消除任何性能问题。好主意。


8
开发商that子?没办法...
JE队列

6

我会打破常规,并且只有在他们正在编写服务器软件的情况下才是。笑所有您想要的,但是我见过的最高效的团队是一群带有Wyse终端机的Perl团队。这是1990年代后期,当时是一家大学分店,他们正在编写空间网格化软件(基本上只是计算)。但是,他们正在与一些功能相对强大的新型RS / 6000进行交谈。

只是为了增加对该事件的兴趣,那里有一个盲目的程序员。我印象深刻。

替代文字


3
盲人程序员?那有可能吗?
WernerCD 2010年

1
@WernerCD,到目前为止,我仍在尝试并设想保持头脑中的代码行所必须具备的思维能力。
JE队列

3
是的,我们大多数人都在编写服务器软件... +1
goodguys_activate 2010年

@ MakerOfThings7,每天在我的本地计算机上为我提供更多服务器硬件,在应有的位置花费$(但是给我一个大显示器:))我十岁的Dell Latitude CPx在大型系统的显示器上没有问题DC。
JE队列

4
也许盲人程序员可以使用盲文显示器?
Antsan,2010年

5

这不是一个坏主意-但您希望开发人员拥有一个快速的编程环境。

您可以通过给程序员两台机器-一个快速的开发箱和一个较慢的商品箱(可能是虚拟箱)进行测试来实现这一点。

VS构建过程的一些调整可以使通过远程调试将部署到测试箱的工作规范化。

还有其他方法可以考虑迫使编码人员开发更有效的代码-例如,您可以在单元测试中包括性能和内存使用目标。设置内存使用预算也是一个出色的目标。还设置HTML代码的页面权重预算。


5

问题不是开发人员在快速的机器上构建低效率的代码,而是问题是您尚未定义必须衡量的性能指标。

作为产品要求的一部分,应该定义一个特定的目标,可以根据所需的客户体验在所有计算机上对其进行测量。有许多网站(检查SpecInt)可让您将计算机与其他类型的计算机关联。

这样做有很多好处。它使您可以更轻松地定义最低支持的硬件,从而可以减少客户投诉的数量-我们都知道大多数软件都可以在大多数计算机上运行,​​这仅是性能问题-如果我们设定规格以使最低要求范围内的人员具有合理可接受的性能,您可以限制客户的投诉-然后当客户打来电话时,您可以使用基准来确定是否确实存在问题,或者客户是否对该产品的工作方式不满意。


5

我深信使用较慢的计算机进行开发会导致更快的代码,但这是有代价的。理由是我亲身经历过:通勤时间长,我买了一台上网本在火车上工作,上网本比我过去5年中购买的任何一台电脑都要慢。因为一切都太慢了,所以我很快就会看到这本上网本出现了令人难以忍受的慢速变化,而且我知道慢速变化要快得多(不需要一直进行基准测试)。上网本的工作确实改变了我的开发方式。

话虽如此,我不主张这样做,尤其是在专业环境中。首先,它令人沮丧。几乎每个人都说这个想法甚至没有道理的事实表明,程序员对这个想法反应很差。

其次,让所有东西变慢意味着由于懒惰等原因,您可能想要在较快的机器上完成的事情(耗时1分钟)实际上不再能在较慢的机器上完成。这是激励的问题。

最后:产生的代码可能更快,但几乎可以肯定需要更长的时间来产生。


+1但我必须在某些方面不同意。我还买了一台上网本,但我注意到速度不是真正的问题,而是小屏幕尺寸。1 GHz的速度足以满足正在进行中的小型项目,但1024x600 太小了
乔D

4

点1,不!Studio可以在合适的计算机上运行,​​并且每个版本的要求都变得越来越强大。如果您打开智能感知并使用单核非HT盒,则实际上可以锁定Studio的某些版本。

要指出第二点,测试项目中有一些功能可以让您节流一些资源。它们并不完美,但是它们在那里。VPC或低规格VM映像也受到了很好的约束。我让用户偶尔坐在坏的机器上进行测试,以便他们可以看到他们所要求的功能的含义。


4

不,事实上,这将导致更多的错误,因为它们不会进行过多的测试,并且不会像分析器那样使用过多的工具。给他们提供最好的机器(如果您是游戏开发或图形商店,则包括图形加速硬件),并让它们在VM中进行测试。VM规格可以根据需要扩大或缩小。


+1:实际上,这将导致更多的错误,因为它们不会进行过多的测试,并且不会像分析器那样使用过多的工具。-好点 我们不要忘记开发速度慢的机器所带来的机会成本。
Jim G. 2010年

4

我认为这是一个有趣的问题,我不会很快就拒绝。我的观点是:这取决于我们正在谈论的开发团队。示例:如果您领导的团队正在参加一年一度的ICFP编程竞赛,那么在HPC集群上经过少量开发时间后可能取得良好的成绩,并不一定意味着您找到的解决方案是好的。如果您正在编写某种科学算法或数值算法,也可以这样说:在具有64 MB内存的旧AMD Duron 600 MHz上,您必须谨慎对待完成工作的方式,这甚至可能影响某些设计选择。

另一方面,聪明的程序员/科学家/无论如何都应该小心。但是,当我完全没有计算机并且不得不在纸上做笔记时,我发现自己写下了一些最好的代码。当严格需要IDE时,这可能不适用于涉及大型框架的大型项目。

可以肯定的是:一台快速的机器和良好的即时结果使(糟糕的)程序员变坏了,这可能是我们在计算机上发现的一些废话的原因之一。


5
告诉您什么-购买一台非常好的计算机,然后我将与您交换... :)
Wonko the Sane 2010年

4

我使用的软件包需要大约一个小时才能在我的8核8G机器上构建(完全干净的构建)。我还有一台相对低端的笔记本电脑,可以测试。低端笔记本电脑在一个工作日内无法管理两个完整版本。

通过在笔记本电脑上进行一些刻意的测试,我是否在快速计算机上效率更高?还是应该在笔记本电脑上完成所有构建工作?

请记住,这些不是由数字组成的。

这是一个装配式演示,因为我通常不需要每天都进行干净的构建(我可以在单个模块上进行大量测试),但是即使是部分构建,其编译/链接时间也存在大约一个数量级的差异。 。

因此,真正的问题是在较慢的机器上,典型的构造足以让我去喝杯咖啡,而在较快的机器上,我只能喝一点咖啡。

从完成工作的角度来看,我更喜欢在快速的机器上进行开发。我可以更可靠地按时完成任务。另一方面,我想像是如果管理层让我在速度较慢的机器上进行开发,那么我将完成更多的网络浏览,或者至少是读书。


一般来说,要花这么长的时间在您的构建中?它是受CPU限制还是受磁盘限制(瓶颈是什么),如果像TFS这样的东西为您完成构建,这会成为问题吗?
goodguys_activate

1
您需要半个工作日才能喝杯咖啡?您必须为政府工作。
finnw 2010年

I / O绑定在慢速计算机上。在快速计算机上,有时I / O仍然受约束,但更多地是CPU瓶颈。当前的构建系统不喜欢一次处理多个库,因此,在给定的子项目中要编译的文件少于8个时,会在地板上留下一些CPU和I / O。至于咖啡,我可以喝得更快一些,但是我试图限制摄入量,所以如果我喝得更快,我将需要另一次空闲时间活动。
2012年

3

有趣的是,我在一家初创公司工作,但最终还是这样做了。我认为它实际上工作得很好,但是仅由于我们所处的特定情况。在mod_perl商店中,类自动重装实际上可以正常工作。所有开发人员都将vim用作他们选择的IDE(或使用了一些远程编辑软件)。最终结果是浪费很少(如果有的话)的时间来等待代码编译/重新加载等。

基本上,我喜欢这个想法,即IFF对所有开发人员的开发周期影响都可以忽略不计,并且仅影响代码的运行时操作。如果您的代码无论如何都经过编译,预处理等,那么您将为开发人员正在工作的“修复错误;测试;下一步”循环增加时间。

从人际关系的角度来看,人们从来没有被迫使用速度较慢的服务器,但是如果您使用速度较慢的服务器,则无需进行任何维护或设置。此外,这种设置从一开始就存在,我无法想象尝试将其出售给已建立的开发团队。

重新阅读了您的原始问题之后,我发现永久困扰我的一件事是与生产环境不同的开发环境。为什么不使用VM来执行代码,而代码又可以在不影响开发工作站的情况下降低运行时间呢?最近,我一直在使用/喜欢VirtualBox。


3

我也将在这里逆潮流。

轶事:我曾在一家荷兰软件开发公司工作,该公司将286台计算机升级到486-es(是的,我那时还老)。在几周之内,我们所有内部库的性能下降了50%,错误增加了。。。一点研究表明,人们在调试过程中不再思考代码本身,而是求助于“快速”连续代码->编译->测试->修复(代码)等循环。

相关:当我为美国同一家公司成立子公司时,我最终雇用了俄罗斯程序员,因为他们习惯于功能/功能更少,编码效率更高的PC。

我意识到这些时代是不同的时代,资源比今天要稀缺得多,但是,这在硬件方面所取得的所有进步中,最终的结果似乎是,前进的每一步都是被要求更高的最低规格的草率编程否定...

因此...我觉得程序员应该被迫在不超过'Average Joe'计算能力和硬件规格的计算机上测试他们的应用程序。


7
这里的主题演讲是“测试”,实时系统不必加载庞大的IDE,在本地运行后端而不是在专用硬件上运行,运行邮件,办公等。您需要一台高端计算机来启动开发人员当今大多数语言中的环境。
Bill Leeper 2010年

3

硬件的成本低于开发时间。

大多数瓶颈都在数据库中,而不是在客户端PC中,但这并不能成为在比开发人员慢的计算机上进行测试的借口。使用测试工具测试优化。


3

绝对不。为您的程序员提供可以买到的最好的笔记本电脑,他们选择的键盘,多个大屏幕,一个私人办公室,没有电话,免费的软饮料,他们想要的所有书籍(都是相关的),年度关键技术会议和您会得到很好的结果。然后在上下边界硬件/软件/浏览器/带宽组合上进行测试。


2

这是一个有趣的想法(给开发人员慢的机器可能会使他们进行更多优化)。

但是,该解决方案的框架更好-将响应时间放在程序要求中,并且具有可用于测试的低端计算机。

另外,如果您有一个真正的奇妙的编译器/语言,它可能能够设计出不同的方法来生成代码并选择最佳方法。只有更快的计算机才能帮上忙。


2

其他人回答说,通常您希望开发人员拥有快速的机器。我同意。不要跳过RAM-您需要尽可能多的内存-一些构建过程会占用大量磁盘空间。

您可能要考虑摆脱的问题是构建驱动器上的防病毒!这只会减慢速度,并且可能是极强的减速因素。

如果可能,您可能希望让开发在Linux上进行开发。那里的工具可以更好地完成各种额外的任务(对于文件中的某些东西,只需grep等)。这也摆脱了反病毒。


:不要忘了一个快速的硬盘驱动器的好处codinghorror.com/blog/2009/10/...
吉姆·G.

2

我工作的Macbook Pro已有几年历史了。在Linux和Windows(用于测试IE怪癖)虚拟机以及几个Web浏览器和打开的终端之间,OSX纺车显示了很多。猜猜我在旋转时会做什么,我坐下等待。在这种情况下,速度较慢的机器会降低生产率。


2

对于许多应用程序而言,问题在于使开发人员在“完成”之前先对真实的数据集进行测试。对于交互式应用程序,将需要基准测试机/ VM。


2

我在运行缓慢的Windows95机器上工作,它使我可以高效地用Forth和JavaScript编写MindForth人工智能。


2

问程序员是否应该获得好的硬件,就像问一个胖男人是否喜欢食物。我知道这是主观交流,但是...这个问题值得我们问吗?:P

话虽如此,我当然同意大多数人的意见:

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.