我应该学习哪种编程语言?

每周几次,Reddit上的联系人/阅读者/某人会问我关于他们接下来应该学什么的建议。 这个问题来自初级和经验丰富的程序员,并且被提出为开放式(“ 我应该学习什么? ”)和多项选择(“ Python或Ruby? ”,“ Django或Flask? ”,“ iOS或Android” ? ”等)。

除非是我与之合作的人,否则通常提供的信息或上下文很少(或根本没有),使任何答案都具有推测性。 用有关补偿数字的硬数据甚至关于未来对技能的需求的见解做出回应可能会有所帮助,但是盲目提供职业建议而又不了解此人是不负责任的。

简单的回答(从长远来看 )是说,总体的编程能力和知识是最大程度地提高就业能力的最重要因素,并且语言和工具对于经验丰富的专业人员而言大多是可互换的。 “ 任何优秀的工程师都可以在n周/月内学习一种新语言 ”,这是高级人员的普遍看法。 这种说法的正确与否尚有待商it,但它仍然没有考虑多种因素,这些因素可能会使一种特定语言在任何给定时间比某个人更偏爱某个人。

人们需要将学习视为一项定期投资,而投资者则需要考虑使投资回报率最大化。 在决定将时间花在哪里之前,研究和评估以下方面可能是明智的。

  • 编程经验和背景知识 –很少或没有编程经验的人通常被推向几种语言,其中Python和Ruby在针对初学者的训练营和课程中最受欢迎。 有大量现实选择的经验丰富的程序员可能会考虑根据已经熟悉的范例和概念来选择语言的速度。 以您所知道的为基础 。 在90年代后期,许多Java开发人员都是C ++的难民,过去十年中的Java专业人士正在冒险进入Scala和Go。
  • 学习资源的可用性 –人们以不同的方式学习,因此,重要的是要首先认识自己的最佳学习方法,然后研究可用的资源。 那些做得最好的人会发现为专有或高度专业化的语言找到资源和工具非常困难或昂贵。 课堂学习机会或有关新兴语言的书籍通常不存在,或者相对于通用语言而言,其成本太高。 对较新工具的文档和支持可能参差不齐或不可靠。
  • 市场供求 –如果就业能力是学习的动力(而不是智力上的好奇,无聊等),那么当前和预计的人才供需都值得注意。 供求不一定是普遍趋势,而是可以根据地理位置和经验水平而变化。 例如,对入门级Haskell人才的需求几乎不存在,但随着经验的增长而大大增加。 在所需的地理区域内专门搜索工作,并使用诸如Indeed's Job Trends之类的工具进行研究,可能会对本地和国家数据有所了解。
  • 专业目标 –您要从事哪种类型的产品? 对游戏感兴趣的人可能会受益于与对Web开发或嵌入式系统感兴趣的人不同的选择。 您是通过专业成就来衡量工作满意度还是薪酬是更大的动力? 某些行业的报酬要高于其他行业,并且某些语言在这些行业中更为普遍。
  • 流行和采用趋势 –学习一种雇主不使用的深奥语言可以帮助您成为一名更好的整体工程师,但对于将食物摆在桌面上却毫无用处。 努力在数小时后提高某种语言的生产率可能会花费一些时间,并且在学习过程中,语言的采用水平和/或流行程度可能会发生变化。 研究当前和历史数据可能会有所帮助。 除了Indeed Trends外,其他来源还包括ThoughtWorks RadarRedMonk排名TIOBE Index 。 始终考虑评级的组合方式,过去的表现以确定一段时间内的趋势,并记住其他人可能正在使用相同的数据来做出决策。 仅仅因为今天的语言是“#1”并不意味着它会在一年之内,并且在市场供应赶上来之前,找到并寻找需求量不大的语言阵营是提高就业能力的一种方法。
  • 社区或供应商的支持 –是否有一群人致力于保持语言的活力和相关性? 该语言是由信誉良好的供应商提供的,还是该语言的管家处于不利地位而无法继续? 关于社区, Raganwald在2月发布了此消息,并引起了共鸣。

我实际上并不嗅探有趣的语言,而是嗅探有趣的语言社区。 我跟随人民。

— Reginald Braithwaite(@raganwald) 2015年2月20日

我错过了什么?

翻译自: https://www.javacodegeeks.com/2015/04/what-programming-language-should-i-learn.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值