唉,这个问题我大概被问了有一万次吧。每次我都想反问:你学编程是想干嘛?——你看,我甚至来不及寒暄就直接开怼了,因为太多人连这个都没想清楚就开始纠结语言。真的,语言只是工具,方向才是目的地。
但既然你问了,我就认真掰扯掰扯。先说个暴论:你学第一种语言大概率会半途而废。这不是吓唬你,是概率。所以我建议你选一个能让你快速看到结果的语言——比如 Python。对,就是那个被无数人吹上天又被无数人吐槽的 Python。为什么?就因为四个字:反馈及时。你敲几行代码,就能看到网页抓取、自动发邮件、甚至画个小爱心。这种正反馈太重要了!不然呢,你吭哧吭哧学了仨月指针和内存管理,连个“Hello World”都亮不出来,谁受得了?

别急着选,先搞清楚你是哪类人
说实话,程序员的赛道已经细分到变态的程度了。我大概分了三类,你看看自己属于哪一堆:
第一种,实用主义者——就想搞个自动化办公、爬点数据、或者做个简单网站。这种人我双手推荐 Python,然后是 JavaScript。Python 上手快,库多;JS 呢,前端逃不掉,而且现在有了 Node.js,后端也能搞。别听那些吹 Java 的,光配置环境就能让你删库跑路。
第二种,职业导向——铁了心要进大厂,或者想去金融、传统软件公司。那 Java 和 C# 可能更适合,因为它们背后是庞大的企业生态。但你要做好心理准备:学习曲线陡得跟悬崖一样。我见过太多人连 IDE 都没装完就放弃了。哦对了,还有 C++,如果你想去游戏或者底层开发… 嗯,勇士,我敬你一杯!
第三种,好奇宝宝——就是想理解计算机怎么工作的,或者以后想搞嵌入式、操作系统。那没说的,C 语言打底。不过啊,过程会痛苦,你会跟段错误(Segmentation fault)成为好朋友。但学完之后,再看其他语言,就跟看儿童绘本似的。

我的真实经历:被蟒蛇咬了一口

我自己是从 Python 入门的。那时候我还在读生物,天天跑胶,烦透了。偶然在某个论坛看到有人用 Python 分析了基因序列,我靠!原来代码能这么玩?当时就热血沸腾。下载了个盗版教程(别学我),照着敲。第一天磕磕绊绊装好 Python 3.6,命令行里打印出名字,激动得差点把隔壁工位师兄的培养基打翻。但紧接着就是长达两周的「导入模块地狱」——你知道吗,新手最崩溃的不是逻辑,是环境!pip install 这个,版本不对;那个库不兼容 Windows… 我差点把电脑摔了。
不过,当我第一次用 requests 和 beautifulsoup 抓了 PubMed 上的文献摘要,还自动生成了 Excel 表格时——那种感觉,就像学会了魔法。我瞬间原谅了之前所有的报错。说到底,编程就是这么回事儿:你不停地解决问题,然后获得一点多巴胺。这也就解释了为什么很多人转行都从 Python 开始,因为它能让你的多巴胺来得快一点。但如果你是那种“不把原理搞明白就不舒服”的人,Python 可能会让你更糊涂,因为它把底层都封装好了。那还不如直接上 C,至少死得明白。
没人告诉你的大实话

⚠️ 第一,学语言和学编程是两码事。语言是语法,编程是解决问题的方式。你看很多培训课,一股脑儿教你 print、if、for,学完还是啥都干不了。为什么?因为你没学到如何拆解问题。这才是编程最核心的!所以我强烈建议:不管学啥语言,都要同步做项目。哪怕是写个猜数字游戏,也比死磕语法强一万倍。
⚠️ 第二,不要在一棵树上吊死。我见过有人学 Java 学了一年还在纠结“面向对象”这种概念,就是不肯换个角度看世界。有时候,换门语言反而能让你顿悟。比如我理解“回调函数”是在学 JavaScript 的时候,而不是在 Python 里。大脑就是这么奇怪。
⚠️ 第三,工具链比语言更杀人。现在编程已经不是记事本写代码了,你得搞定编辑器(VSCode 万岁!)、命令行、Git、甚至 Docker… 这些玩意儿能把新手劝退率提高至少 50%。所以我建议,刚开始学,尽量用在线环境减轻痛苦,比如 Replit 或者 Google Colab。等你有了信心,再折腾本地配置。
啊对了,还有那句鬼话:“学编程必须数学好”。呸!我见过数学系学生写出一坨屎一样的代码,也见过高中毕业的大佬写得行云流水。大部分业务开发,需要的是逻辑清晰,不是微积分。除非你去搞算法、图形学,那另说。所以,别自己吓自己。
最终回到那个问题:先学什么语言?如果你一定要一个明确的答案,我会说 Python。因为它在有趣和有用之间拿捏得最平衡。但记住,这只是个开始。半年后你可能会恨我,为啥当初没劝你学 Go?😏
好了,去打开电脑,敲下第一行吧。别光看,动手!
我问答网