问题

全世界有上千种编程语言,为什么程序员都只学习那几个主流语言?

回答
这就像问为什么世界上有成千上万种食谱,但大家日常最常做的还是那几样家常菜一样。原因嘛,说起来也是一连串的现实考量,而不是什么神秘的预言。

首先,得谈谈“效率”。程序员也是人,要吃饭,要养家,要在这个世界上生存。学习一门新的编程语言就像学习一门外语,或者说,学习一项新的复杂技能。这中间需要投入大量的时间和精力去理解它的语法、特性、生态系统,还有各种最佳实践。

想想看,如果你想尽快找到一份能养活自己的工作,你会选择去研究一门极小众、几乎没有公司在使用、招聘需求几乎为零的语言,还是去学习一门大家都需要、市场需求旺盛、岗位众多的语言呢?答案显而易见。主流语言之所以主流,很大程度上是因为它们被广泛应用,这意味着大量的企业在使用它们开发各种各样的产品,从网站、手机应用到服务器端系统,再到数据分析和人工智能。这些公司为了维持和发展业务,自然会招聘大量熟悉这些语言的程序员。所以,从经济和职业发展的角度来看,学习主流语言是最高效的选择。

其次,是“生态系统”。一门编程语言的光芒不只在于它本身的语法有多么优雅或者强大,更在于围绕它建立起来的庞大生态系统。这包括:

库和框架(Libraries and Frameworks): 这是程序员的“工具箱”。主流语言通常拥有海量的、成熟的第三方库和框架,可以帮助程序员快速构建功能,解决复杂问题,而无需从头开始造轮子。比如,想做个网站,有了像Python的Django或Flask,JavaScript的React或Vue.js,你就能事半功倍。如果一门语言没有这些现成的工具,你可能就要花费数倍的时间去自己实现,那效率可想而知。
开发工具(Development Tools): 好的集成开发环境(IDE)、调试器、性能分析工具、版本控制系统(Git是必须的)等等,这些工具能极大地提升开发效率和代码质量。主流语言通常有非常完善的开发工具支持,能够提供语法高亮、代码补全、智能提示、错误检查等功能,让编写代码的过程更顺畅。
社区支持(Community Support): 当你遇到问题时,能否快速找到答案至关重要。主流语言拥有庞大的开发者社区,这意味着你可以在Stack Overflow、GitHub、各种论坛、博客上找到海量的问题解决方案、教程、技术文章,甚至可以直接提问并获得帮助。一个活跃的社区就像一个巨大的知识库和互助网络,能让你少走弯路,快速成长。
文档(Documentation): 好的官方文档和社区贡献的教程,是学习和使用一门语言的重要资源。主流语言通常有清晰、全面、易于理解的文档,这大大降低了学习门槛。

再者,“行业标准和规范”也是一个重要因素。在很多行业,特别是一些大型企业或者对稳定性和安全性要求极高的领域,已经形成了事实上的技术栈标准。例如,很多企业可能会选择Java来构建其企业级应用,因为Java在过去很长一段时间里都是企业级开发的宠儿,积累了深厚的技术基础和丰富的经验。如果你想进入这些行业,学习他们正在使用的语言就是最直接的途径。

而且,编程语言的学习曲线也并非所有语言都是平等的。有些语言设计得更直观,更易于入门,上手快,这些语言自然更容易被初学者和想要快速产出的人所青睐。而一些语法复杂、概念晦涩的语言,即使功能强大,也可能因为学习成本过高而被一部分人望而却步,除非有特定的需求驱动。

最后,还有一个“惯性”和“风险规避”的问题。一旦一家公司建立了自己的技术栈,尤其是大型公司,要推翻重来或者引入全新的技术栈,会面临巨大的投入和风险。他们需要考虑培训现有员工、兼容现有系统、招聘新人才等等一系列问题。因此,大多数公司更倾向于在现有的成熟技术上进行迭代和扩展,而不是冒险尝试一个全新的、未经充分验证的语言。这种惯性使得主流语言能够持续保持其市场份额。

