通过多语言开发持续学习

当您的Google搜索返回的结果少于一百万个时,您发现了一个有趣的发展主题。

在过去的两年中,我花了大量时间在使用不同的编程语言。 我已经了解了ES6的基础知识,并使用Node.js编写了一些API和CLI。 我使用第一个Python脚本(phe!)使任务自动化,并在Go中实现了并发奇迹。

但是在意识到我接触过多少种语言之后,我开始认真考虑它。 公司是否应该鼓励多语言软件开发作为一种实践? 这促使我进行一些基本的搜索,这使我得到了……颇有争议的结果。

什么是多语种?

让我们从定义开始。 如果搜索“ polyglot开发人员”,“ polyglot工程师”,“ polyglot程序员”或类似的内容,则可能会得到不同的结果。 有些文章将了解两个不同的Web框架视为多语言。 其他人则认为对两个云提供商的理解是多语言的。

尼尔·福特(Neal Ford) 在2006年创造了“多语种编程”这一特定短语。 但是,出于本文的目的,我将以更通用的语言Wikipedia对polyglot的定义开始:

多种语言或多种语言是掌握多种语言或掌握多种语言的状态的能力。

就软件开发而言,这将转换为:

Polyglot开发人员具有掌握或已经掌握多种编程语言开发的能力

首先, 反对成为一名多语言开发人员是什么情况?

反对多语言开发人员的案件

搜索后,第一个链接是TechRepublic帖子,标题为“ 开发人员称其退出多语言编程 ”。 这是该文章的线索:

尽管开发人员在编程语言,数据库等方面享受了新的选择,但他们越来越要求整合以简化开发。

其他几篇文章也回应了这些想法。 他们提到,多语种软件开发增加了复杂性,或增加了公司维护项目的成本。 DZone中的 两篇文章都提到了以上问题以及更多内容。

在我所读的大部分文章中,多语言开发的不利之处通常分为两类:

  • 公司或开发商的赞助商完成多语种工作成本高昂/难以维护/风险/复杂
  • 开发人员专注于多语言开发是复杂/累人/分心的

尽管这些都是合理的关注点,但我认为,如果采取正确的方法 ,对于多语言开发人员来说,情况就更强大

多语言开发人员案例

重要的是要注意,支持多种语言开发的职位数量要大得多。 正如Dean Wampler 所说 ,最大的关注点似乎在于多语言开发如何使人们“为特定工作使用最佳工具”。

有数百个示例,其中包括使用多语言开发构建的流行工具,例如Emacs和Adobe Lightroom。 但是,我将从另一个角度看待这个问题:让我们看看人类语言世界中的多种语言!

如果您告诉父母他们的孩子学习第二语言是个坏主意,他们会难以置信地盯着您。

您可能已经看过至少一篇吹捧双语或多语制好处的文章。 列举的共同利益包括诸如开辟新机会之门,增加思维多样性,更好地理解不同文化以及仅仅是被更多重视。

有研究指出,成为人类多种语言可以带来积极的好处。 在一份可用研究的概述中,作者写道:“……使用执行功能系统时,多语种人会不断地无意识地进行练习……”( Diamond 332 )。 在对现有文献的荟萃分析中,另一位作者写道:“双语者也显示出解决问题能力增强的证据,尤其是在需要执行控制的任务上……”( Adesope 210 )。

从个人的角度来看,以人类语言说多种语言似乎有很多好处。 尽管似乎很少(如果有的话)开展有关多语言编程(以及扩展为多语言开发)的认知优势的研究,但让我们暂时抽象地考虑一下:即使开发人员在该语言中并未积极使用多种语言,在日常工作过程中,他们在其他编程语言中的经验会影响他们的思维过程和决策吗?

绝对。 例如,尽管我经常使用JavaScript,但我对C也很满意。 虽然我不定期练习C编程,但是根深蒂固的边界检查,手动内存管理和有限的数据结构支持使我对解决问题的想法有所不同,即使使用其他语言也是如此。

多种语言开发甚至与编程有关吗?

可能多种语言开发并不是要在项目上积极使用多种语言。 与语言学相比,我们对学习新工具和技术的认知优势的理解是有限的。 持续学习是我们所有人都必须从事的事情,因为它不仅使我们更好地应对不断变化的问题和约束,而且以不同的方式吸引了我们的大脑。

看来,个人至少应探索多语种发展,作为一种持续学习的形式。 理想情况下,公司应该将其视为对员工进行投资的一种方式,鼓励持续学习最终也将使公司受益。 虽然在软件项目中实践新语言可能并不总是很有意义,但它可以帮助公司探索新的想法,同时也可以接受长期的变化和采用。

毕竟,要让开发人员在编程人员之间互相说服,没有比在开发人员之间进行健康辩论更好的方法了。

你怎么看? 多语种发展有价值吗? 它会改变您解决问题的方式吗? 发表评论,让我知道!

如果您有兴趣与我们联系,请访问 LinkedIn Twitter ,Medium和许多其他平台。

From: https://hackernoon.com/continuous-learning-with-polyglot-development-9308df575a2e

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值