|
|
1
17
语言的生产力既不是唯一的因素,也不是简单的标量。重要问题包括:
|
|
|
2
52
为工程师开设的政治速成课程…尽管所有的使命宣言都是为了听起来高尚和强调社区支持,但每个企业的真正目的是 投资回报率 或者,等价地, 以股权价值最大化 .如果它是一个政府机构,这仍然是一个问题,但合法所有人将没有直接的影响,相反,你将有代理人所有人,如更高的机构或强大的个人官员。 然而,决策几乎总是由 代理人 等等 principal-agent problem (也称为 代理困境 )看来,代理人(管理层)将根据他们的利益做出决定,而不一定按照理论要求根据股东的利益做出决定。在政府机构,这几乎是100%的考虑。 可悲的是,这激起了迪尔伯特和帕金森定律的复杂性。 你能得出的最好结论是,根据风险、成本和利益作出决定是合理的,但往往是基于对代理行的信用和责任以及代理行的理解做出决定,这对委托人来说是一种狭隘的风险考虑,但对委托人来说价值可疑,但至少是一种可识别的考虑。 所以,我们现在应该把这个应用到语言问题上。您的经理可能会避免威胁、风险、丑闻和争议。他将主要通过预算和预期的约束来应用校长的关切。这里有一些应该是不言而喻的例子。 如果您想使用Java或PHP:
(这就是“没有人因为购买IBM而被解雇”的论点。) 如果您想使用Ruby:
如果你想使用Clojure:
|
|
|
3
3
这在很大程度上取决于你现在使用的是什么,你要切换到什么以及为什么很难回答。但这些总是很重要的:
|
|
|
4
3
商业案例是什么? 归根结底就是投资回报率。 它不仅与个人的生产力有关,而且:
等。 |
|
|
5
3
捡起来有多容易? 我发现这并不重要。 它有IDE支持吗? 很重要,但你可以不用它工作。 有可用的调试器吗? 我认为这是我会问的最重要的问题。一旦有了一个可工作的调试器,通常可以完成任何事情。 |
|
6
3
我们今年雇用了一个团队,决定使用 克洛杰尔 作为我们选择的武器。该团队的背景主要是基于Java的,但也有各种各样的其他语言来进行业余爱好工作。 我们考虑的标准是:
我们认真考虑了groovy、scala和clojure。我真的很喜欢用于轻量级应用程序的groovy,但我对性能有严重的疑问。scala和clojure在上面的所有点上都提供了很多东西。最后,我们的问题域涉及很多符号操作,我们觉得Clojure会是更好的匹配,但我怀疑scala也会很好地工作。 |
|
|
7
2
您的新语言将提供哪些现有语言尚未提供的功能? 今天我们有各种各样的语言。因此,在引入一种新语言之前,请确保没有一种语言可以完成您的新语言所做的一切。并且确保您确切地知道新语言将提供哪些功能,而这些功能不是以相同的组合或其他语言提供的。 当然,除非你只是为了你自己的教育而这样做——在这种情况下,忘记这个问题,去做吧! |
|
|
8
2
这将如何提高我的生产力? 如果这不能回答,打包回家。 |
|
|
9
2
有什么意义?为什么? 它将如何使我的工作更容易? |
|
|
10
2
问题1:我可以雇佣具备这些技能的人吗? 问题2:当我打电话给我们的外包合作伙伴客户经理,问一个典型的固定成本项目成本是多少,如果按常规的方式完成,或者使用语言X完成,乘数是否大于1? 问题3:我所在部门的其他人是否也有与我最喜欢的语言大致相同的最喜欢的语言,是否也应该使用他们最喜欢的语言?这样做的实际后果是什么? |
|
|
11
0
要问的一个好问题是,语言/框架周围的社区规模有多大。例如,Ruby/Rails周围有一个重要的社区,这会让我更舒服,因为我不必成为处理特定问题的“第一个孩子”。 |
|
|
12
0
为什么只说一种语言?找出哪些问题是通过哪种语言和提供最优质的服务来解决的。如果服务之间的带宽太高,那么根据哪种语言最能解决这两个问题,将有问题的服务迁移到一起。 |