你用哪个比喻来描述编程?

时间:2009-10-25 09:55:04

标签: conceptual

一位同事将编程与粘土成型过程进行了比较 - 首先,您定义了质量的粗糙形状,然后雕刻越来越小的细节。您对编程的看法是什么,您会用哪种比喻来描述程序员的工作?

21 个答案:

答案 0 :(得分:25)

Schitzophrenia。你花了很多时间与你脑海中不存在的东西交谈和操纵,没有人相信你。

或许这就像在一个装满机器人的工厂工作,其中一个机器人停止整个工厂车间告诉你这个螺栓完全是错误的形状,大小和颜色,同时向你展示一个肢解的拇指。 / p>

或者就像在一个错误的地方将汽车贴纸放在一起会导致发动机脱落。

或者就像为强迫症患者做晚餐一样。 真的强迫症。比如,你没有按照RECIPE。它要求250克面粉,你明确放入251!

或者也许就像绘画一样,也就是说,如果你是蒙着眼睛画画,只允许每10分钟左右看一次你正在做的事情,经过一些编辑阶段,甚至可能锁定你的画架,迫使你追踪一些油漆泄漏,所以你用灰色油漆涂抹了一半的油漆,直到你分离出那些表现出......呃......笨拙行为的构图?和。等等......不,这是一个很好的比喻,我很有信心!回来!请相信我!!!

答案 1 :(得分:5)

“Gardening” - 您的代码库不断增长和增长,但没有经过仔细的除草和关注。它变得无法控制。

答案 2 :(得分:5)

“弗兰肯斯坦博士”

我们程序员实际上是疯狂的人,他们为这些冷金属,硅和塑料提供生命。在我们进行了一些实验,包括一些形而上学的工作之后,这些作品开始与人交谈,通过网络进行交流,学习如何醒来和睡觉,学习和忘记,从CD中出现并死亡。

我们让他们做到了。

答案 3 :(得分:4)

“工程师”。

我收到订单,建立新的东西,测试它,然后将它发给客户以获取金钱。

答案 4 :(得分:3)

我说这就像盖房子一样。您制定计划,大致了解您的需求。然后加班你制定一个更精致的计划。慢慢地将它们拼凑在一起并开始建造房屋。一路上几乎没有问题,但你通常可以处理它们。最后,在你辛勤工作之后,你会有一个人们可以居住和使用的房子。

Monty Python和圣杯

  

当我从这里开始时,一切都是   沼泽。其他国王说我很愚蠢   在沼泽上建造一座城堡,但我建造了   一切都一样,只是为了表明他们。它   沉入沼泽地。所以,我建了一个   第二个。那沉入沼泽地。   所以,我建了第三个。烧了   下来,摔倒,然后沉入了   沼泽,但第四个...留下来了   起来!这就是你要得到的,   小伙子:这些中最强的城堡   岛屿。 -

答案 5 :(得分:2)

架构。

我称自己为信息架构师 - 试图将当前环境(在我的情况下是化学信息)塑造成可用的东西。它涉及设计,工程和与人密切合作。

结果必须可用,并且我的情况必须是可重复使用的。它的形状在一开始就很明显。它还取决于世界在工作期间的发展方式。在我的情况下,它永远不会完成,但我们在此过程中构建(希望可用)的东西。

答案 6 :(得分:2)

Plate spinning:试图让很多东西同时工作而不让任何东西掉落......

答案 7 :(得分:2)

<强>编写

以下是编写过程的步骤(看起来很熟悉?):

  • 预先编写/起草
  • 编写
  • 分享/回应
  • 修订
  • 编辑
  • 评估

答案 8 :(得分:1)

成为一个没人知道的艺术家。你可以创造废话或杰作,没有人会知道你是谁。我也听过它叫做“裤子上最有趣的,虽然裤子不是必需的。”

答案 9 :(得分:1)

编程就像是一个范围非常有限的上帝。

答案 10 :(得分:1)

“在崎岖地形上拉动人类车厢”

