与歌迷打交道[关闭]


14

我们可能都遇到过这样的人,那个开发人员只知道他的语言是一种真正的语言,并且不会为之闭嘴。你怎么像这样的人?我不想得罪任何人(尤其是因为我工作场所的狂热者是高级开发人员)。但是,当我不得不编写一个永远不会扔到存储库中的一次性脚本并且没有其他人需要知道的脚本时,我希望能够使用自己选择的脚本语言。

我必须处理的想法:

  1. 笑吧-“哈哈,是的,也许X语言要容易一些,我想我是受虐狂!”
  2. 顺其自然-我真的更喜欢避免这种情况,因为我承受不起与选择新语言有关的生产力下降。
  3. 隐藏我的语言-每当我编写脚本或自动执行某些操作时,请成为壁橱程序员并隐藏我的监视器。

您对此情况有何建议?


14
难道不理him他,也许每当情况出现时就要求稍微专业一点就不是最容易的吗?
zxcdw 2012年

25
绝对确定您不是一个狂热的人,因为您坚持要使用自己的选择
Doc Brown

11
@DocBrown Im不公正,但我敢肯定Perl(我的选择)比VB(他的选择)更适合解析文本文件
Daniel Gratzer 2012年

4
问题是,这家伙真的是粉丝男孩吗,又是,他是否只知道一件事并且对为什么认为它是“最佳”的理由缺乏说服力,还是他真的非常好并且在大多数时候都选择了某种东西,因为那真的是最好的方法吗?我问这是一种完全不讽刺的方式,因为我自己已经把几个人打成狂热小伙子,然后才意识到他们比我了解得多。
Shivan Dragon 2012年

8
@jozefg我不想让一个非建设性的,可能是自以为是的主题担任主持人,但是从Ruby迁移到VB不会倒退一大步吗?
maple_shaft

Answers:


14

几乎没有什么事情是不可能的。

  • 这真的是一个废弃的脚本吗?如果是这样,正在讨论中就很奇怪了。
  • 您确定一次性脚本会保持原样吗?某些时候,很多生产资料都是一次性的脚本。
  • 如果脚本已升级并且需要在系统中集成,您是否要重写该脚本?
  • 语言选择纯粹是语法上的,还是来自其他领域的语言?

我有点理解粉丝,因为从一方面来看,我有时表现得像粉丝一样,同时保护了我选择的几种语言。而且我还与其他尝试引入新事物的粉丝男孩打交道。

我对这种情况的看法是这样的:

  • 如果是新语言,则它属于垃圾箱。
  • 如果这是一种经过行业验证的语言,则可以将其专用于该任务。
  • 如果这是一种非常不受欢迎的语言,那么它就属于垃圾箱,即使它超级酷又超级快。

这是因为没有人知道如何用一种未知的语言编写安全,快速的软件,并且开发人员必须学习所有的技巧。愚蠢的脚本将需要20多年的支持或重写。在过去的20年中,平均每家商店中至少有50名开发商会更换。如果每个人都很少用一种新语言编写精美的脚本,则您需要50种语言运行时,团队中50种不同的专业知识,并且代码库中有50种语言的错误代码。Windows或Linux不再支持某些语言。并需要未打补丁的10年旧定制服务器,没有可用的24/7备件。

而且,当代码库可能会比语言本身更久时,没有人真正想支持VB,Silverlight,D等死语言。


9
+1用于质疑脚本的一次性特性。一位前同事指出,大多数临时解决方案都是永久性的。
Joris Timmermans 2012年

12
-1表示完全拒绝所有新语言。这是非常错误的,以至于它淹没了其余的好建议。这就是您最终获得大量C语言遗留代码库的方式,而您的竞争对手却使用Ruby(或Clojure或其他工具)在您身边徘徊,因为他们可以比他们更快地表达自己需要做什么的逻辑。为了取得令人钦佩的成功而不是la行,您需要及早选择赢家
Rex Kerr

2
-1,用于将VB和Silverlight标记为“不受欢迎”。您将长期以来一直在支持不受欢迎的语言... tiobe.com/index.php/content/paperinfo/tpci/index.html
deworde 2012年

