这个问题我至少被问过八百遍。每次我都想直接甩个链接过去——后来想想,算了,人家要的就是真人体验。行吧,今天我就把血泪史和盘托出,你爱信不信。
先泼盆冷水:语言选错不至于毁一生,但选对了真能省半年。我见过有人用Python硬啃前端,被各种框架折磨到怀疑人生;也见过有人用JS写数据清洗,那代码简直惨不忍睹。所以说,选语言前——搞清楚你要干啥,比你纠结学哪个重要一万倍。
别被“简单”骗了,Python的温柔陷阱
说实话,Python真的简单。简单到什么程度?你写个print(“Hello World”)它就跑起来了,连分号都不要。我当年就是被这假象迷惑,觉得编程不过如此嘛——呵,后来学到面向对象,差点没把我整自闭。Python的坑在于:它太像自然语言了,导致你以为自己懂了,其实根本没懂。你说你学了三个月Python,我让你写个递归,你可能还卡在def上。
不过话说回来,如果你想搞数据、搞AI,那Python的大门简直金光闪闪。那些库——NumPy、Pandas、TensorFlow——就像给你配了个顶级厨师,你只要切切菜(写几行代码)就能端出满汉全席。我有个朋友,经济学转行,死磕Python数据分析半年,现在在某大厂做商业分析,天天跟SQL、Tableau打交道,工资比我都高。妈的,酸死我了。
但!注意!如果你立志成为软件工程师,千万别在Python的舒适区待太久。它会把你的能力圈养在“高级”语言里,一旦遇到C++那种底层猛兽,你瞬间腿软。而且Python的就业市场其实挺两极分化:要么是高端AI岗(博士起步),要么是自动化脚本(替代性强)。中间地带?看运气吧。

JavaScript:浏览器的母语,真香与真坑并存
再说JavaScript。这货简直就是编程界的平头哥——什么都敢干。前端、后端、App、甚至飞船(对,Node.js上天了)。最爽的是什么?写完代码,浏览器F12立马见效果。那种即时反馈,比Python跑脚本刺激一百倍。我当初学JS,花了三天就写了个贪吃蛇,乐得我室友以为我中彩票了。
但是!JS的坑多得能填马里亚纳海沟。变量提升、闭包、prototype链、this指向……我到现在面试前还得翻《JavaScript高级程序设计》。而且它的类型系统太松散,1 + “1” 等于 11?你跟我开玩笑呢。不过,正是因为这些坑,你学JS的过程中会被迫理解很多底层概念,比如执行上下文、作用域。熬过来之后,你发现你再学别的语言,都有种降维打击的快感。我一个后辈,啃完JS红宝书,后来转学Java,两周上手,直呼easy。
还有个现实问题:前端岗位多。打开招聘APP,JavaScript/TypeScript的需求量吊打Python(除非你专攻数据)。虽然卷,但至少有机会。想入行快,JS路线相对稳妥。

我的吐血建议:忘掉语言,先问你想干什么

我见过太多人,死磕语言选择,纠结了半年,最后啥也没学。真的,语言就是个工具。你要盖房子,还纠结用哪把锤子吗?先想好你想做什么。想搞数据、自动化办公?无脑Python。想做网页、小程序?那必须JS。想开发iOS?Swift走起。想玩3A大作?C++在向你招手。如果你压根不知道自己想干啥,那先学JS吧。为什么?因为JS能做的事太杂了,从网页效果到服务器,你都能玩一玩,过程中你自然会发现自己的兴趣点。而且前端入门容易,成就感来得快,不容易放弃。
别听那些“Python入门简单”的鬼话,简单不等于适合。我以前带过一学妹,零基础,学Python学得怀疑人生——她觉得黑框框太无聊了。后来转前端,写了个个人博客,瞬间来劲,现在都进大厂了。所以,兴趣才是最好的老师,这话虽然老掉牙,但真他妈对。
最后,如果你还是纠结,我给你个狠的:两个都试一周。Python用IDLE写个小爬虫,JS写个网页小游戏。哪个让你兴奋得睡不着,就选哪个。编程这玩意儿,没热情根本撑不下去。行了,别愁了,打开电脑去撸码吧!
我问答网