第一门编程语言,我应该学什么?

article/2025/10/23 8:24:20

作者 | Daniel Bastos
译者 | 弯月
责编 | 郑丽媛
出品 | CSDN(ID:CSDNnews)

软件工程师问我最多的一个问题就是,第一门编程语言应该学什么。这可能是开发人员学习过程中最大的困惑,以至于许多人觉得在得到百分百正确的答案之前,他们什么都不想学。然而现实是,你可以选择任何一种语言!选择哪种语言其实并不重要。

我将在本文中解释原因,并引导你对编程语言建立正确的心态。最后,我们还将讨论如何从眼花缭乱的技术栈中选择一个。
在这里插入图片描述

编程语言本身不是工作

初学者高估这个决定的重要性的主要原因是,他们不了解程序员的工作。作为一名软件工程师,人们付钱给你不是因为你可以使用某种编程语言,而是因为你可以通过计算机来解决问题,并创造价值。随着职业生涯的发展,你需要学习如何使用更简单的解决方案,而当复杂性不可避免时,你要学会如何分解问题,将复杂的系统分解成更简单、更易于管理的小块。你还将学习如何向软件添加新功能,同时还不会增加软件的理解难度。还有最重要的是,如何让别人也拥有这种能力。

请注意,所有上述技能不依赖于任何一种编程语言。它们完全取决于你是否能够理解软件需求、编写算法、将解决方案分解为更小的逻辑单元,以及了解软件的工作原理。专注于这一点比学习任何技术栈都重要。

更好的心态

我并不是说编程语言不重要。我认为,我们应该将编程语言视为我们可以使用的工具,而不是我们的工作重心。作为一名医生,选择最尖端的设备也是工作中最重要的一部分,这一点毋庸置疑,但你会相信一位连手术刀都拿不稳的外科心脏医生吗?

在选择第一门编程语言时,你几乎没有任何信息,因此这种心态就变得更加重要。人们往往害怕在错误的编程语言上浪费时间,然而他们没有看到的是,每个人都有选择错误语言的经历,而且这与他们的工作没有丝毫关系。

一般来说,选择错误语言的原因有几个:1)人们最终学习了某个以前从未接触过的新领域(也许经过一年的学习,他们才对数据科学有一定的了解);2)他们对已知领域的信息有了更多了解(也许他们找到了更适合数据科学的 Python 库)。

更换语言是工作的一部分

将语言视为工具的另一个原因是,你需要不断更换编程语言。在过去的几年里,每当加入一个新项目,我都需要学习一种新语法。有一次,我接到的第一个任务是修改产品的某个功能,要知道这个功能每天都有几千万的用户使用,而且完全建立在一种我几周前才听说的语言之上。

此外,即使不换项目,团队添加新语言的情况也不罕见,这会迫使所有团队成员在较短的时间内掌握新语法。出现这种情况,是因为某种新语言的出现可以减轻每个人的工作负担,或者是某个重要人物决定采用某种彻底改变行业格局的语言(比如苹果在完全由 Objective-C 主导的 OS 中添加了 Swift 的支持,Google 在 Android 中添加 Kotlin 的原生支持)。

鉴于当今市场上有如此之多的语言,而我们所在的领域又如此活跃,快速学习新技术的能力已不可或缺。有人甚至认为,选择一门错误的语言对你有好处!

各种语言之间有很大的相似性

我知道上述描绘的场景听起来可能有点可怕。但请不要害怕,我并不是说每次你都必须从头开始学习一种全新的思维方式。事实上,快速学习一门新语言是完全可能的,因为编程语言大多遵循类似的模式,只需要学习一次,就可以在其他地方使用。为了说明这一点,我们来看一看用以下两种完全不相关的语言实现同一个简单的算法。
在这里插入图片描述

