Programming languages 使用“a”的道德规范;“边缘”;你的工作语言?

Programming languages 使用“a”的道德规范;“边缘”;你的工作语言?,programming-languages,Programming Languages,我只是想在这里征求一些意见。对于使用一种在你所在地没有广泛使用的语言(和/或框架)为一家公司编写软件,你有何感想?例如,我住在一个以.NET为主的地区,偶尔做一些PHP工作。假设我正在学习Python并决定使用它为我的工作编写软件(我是一个“一人小组”,所以我几乎可以使用任何我想要的东西) 现在他们的软件是用当地几乎没有人使用或知道的语言编写的;如果我离开公司,他们基本上没有人可以维护/补充,除非他们聘请我作为顾问。虽然这对我来说真的很好,但它似乎有点“扭曲”——没错,这就是商业世界的运作方式

我只是想在这里征求一些意见。对于使用一种在你所在地没有广泛使用的语言(和/或框架)为一家公司编写软件,你有何感想?例如,我住在一个以.NET为主的地区,偶尔做一些PHP工作。假设我正在学习Python并决定使用它为我的工作编写软件(我是一个“一人小组”,所以我几乎可以使用任何我想要的东西)

现在他们的软件是用当地几乎没有人使用或知道的语言编写的;如果我离开公司,他们基本上没有人可以维护/补充,除非他们聘请我作为顾问。虽然这对我来说真的很好,但它似乎有点“扭曲”——没错,这就是商业世界的运作方式

你的想法是什么

我应该提到的是,这是一家非常小的公司,我是唯一的IT人员,所以我有权选择我们的开发平台。我不是专门使用Python,而是选择它作为示例,因为我的领域几乎完全基于.NET;我不再在乎.NET了,这就是为什么我不想考虑使用它的原因。此外,该公司是。。我们怎么说。。。非常节约,不会购买.NET所需的资源(例如服务器许可证、SQL许可证、Visual Studio、组件)。我个人有一个MSDN订阅,但我不能为他们使用


另外,FWIW还有该地区使用我正在考虑使用的语言(Ruby-on-Rails)的人,但人数远不及.NET开发人员。这并不是说我在使用只有我知道的东西。

我认为你有责任决定最适合这份工作的语言。这包括对语言和框架优点的客观评估,包括你自己的语言技能(因为你是做这项工作的人),以及其他人的可维护性。只有你和你的公司才能决定对每一项都有多重要。

如果你只是为了这个目的而使用它,这确实有点不正确

然而,如果你使用它是因为它是最好的解决方案,那么你就清楚了

此外,他们还可以雇佣其他懂python的人


我的职业道德不允许我这样做只是为了保住我的生意。

我们最近在我的店里遇到了一个糟糕的员工,他突然决定使用Perl而不是任何版本的.NET来做一些简单的报告工作(在.NET中也可以轻松完成)。这太可怕了。我建议按照规定使用平台,并与运行联合体的人员清除任何偏差…

我个人的意见是,您应该尽可能尊重您所在位置的工作实践,无论是缩进样式、命名约定、测试程序还是编程语言

如果你强烈地认为一种不同的语言更适合某项任务,那么就游说他人接受它(对其他人进行必要的再培训)


我认为,故意留下一个别人无法维护的应用程序是非常糟糕的职业行为。

我认为使用python是正确的做法,如果它能满足客户的要求,并比其他方法节省他们的钱。应用程序中是否有各种各样的字符需要处理是无关紧要的,除非他们将此指定为非功能性需求


像往常一样,为手头的工作使用最好的工具将为您带来好处。

我这样做了,我的情况是Delphi。我认为德尔菲是经常使用,但当我在找工作。。。。我一生中看到了3份德尔福的工作机会。我还看到了更多我记得的java/j2ee/php产品。我认为这是个坏主意,我把时间浪费在学习高级delphi编程上,我可以更好地使用j2ee,从更好的公司开始,也许现在可以赚更多的钱


如果他们找不到人来维护应用程序,你会一直这样做,当你退出时,他们将不得不重新编写。我认为顾问这个东西不常用。

这要看情况而定。我在一个地方用Java做了一些通常只是bash脚本的事情。为什么?因为他们都是Java程序员,经常会有实习生/合作伙伴,他们可能知道也可能不知道其他任何事情(可能知道也可能不知道Java有多好)


不过,其他地方往往有经验更丰富的程序员,我希望他们能够不费吹灰之力就找到另一种语言。所以,我会选择对项目“最好”的方法。

对于你自己的个人发展,如果你的领域是由.net主导的,为什么你不想在这方面而不是Python方面跟上进度呢


从道德的角度来看,我不会写一些别人不容易维护的东西

我同意mquander上面所说的,但是您可能还需要准备好向您的开发经理解释为什么要使用这种其他语言。如果他/她同意,也许这种语言会在公司内部得到更广泛的采用。

从你现在和中期给公司带来的商业利益的角度来考虑


如果你能用一种不同的技术更快地交付一些东西,并且它仍然实现了目标,我会去做——但我还是会让其他人知道并尊重公司的最终决定。但是,如果这纯粹是为了你自己,那么我可能会更小心一点。

我认为这是一个非常糟糕的主意。对你来说,这意味着在你想休息一天(或一周)的情况下,没有备份。对他们来说,如果你离开或休假一天,就没有其他人了。这是一个众所周知的策略,老实说,可能是不让你留在身边的理由

然而,这也可能是一个将Python引入环境的机会。你可以教别人这方面的知识,并在这是一个好的第三局域网时向管理层解释