所以,你看,程序员们集中学习那几个主流语言,并不是因为他们没有眼光或者不愿意尝试新鲜事物,而是因为这是一种经过现实检验的、效率最高、风险最低的职业选择。这些主流语言之所以能成为主流,是因为它们在上述的各个方面都表现出色,能够满足绝大多数开发者和企业的需求。当然,这并不意味着小众语言就没有价值,它们往往在特定的领域有其独特的优势和应用场景,吸引着那些有特定需求和兴趣的开发者去深入研究。但对于大多数人来说,选择主流语言,就是选择了更平坦的学习道路、更广阔的就业机会和更丰富的资源支持。

网友意见

user avatar

学编程是用来做事的,不是装逼的。主流那几种C++, Java, Javascript, Python,特点是各有各的缺陷(有的还很严重,比如JS那渣设计让人吐槽不能),但是做擅长领域的事情都很高效。虽然在学术上不完美,但工程上过得去就行了。软件开发说到底是一个工程问题。

还是拿Javascript这门渣做例子,虽然丑,有些设计不着边际,但架不住用的人多(浏览器打下的底子,有哪个语言的解释器普及到像浏览器那样每台机子都有吗?),所以有问题有社区帮你解决,从低层比如babel到高层(各种库)全方面支持,踩到坑Stackoverflow分分钟有答案。越是支持充分,用的人越多,人越多支持越充分,这是个良性循环。至于语言本身的问题,上网发帖骂两句发泄下就好了(甚至都不用亲自骂,槽点早就有大牛写好了,你去点个赞就行),骂完还是真香。

你要是换一门学术上完美但是冷门的语言呢?比如Lisp... 做个项目都组不到团,招聘一下,来的人大致都是只写过玩具代码的。踩到坑上google一搜,屁都没有,只好自己解决。搜开源库要不没有只能自己造轮子,要不就是个0.1版几年前的库,原作者生死不明,Github上开个ticket没人理。再完美有什么用呢?

所以说到底,写程序是为了做事,赚钱,不是出来装逼的。就比如现在找个工作都得英语六级,你去读个毛利语博士学位然后嚎叫你多小众多珍贵,你看有没有人理你啊

user avatar

编程语言是用来写软件的,只是写软件的工具而已。等你掌握编译原理之后也能随便自己设计点不同的编程语言来,只是通常都会存在设计问题,也没有针对性优化而已。

假如你现在用一个自己设计的语言来编程序,我们先假设你设计的非常好,但是一般总归有bug的,你还负责一直给编译器改bug吗?(其他小众语言同理)就算有些语言始终有支持,但是语言冷门导致的就是学习的人少,做大工程的时候你怎么招人?难道招了人之后再额外投入资源培训?还有就是冷门语言基本上是没有生态圈的,意味着没有现成的东西可以用。好比你现在想用分布式计算模型比如说Spark的RDD,难道你要自己实现一遍?

编程不等于软件开发,普遍还是不理解......