图:用 Typescript 找出列表中最小的数字
![在这里插入图片描述](https://img-blog.csdnimg.cn/13b3b705925b4d17b8fd4a44db97d1c6.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAQ1NETui1hOiurw==,size_17,color_FFFFFF,t_70,g_se,x_16#pic_center)
图:用 Kotlin 实现同一个算法

如何选择语言

上述我们说明了编程语言不是工作中最重要的方面,你不需要为选择第一门编程语言而感到困扰。但是,为了成为一名开发人员,你仍然需要做出选择。那么如何做这个决定呢?下面是一些建议:

选择适合领域的语言

有些人进入计算机科学领域时,确切地知道他们想要构建什么样的软件。如果你也属于这种情况,则请选择该领域最常见的编程语言。举个例子,如果你想成为一名 Web 开发人员,则请学习 Javascript。安卓开发?选择 Kotlin 没有错。数据科学家?那么可能应该学习 Python。明白了吗?

选择简单的语言

学习算法思维和磨练解决问题的能力已经够难了。编程语言应该只是一个工具,而不是障碍。因此,虽然从长远来看,像 C++ 这样的低级语言可能非常强大,而且很实用,但我建议你从 Javascript 或 Python 等脚本语言开始学习,它们的入门门槛极低,可以让你专心学习核心的编程概念,而不是处理内存管理和底层机器问题。

选择好找工作的语言

虽然 ALGOL 开发人员可能也有市场,但学习广泛采用的现代语言更好找工作。如果你在两种编程语言之间犹豫不决,则请选择更受欢迎的一种。这样可以保证有一个社区,在遇到问题时为你提供支持,同时也更容易找到第一份工作。如果碰巧你找到了一份 ALGOL 的好工作,那自然很好。你随时可以回过头去学习。

总结

最后,我想列出所有我学过的编程语言,作为本文的结束。我认为这很重要,因为它们见证了我职业生涯的发展轨迹。即使你做出最糟糕的选择,也没关系。

我学习的第一门语言是 C++,然后是 Java。这两种语言都很棒,而且很实用,拥有庞大的用户群以及一些非常值得炫耀的大项目。但老实说,在过去的 10 年里,我没有使用二者编写过一行代码。我一生中几乎从未在非学术环境中使用过这两门语言。即便如此,我从不后悔学习了这两门语言,它们为我提供了表达编程概念的方法。

因此,如果你是完美主义者,希望想清楚你应该学习哪种编程语言,那么最终答案是:随便选择一种即可。

  • 原文链接:https://medium.com/@dbastosan/what-programming-language-should-i-learn-first-and-why-it-doesnt-matter-dcf10ec52549

http://chatgpt.dhexx.cn/article/7lty1yb7.shtml

相关文章

第一门编程语言选谁?

Are You Ready? Go! ——第一门编程语言选谁? 金旭亮 说明: 这篇文章是专门针对大学低年级学生(和其他软件开发初学者)写的,如果你己经是研究生或本科高年级学生,请将这篇文章转发给你的师弟或师妹&…

输入电阻定义

MOSFET的栅极是绝缘的,所以 i G ≈ 0 i_G \approx 0 iG​≈0,输入阻抗很高 定义:对不含独立电源(可以含受控源)的端口网络,定义端口的电压和电流之比为该端口网络的输入电阻(入端电阻&#xf…

关于电路中输入阻抗和输出阻抗大小的讨论

前言 很多同学搞不清楚为什么说输入、输出阻抗大小是大好还是小好,在这里我要简单概述一下。对于输入阻抗来说,输入阻抗越大越好,因为这样落到放大器上的电压就越大,更接近信号源电压(信号源内阻索取的就越小&#xf…

阻抗匹配的简单理解

阿尔伯特爱因斯坦声称:“科学的大多数基本思想本质上都很简单,并且通常可以用每个人都能理解的语言来表达。” 我不确定 21 世纪的物理学是否仍然如此(试着找一个能简单解释超弦理论的人)。尽管如此,这也是我对本专栏的…

如何用示波器测量输出阻抗

本文介绍了测量函数信号发生器、放大器或其他电路的输出阻抗的方法。这种方法适用于频率较低的场景,并不适应于所有的电路类型。本实验中用低频(1k Hz)的正弦波测量。 本文以汉泰的 DSO8060 为例,测量其输出阻抗,该示波器带有信号…

什么是阻抗?影响阻抗的因素有哪些?

问 什么是阻抗? 答 在具有电阻、电感和电容的电路里,对电路中的电流所起的阻碍作用叫做阻抗。 问 什么是阻抗匹配? 答 阻抗匹配是指信号源或者传输线跟负载之间达到一种适合的搭配。阻抗匹配主要有两点作用,调整负载功率和…

为什么阻抗匹配是输入阻抗与输出阻抗相等?

要说明什么是阻抗匹配,首先要知道有这么两个概念:输入阻抗和输出阻抗,那么什么是输入阻抗和输出阻抗呢? 输入阻抗Zin是由电阻或设备输入端看进去的阻抗。 而输出阻抗Zout是由设备输出端看过去的阻抗。任意电阻或设备的输出可以等…

输入阻抗-输出阻抗-阻抗匹配原理详解

本文转载来源:阻抗匹配是什么意思_阻抗匹配原理详解-电子发烧友网 (elecfans.com) 本文主要详解什么是阻抗匹配,首先介绍了输入及输出阻抗是什么,其次介绍了阻抗匹配的原理,最后阐述了阻抗匹配的应用领域。 一、输入阻抗 输入阻抗…

什么是阻抗?

目录 1、电阻和阻抗 2、电容和阻抗 3、电感和阻抗 在电子产品设计时,经常听到工程师说:阻抗多少?阻抗匹配吗? 那么什么是阻抗? 在一般状态下,导体多少都存有阻止电流流动的作用,其阻止程度…

二端口输入阻抗和输出阻抗

1、输入阻抗和输出阻抗定义: 实际中用的基本都是二端口网络,以二端口电路说明。(还有二端口的其他参数:Y参数、Z参数、T参数、H参数,请参考《电路》。) 二端口输入阻抗和输出阻抗定义参考链接&#xff1a…

阻抗、输入阻抗、特性阻抗……傻傻分不清楚

有时候,发现对各种阻抗傻傻分不清楚,“好记性不如烂笔头”,那就把它们一个个写下来。 01.阻抗 具有电阻、电感和电容的电路,对电路中的电流所起的阻碍作用叫做阻抗。阻抗又称为交流(AC)电阻,它…

深入浅出理解输入输出阻抗-音频电路输入输出阻抗

输入阻抗,输出阻抗,这两个参数似乎没那么重要,但事实并非如此。下面说下我的看法吧。 一个问题 音频中的耦合电容从0.1uF-220uF都有,这是有病吗?都是用作隔离直流的,怎么就不能统一呢? 明白…

输入阻抗如何测量?

原文来自微信公众号【小小的电子之路】 输入阻抗是指从电路的输入端看进去所得到的等效阻抗,它可以反映电路从信号源获取电压或者电流的能力。 1、输入阻抗 假设一个电路的输入阻抗为Zin,该电路采用电压源供电,实际电压源总存在内阻Zs&…

输入阻抗,输出阻抗

输入输出阻抗,是怎么玩的?你会不? 很多同学还搞不清楚输入阻抗和输出阻抗这两个参数,我就截取一段来给大家看看。 输入阻抗,输出阻抗,这两个参数似乎没那么重要,但事实并非如此。 我们经常会看…

浅谈输入阻抗、输出阻抗和阻抗匹配

一、关于阻抗的基本概念 首先说说电阻(Resistance),在电路中对电流通过具有阻碍作用,并且造成能量消耗的部分,称为电阻。电阻常用R表示,单位欧姆(Ω),导体电阻值由导体的材料、横截面…

输入阻抗和输出阻抗概念

一、输入阻抗 输入阻抗是指一个电路输入端的等效阻抗。在输入端上加上一个电压源U,测量输入端的电流I,则输入阻抗Rin就是U/I。你可以把输入端想象成一个电阻的两端,这个电阻的阻值,就是输入阻抗。 输入阻抗跟一个普通的电抗元件没什么两样&a…

输入电阻、输出电阻、特性阻抗、阻抗匹配

一、输入阻抗和输出阻抗 1.输入阻抗 输入阻抗(input impedance)是指一个电路输入端的等效阻抗。在输入端上加上一个电压源U,测量输入端的电流I,则输入阻抗Rin就是U/I。你可以把输入端想象成一个电阻的两端,这个电阻的阻值&#…

IC基础知识3-输入阻抗和输出阻抗

目录 1. 计算方法2. 计算举例 1. 计算方法 输入阻抗:通过在输入端加上一个电压源U,测试输入端的电流I,则输入阻抗RinU/I。输入阻抗越大越好,电阻越大,可以得到的分压越大,驱动能力越强。输入阻抗越大&…

电路中的输入输出阻抗以及阻抗匹配

## 输入输出阻抗和阻抗匹配 输入输出阻抗和阻抗匹配 输入输出阻抗和阻抗匹配 输入输出阻抗定义一、电压驱动电路二、电流驱动电路三、总结参考资料 输入输出阻抗和阻抗匹配 输入输出阻抗定义 输入阻抗:是指一个电路输入端的等效阻抗。在输入端上加上一个电压源U&am…

ReactiveX -Rx

转载:https://www.open-open.com/lib/view/open1440166491833.html ReactiveX是Reactive Extensions的缩写,一般简写为Rx,最初是LINQ的一个扩展,由微软的架构师Erik Meijer领导的团队开发,在2012年11月开源&#xff0c…