一个人坐在马车里,另一个人正拉着它。目的地点遥遥领先,如果他们无法实现目标,他们所有的工作都将是无用的。只有在停止时,托架才会转动,所以它们必须通过最大化每转弯后的速度和距离来冲刺。

坐着的人(老板)把所有时间花在计划路线上,并试图考虑所有可能的路上的惊喜。他的群众(薪水)减慢了另一个人的速度,他也说不出多少,因为承运人必须专注于他正在做的事情。因此,保姆宣布他的决定只有在路上有一个障碍时才会转弯。

拉扯人可以同时坚强而聪明,但他不能同时思考和拉扯。因此,在转身时,他必须依靠坐着的人的决定。这就是为什么决定来自那些对通过粗糙的地形拉车的人并不太了解的人。与一起旅行相比,单独的航空母舰可以行驶两倍的距离,或者转弯(错误)的两倍。让坐着的人上班也无济于事,因为他没有像运营商那样强大。

情况变化然后有多个拉人和一个坐着的人。但即使这样,也很难理解为什么坐着的人应该得到最好的薪水...那懒惰的福%#头......(幸运的是我从事编程业务而不是拉车厢):))

答案 11 :(得分:1)

用规则做白日梦。 LEGO。

答案 12 :(得分:1)

礼仪魔法 - “Magick是导致变化符合Will的科学和艺术。”正如克劳利所说的那样。

编程也是科学和艺术,并通过意图的表达引起变化 - 正如在仪式的正常理解中,你必须准确地在你的咒语中(当然,巫师的学徒的故事是熟悉的无限循环或无界递归的例子。)

答案 13 :(得分:1)

创建软件就像为管弦乐队创作音乐一样。这是一个全面的概念,通过仔细编织主题和节奏来完成。音乐家学习他们各自的部分,并在指挥的领导下进行合作。

做得好,唱歌和飙升,激励球员和观众一样。

答案 14 :(得分:1)

粘土成型实际上是一个非常好的描述我认为,虽然对我来说我会使用烹饪。你从食谱开始(或者只是一个模糊的想法)然后得到一些成分,混合在一起,做饭,做其他事情,看看它是否有效。根据你有多好的东西,你可以调整同一个问题的另一个运行,或者可能只有几个粗糙边缘的完成解决方案。

答案 15 :(得分:0)

"Driving Blind"

我们坐在后面,计算机是有控制权的盲人司机 如果我们的说明不准确,我们将粉碎: - )

答案 16 :(得分:0)

如果您认为您的计算机就像乐器一样,程序就像旋律一样,每当您播放新的旋律或曲调时,可以使同一乐器的演奏方式不同,程序员就是那些花费数夜时间追逐正确音符的作曲家在他的旋律中。

答案 17 :(得分:0)

我通常将建筑结构/房屋/建筑物/城市等类比化。

复杂程度与类比相当。

答案 18 :(得分:0)

开车

你从A点开始并决定采取方向1.越接近你必须得到更少的选择B点。如果你错误地计算你自己。在这种情况下,你可以在途中建造一个加油站,让你到达B点,或者以不同的路线重新开始。

答案 19 :(得分:0)

软件开发就像高尔夫。一个非常长的镜头开始游戏接近你的目标。然后,你需要开始制作很多短距离以将球送入洞中,所有这些短片都需要花费第一个时间......

我的答案与整个软件开发过程相关,而不是单个编程活动。我知道,但我认为这仍然是一个很好的比喻。

这个概念来自这个不再在线的旧帖子,购买由网络存档保存,请看一下:http://web.archive.org/web/20070629105558/http://rc3.org/2007/04/how_programming.php

答案 20 :(得分:0)

“丛林乱七八糟” - 你开始种一棵小树,有足够的时间浇水并照顾它。在某些时候,生长的爆炸,树变成了丛林,你发现自己迷失在绿色的树木和植物中。你的运动受到阻碍,你无法控制发生的事情。最终输出是这种不受控制的丛林混乱,需要数百人维持,这会吸引每个人的时间和金钱。在某些时候,点燃罢工,以及每个人的救济丛林都会燃烧到地面。不幸的是,总有那些天真的新园丁渴望从头开始。