3
D死了吗?这对我来说是个新闻,特别是自前一周发布新版本以来!-1 dlang.org/changelog.html
加里·威洛比

4
明确提及语言:不好的主意。
Nadir Sampaoli 2012年

16

他是否根据公司政策决定您使用什么?向他上诉。如果他仍然反对,那就闭嘴,用老板说你应该使用的工具进行工作。

那儿工作,而不在那儿玩。最终,它不在您的掌控之中。


即使他不是您的老板,我也会在这里考虑所有角度。如果他知道Fortran,并且您有一天继承了他的所有代码,您会喜欢吗?你不得不从头学习一种全新的语言对飞,这是非常紧张的。现在想象他的身边,您可能使用Cobol编写脚本,而他可能不认识Cobol。

使用您团队中大多数人都知道的东西。


6
“你在那里工作,而不是在那里玩。” +1
funkybro 2012年

1
但是,进行所需更改的第一步是证明它们在安全的环境中有效。
deworde 2012年

9

“ 2.去吧”

这是唯一合理的答案。您在这里有很大的机会。

  • 使用高级程序员的评论鼓励您的公司花时间和/或学习新语言的课程和/或证书。最坏的情况:认证和语言都将改善您的简历,您可能会成为团队合作者的良好建议,并且可以一路大笑以求在其他地方获得更好的工作。

  • 我从所学的每种语言中获得了有关编程的宝贵见解。即使是最不实用的语言(咳嗽 XSLT 咳嗽)也有自己的优点,并且充满了有趣的学习机会(并付了我几年的账单)。不断学习是成为程序员的巨大好处之一。

  • 所有很酷的项目都可能使用高级开发人员喜欢的语言。知道这种语言后,您便可以从事这些项目的人才库。

  • 大概有人在付钱给您以某种方式完成某些工作。其他任何响应都可能是从属不服从,并且可能会以糟糕的结果结束。

高级开发人员/架构师通常会选择商店使用的主要语言,并确保每个人都使用该语言。这样,公司就可以建立某些技术的知识库,以便一个员工(您)可以休假,而其他人可以在您离开时拿起代码并对其进行修复。公司还可以引进相关的培训人才,而人力资源部门将知道在简历中寻找哪些流行词。

通过学习他的语言并将其用于工作,您积累了有效宣传自己喜欢的语言所需的政治资本。许多公司都有官方的基础结构语言和报告的官方脚本语言。准备一份利弊清单,以显示他的语言擅长的地方以及您的语言擅长的地方,以及每种语言的不足之处。您需要将此列表保留在特定应用程序的上下文中,例如您正在编写的报告。计划与他在一起的时间,以私下和尊重的方式向他显示该列表,并与他讨论。写下他的反对意见,在会议之后进行研究,如果您有很好的反对意见,则计划召开后续会议。

祝好运!


4
但是真的有谁想学习VB?
迈克尔·布朗

粉丝喜欢VB?我相信您可以通过VB赚到很多钱,但是我在职业生涯中一直为此大喊大叫。我仍然不喜欢选项1或3。我将添加选项4:更新您的简历并找到一份新工作。另一种选择5:更新Fanboy的简历并找到HIM的新工作!如果这不是一个选项,那么我先前对选项2的建议仍然适用。
GlenPeterson

7

表明在特定情况下,另一种语言是更务实的选择。

如果该人对C ++充满热情,并且您正在从事Web应用程序项目,那将不会太困难。同样,某些上下文非常倾向于函数式编程,而使用非函数式语言不是很明智。

笔记:

  • 避免您和他的首选语言非常相似的情况。

    例如,我很难想象Java比C#更好,或者C#比Java更好。

  • 请记住,语言的选择通常是主观的,更多是由开发人员的先前经验来解释的,而不是某些基于证据的要素。

    例如,如果我被要求做一个与金融业相关的应用程序,即使我发现Haskell更合适和真正令人兴奋,我仍然会使用C#而不是Haskell。这种选择的原因是我拥有多年的C#经验,但是谈到Haskell时,我只阅读了一些教程,并且从未专业地使用过它。


