首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >取消编程语言的选择?

取消编程语言的选择?
EN

Software Engineering用户
提问于 2014-10-25 17:17:06
回答 1查看 466关注 0票数 -9

今天有许多编程语言可供使用。我的问题是一个特定的工作,你应该使用什么标准来消除其他有同样目的的编程语言的选择?要自信地说我们不会在这份工作中使用这种语言,我们需要知道什么语言呢?我特别寻找的语言,是用来编写后端的web应用程序?你是怎么决定用x语言而不是y,z或w写后端的?

编辑

好的。这里有更具体的版本。

1)我的问题只涉及用于编写网络应用程序的语言。

2)给出3-4个最佳选择,你能不能描述一个人必须学习的语言特征,才能知道该语言是否适合这项任务。我只想要一份在选择语言之前必须考虑的标准清单?

EN

回答 1

Software Engineering用户

发布于 2014-10-25 18:24:36

通常你不能为每一份工作选择一种语言。只是没有足够的时间来学习它,掌握它,对它的打包技术,它的可用模块和程序员的生态系统,它的调试怪癖,等等做同样的事情。更不用说投资于工具、学习和提升时间的经济学了。

因此,语言选择通常更多地基于“我知道什么?”“我所知道的最接近被考虑的工作是什么?”很少能真正遇到零基格林菲尔德干净的纸张的决策。必须考虑到你现有的技能和行李.

但偶尔我们也会在我们的技能集中添加另一种语言/环境/方法,或者更新/重新考虑在我们已经知道的领域中使用的工具。那么我们就有了一个不那么有限度的决定。消除可能性的一些共同考虑因素:

  1. 如果我是一个专业的Perl程序员(例如,对于一种实用的、动态的、通常是单线程语言),我可能会决定跳转到Python或Ruby (其他动态的、实用的语言)。我不太可能全心全意地接受像OCaml和Haskell这样的语言,这些语言是功能性的,静态类型的,通常专注于不可变的数据结构,需要大量的元/概念编程等等。但是大多数人和组织考虑“相邻的机会”,而不是“一次改变一切”的转变。
  2. 受欢迎的人、社区的人和假定的轨迹人都是社会生物。选择语言/环境也是一项投资。因此,我们倾向于转移到受欢迎的地方,那里有强大的、支持性的社区,那里正在进行令人兴奋的变革和创新,这似乎是“未来的浪潮”。不管我有多喜欢Smalltalk,比如说,这不是未来的潮流,没有一个大的社区,等等。(对不起,乡巴佬!我也喜欢!)相反,我更倾向于选择Ruby或其他受Smalltalk启发的语言,而不是Smalltlak本身。您可以看到这种“充满活力的社区正在形成的地方”的动态(支持CoffeeScript、Go、Rust、Scala……)。
  3. 尽管数十年来一直致力于这一目标,但没有哪种语言最适合所有的工作。试图从系统和嵌入式计算一直扩展到抽象的业务逻辑的语言最终都会变成巨大的混乱。(看着你我/我,艾达和C++!向他们的支持者道歉!)因此,如果您正在尝试嵌入式或系统工作,您将倾向于选择一个C、D、Go、Rust或类似的语言,这些语言具有特别适合的特性、性能和社区。你可能会看上去“延伸”正常的界限。有一些很好的例子,例如用于嵌入式工作的Java、JavaScript和Python,或者服务器中使用的Python。但是,您不会用Perl编写下一个操作系统的核心,也不会用Python、Ruby或COBOL编写下一个高度线程化的服务器。到目前为止,最高级别的语言和系统仍然是用C和类似的语言实现的,这是有原因的。

总之,你可以放弃语言选择的原因很多,但它们与你目前的技能之间的逻辑和文化距离;它们的相对受欢迎程度、社区和轨迹;以及它们的“能力范围”不同于你想要关注的工作--这些都是主要的排他性力量。

票数 6
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/260911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档