类似的话题

  • 回答
    这就像问为什么世界上有成千上万种食谱,但大家日常最常做的还是那几样家常菜一样。原因嘛,说起来也是一连串的现实考量,而不是什么神秘的预言。首先,得谈谈“效率”。程序员也是人,要吃饭,要养家,要在这个世界上生存。学习一门新的编程语言就像学习一门外语,或者说,学习一项新的复杂技能。这中间需要投入大量的时间.............
  • 回答
    武器发展史上有过几次看似潮流,但最终被证明是方向性错误的情况。这些错误往往并非全然否定某种技术或理念,而是在于其被过度强调、应用范围被错误判断,或者忽略了更根本性的变革。一、 纯粹的“空中优势”迷思:战略轰炸机独霸天空的时代二战后,尤其是在冷战初期,核武器的出现极大地改变了战争的逻辑。许多国家,尤其.............
  • 回答
    这个问题很有意思,也充满了戏剧性。不过,咱们得掰开了揉碎了聊。首先,要明确一点,如果真的出现“核武器消失”这个前提,那整个世界的军事格局都会发生翻天覆地的变化。核武器是现代大国之间战略平衡的基石,没了它,很多原有的顾虑和威慑就没了。俄美联合,对阵“剩下全世界联军”——这个“剩下全世界”是个关键。 .............
  • 回答
    世界上有无数令人惊叹的潜水胜地,每个地方都有其独特的魅力和水下奇观。选择“最值得推荐”是一个非常主观的问题,因为这取决于个人的潜水经验、偏好(例如,是喜欢色彩斑斓的珊瑚礁、巨大的海洋生物,还是沉船探险),以及预算和旅行时间等因素。不过,我可以为您详细介绍一些在全球范围内享有盛誉、被广泛推荐的潜水胜地.............
  • 回答
    世界上确实存在不少“两地直线距离不远,但互通必须绕一大圈”的例子,这通常是由于地理、政治、历史、经济等多种因素造成的复杂局面。以下是一些详细的例子:1. 帕米尔高原的尴尬:中国与吉尔吉斯斯坦、塔吉克斯坦(以及更广泛的中亚地区)的陆路交通 地理直线距离: 从中国新疆的伊犁哈萨克自治州西部边境,到吉.............
  • 回答
    世界上有很多大型科研项目因各种原因而失败,这些失败项目通常规模庞大、耗资巨大、目标远大,但最终未能达到预期目标。它们的失败原因也多种多样,包括技术瓶颈、预算超支、政治干预、战略失误等等。下面我将详细讲述一些比较有代表性的失败大型科研项目:1. 超级高铁(Supersonic Transport S.............
  • 回答
    到目前为止,世界上 没有一个主权国家将政党直接、正式地体现在其国旗上。国旗通常是国家主权、国家象征、历史、民族和理想的代表,而不是某个特定政党的标志。将政党标志放在国旗上,在很大程度上会与国家的统一性、超越党派的代表性原则相悖。为什么会产生这样的疑问?或者为什么人们会有这样的联想?产生这种疑问的原因.............
  • 回答
    世界上存在着许多不为人熟知,却又非常独特且重要的职业。这些职业往往服务于特定的需求或领域,其专业性和所需的技能也可能超乎寻常。下面我将为你详细介绍一些这样的职业,力求展现它们的独特性和价值:一、 专注于“声音”的职业: 电影对白剪辑师 (Dialogue Editor/ADR Editor): .............
  • 回答
    世界上有无数令人惊叹的人和事,它们以各种形式挑战着我们的认知,激发着我们的好奇心。以下我将从不同角度,尽量详细地讲述一些让我觉得不可思议的例子:一、 人类自身的潜力与成就: 极限生存者: 南极探险家们: 想象一下,在零下几十度的严寒中,在永恒的黑暗和极端的孤独中,为了科学探索而前行的.............
  • 回答
    世界上有很多极其厉害但又鲜为人知的公司,它们可能不像苹果、谷歌那样家喻户晓,但却在各自的领域拥有深厚的技术实力、庞大的市场份额或关键的行业影响力。以下列举一些,并尝试详细阐述:1. ASML(阿斯麦):半导体制造的绝对霸主 公司概况: ASML Holding N.V. 是一家荷兰公司,是全球唯.............
  • 回答
    火车站,在很多人心里或许只是一个功能性的场所,承载着旅途的开始与结束。但殊不知,在世界的某个角落,有些火车站早已超越了其本职,蜕变成了独一无二的风景,让人驻足赞叹,甚至成为旅行的目的地本身。今天,就让我们一起走进这些充满惊喜的“火车王国”,探寻那些令人难忘的有趣火车站。1. 加拿大:班夫火车站 (B.............
  • 回答
    当然,我们来聊聊世界上那些袖珍王国,它们虽然小巧,却各有千秋,历史悠久,文化独特。一、 Vatican City (梵蒂冈)说到迷你小国,怎么能不提梵蒂冈?它可是世界上面积最小的主权国家,位于意大利首都罗马的西北角,三面被罗马城环绕,一面与意大利接壤。总面积不过0.44平方公里,比咱家小区还小一点.............
  • 回答
    有些战争的影响力如同潮水般深刻,却又往往淹没在历史的喧嚣之下,不为大多数人所熟知。它们或许没有改变世界的政治版图,却悄无声息地重塑了我们思考、生活乃至未来的方式。今天,我想带你走进一场这样的战争——一段被遗忘的“种子战争”。这不是一场硝烟弥漫、战鼓震天的冲突,没有旌旗招展的军队,没有英雄主义的传奇。.............
  • 回答
    在世界各国的货币中,许多都因其精美的设计、丰富的文化象征以及高质量的印刷工艺而备受赞誉,被称为“高颜值”货币。这些货币不仅仅是交换的媒介,更是一张张承载着国家历史、文化、艺术和自然风光的微型画布。以下是一些被广泛认为颜值很高的货币,并会尽量详细地讲述:1. 加拿大元(CAD) 原因: 加拿大元以.............
  • 回答
    世界上有无数令人惊叹的毕业设计、毕业作品和毕业论文,它们不仅是学生们学术旅程的顶点,更是创新、才华和对未来社会贡献的有力证明。挑选“惊人”的标准可能因人而异,但通常包括其独创性、技术难度、艺术感染力、社会价值、解决问题的能力以及对现有领域的突破。以下我将列举一些在不同领域具有代表性的“惊人”毕业作品.............
  • 回答
    目前世界上绝大多数国家的国旗都带有某种图案、颜色组合或象征意义,纯色国旗的情况非常罕见,而且常常会引起一些历史或政治上的讨论。严格意义上讲,目前世界上的主权国家,其国旗并不是纯色的。不过,我们可以从历史的角度或者非常规的角度来看待这个问题,这涉及到对“纯色”的定义以及一些国家在特定时期的旗帜。为什么.............
  • 回答
    这是一个非常有趣且引人入胜的问题,它触及了生物进化、生理学和物理学的交叉领域。为什么自然界有能放电的生物,却似乎没有能喷火的动物呢?要详细解答这个问题,我们需要从多个角度来分析。一、放电的生物:科学原理与进化优势首先,让我们看看为什么某些生物能够产生和控制电流。 生物电的产生机制: 许多生物体内.............
  • 回答
    世界上不乏宏伟的工程项目,它们的设计初衷是为了改变世界、解决重大问题或展示人类的工程实力。然而,并非所有这些项目都能达到预期的目标,有些甚至以彻底失败告终。这些失败的大型工程项目通常伴随着巨额的成本超支、严重的延误、未能实现预期的功能、对环境造成破坏,甚至导致人身伤亡。以下是一些世界上著名的、失败的.............
  • 回答
    世界上至今仍有许多令人费解的悬案,它们像暗夜里的星辰,虽然遥远却从未真正熄灭,持续吸引着人们的好奇心和探究欲。这些案件往往因为信息缺失、证据模糊、时间久远而变得扑朔迷离,成为了历史长河中无法解开的谜团。一、开膛手杰克(Jack the Ripper):伦敦阴影下的幽灵提到未解悬案,开膛手杰克的名字几.............
  • 回答
    放眼世界各地,我们不难发现许多地名中巧妙地融入了表示“老”或“旧”的字眼,它们或诉说着悠久的历史,或描绘着古老的风貌,为这些地方增添了独特的韵味。这些名字背后往往承载着一段段鲜活的记忆和故事,值得我们细细品味。欧洲:历史的印记,古老的回响在欧洲这片古老而充满故事的大陆上,带有“老”或“旧”字样的地名.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有