1
Linq想说一句话。;)
sergserg 2012年

@MainMa,不要说C#几乎不可能比Java更好。它工作更快,并且具有很多内置功能)))
superM 2012年

14
一路狂迷!
Froome 2012年

2
@superM:“更快”是主观的,我什至不会回答这个论点。至于内置功能,Java的内置功能对我来说看起来很大。
阿森尼·穆尔琴科

3
“ [语言选择]可以通过开发人员的先前经验来解释,也可以通过开发人员当前的专业目标来解释,即“我喜欢用X(以公司的美元为单位)熟练使用”。
funkybro 2012年

3

答案是2)继续。

  1. 闭嘴的唯一方法是使自己的语言流利(某种程度上)。
  2. 生产力的损失不是问题。您正在按照上级要求进行操作,因此项目必须适应生产力的变化。
  3. 学习一种新语言将使您的大脑功能更好。
  4. 学会对学习新语言持开放态度,将对您有更大的帮助。

这是双赢。请享用!


3
即使新语言是VB,这也有效吗?
Nadir Sampaoli 2012年

学习Visual Basic教会了我很多有用的东西,如果我当时坚持使用自己选择的语言,我将不会学到(如果我没记错的话,是C和PL1)
Dominic Cronin 2012年

2

答案是您不处理它。与他们吵架只会将辩论者拉低至他们的水平(在这里他们以经验击败了您),并且最终因为他们的心胸狭窄而没有建设性。

忽略他们支持或反对他们的语言的任何论点,并下定决心。使用通常的技术,例如避免眼神接触,单音回音并在保持沉默时移至新的对象。训练他们惹恼您旁边的人。

这里的挑战是风扇男孩将语言与他或她的身份相关联,并且与该语言相关的任何否定性都是个人的。不要攻击或防守。直接无视(好了。


你不能永远忽略。特别是当那个人说服您使用他们选择的语言时
superM 2012年

2

真正完成工作的脚本很少有。我最终把许多这样的东西放到Wiki或存储库中,以防再次需要。

即使我认为事情不在共享水平之下,我的队友也常常会感到与众不同。例如,我的.profile中有一个rgrep别名。这只是带有参数的find语句,因为我无权访问该服务器上的实际rgrep。队友很狂热,想要在Wiki上发布。是的,一行声明。显然,我们没有关于实现语言的争论-它必须是UNIX。但是它突出了需要做团队中其他人可以理解的事情。

另一个旋转是高级开发人员可能有使用该语言的原因,而您对此并不了解。你有问过吗

也许尝试一次用两种语言制作相同的脚本,以说明您的语言为什么更好。


1

您应该尝试雾化。这意味着要同意歌迷的话(部分或全部),但是要自己做,除非明确指示要这样做。


1
你是对的(原则上;)。
yannis 2012年

3
被动进取吗?
Gary Willoughby 2012年

被动攻击性和使用技巧来对待自信的人是有区别的。当然,如果果断归结为教条,那么这可以归结为被动攻击行为。在那种情况下,情况仍然很可怕……所以最好的选择是离开。;-)
Peter K.

0

被动攻击性选项1,3会导致更多的情绪困扰,所以给我一个2)忍住下巴。

有关此路的一些一般建议:4)如果听不懂高年级的学生,请自己学习语言/编译器设计。选择一种语言并了解其中的想法。在功能,性能和表达能力之间要进行权衡。还有什么其他选择。仅此一项就可以赋予您非人类的编程超级能力。甚至要学习NBL,这将是巨大的。

通过对他人发表意见来主张自己,这会抑制生产力和沟通能力。人们可能会认为放弃情绪上的冲动会有所帮助,但这只是他们不安全感的临时帮助。

谦虚友善并提供建议,并不断提高自己的能力,将会在技术层面上表达您的直觉。您会感觉更好,并能看清事物的本质,因为您可以推理。当您将批评外部化为技术背景时,很难生气。

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.