这个问题其实是我给一个在校学生问的,题主本人是个Java工作了3年的搬砖工,但昨天他问我的时候当时我对Python现在的行情一点不了解,主要当初听说都是说用python就是写爬虫(结果我自己都是直接用Java写爬虫),然后写脚本(我基本只是写一些简单shell脚本)。
然后听说v2ex上各个都是人才,说话贼好听,我就本着伟大的摸鱼精神问了这个帖子(也是我再v2ex上的第一个问题),上面的描述基本是符合事实的,只是再学历方面某些稍微做了点修改。看了大家的回答,现在他打算去准备Java相关的工作了,不过他本身编程实力的确是属于比较强的那种,所以我是建议的让他去专研一下JVM东西,反正有足够时间,最好建议还是去考编制才是王道,写个锤子代码。主要是我对他的了解,Java这种他就算毕业前1个月学,也能找到工作,只是好坏罢了。
![]() | 1 Kasumi20 2021-03-01 17:27:00 +08:00 语言只是一种工具(滑稽 |
![]() | 2 cmos 2021-03-01 17:28:14 +08:00 ![]() 找工作的,首选 java,其次是 golang 其他的要么专用性太强,要么是要求很强的基础,不是很适合你的情况。 推荐做几个 java 的项目练手,比如管理系统之类的。如果能找到突破点,放 GitHub 上收 stars 那就最好不过了。 |
![]() | 3 lasfresas 2021-03-01 17:28:14 +08:00 Java 或 Javascript |
4 gdtdpt 2021-03-01 17:28:55 +08:00 语言只是一种工具( doge Java 吧,主流框架 Spring 一把梭 |
5 shirke 2021-03-01 17:30:49 +08:00 拉钩和 boss 上看看重庆和成都在招的岗位 java 和 python 哪个多 |
7 quan01994 2021-03-01 17:32:24 +08:00 golang ,对新人比较友好, |
8 emSaVya 2021-03-01 17:33:15 +08:00 ![]() 能用 cpp 还是 cpp 不愿意用 cpp 就用 Java, python 是边边角角的东西 |
9 impossibleshen 2021-03-01 17:33:54 +08:00 Java 或 Javascript |
10 BanGanExpert OP 感谢各位,但是感觉 python 一点牌面也没有呀,还有这不是 python 主题吗? Python 真的就不能拯救一下吗? |
11 chenqh 2021-03-01 17:38:46 +08:00 就业肯定是 java,别想了,老老实实学 java |
![]() | 12 johnsona 2021-03-01 17:45:09 +08:00 Javascript java 这个牲口,那么多东西要写,不头疼吗 |
14 fo0o7hU2tr6v6TCe 2021-03-01 17:49:29 +08:00 ![]() 两年在校的时候我也觉得 Python 现在想 java 不是 python 不好,是想要拿到中等工资的太难 |
![]() | 15 RedBeanIce 2021-03-01 17:52:32 +08:00 ![]() js 或者 go,再或者 Java |
![]() | 16 Orenoid 2021-03-01 17:52:43 +08:00 ![]() 老老实实 Java,Python 在国内的就业面很窄 |
![]() | 17 pavelpiero 2021-03-01 17:54:07 +08:00 java 做好八股文和卷的准备吧 |
18 fondD 2021-03-01 18:01:25 +08:00 java and go |
![]() | 19 bk201 2021-03-01 18:02:52 +08:00 看你喜欢哪个 |
![]() | 20 Leonard 2021-03-01 18:04:18 +08:00 单说就业选 Java 没错 |
![]() | 21 northisland 2021-03-01 18:07:57 +08:00 java,推荐趁学生身份,去公司实习一蛤。 |
![]() | 22 jmyz0455 2021-03-01 18:22:50 +08:00 ![]() java 钱多好就业,学习路线清晰,主流框架 Spring 一把梭,选 java 准没错。 其他选项都是有可能走弯路(甚至进了困局跳不出来) 千万别学 js,没几家公司会给你前后端一把梭的钱,但是会把你一个人当俩使。 往大城市走可以学 py 旁身,但是考虑以后回小城市养老就算了。 go 还是要去大城市才可以,但是 curd 没 py 快。 语言只是一种工具 (doge |
![]() | 23 huanhuan1314 2021-03-01 18:45:13 +08:00 scala |
25 Lemeng 2021-03-01 18:54:32 +08:00 往自己拿手的方向 |
![]() | 26 zhygkx 2021-03-01 19:09:42 +08:00 ![]() 如果走服务端开发,推荐 Java or Golang 。可以先看看《 Modern Java in Action 》,《 The Go Programming Language 》 |
27 bthulu 2021-03-01 19:26:08 +08:00 golang, 别来 Java 了, 是家培训班就有 java, 人多要求就高, 工资也难上去. |
![]() | 28 xiaoriri666 2021-03-01 19:52:18 +08:00 搞 PHP 吧至少比 Python 的就业好,Java 竞争力太大了。 |
![]() | 29 chendl111 2021-03-01 21:49:10 +08:00 @BanGanExpert python 不是不好,而是岗位太少 |
![]() | 30 mit2008roc 2021-03-01 22:08:41 +08:00 python 数据挖掘 |
![]() | 31 xell 2021-03-01 22:40:51 +08:00 我只是非常无聊地回一句:标题中的“撒”(应当再加个“子”?)与所在的地点“重庆和成都”倒是非常贴合。 |
32 zuosiruan 2021-03-01 22:50:10 +08:00 via Android 老老实实 java 。 |
![]() | 33 wynemo 2021-03-01 22:57:11 +08:00 别听这些人忽悠,学前端。 |
![]() | 34 fiveelementgid 2021-03-01 22:58:18 +08:00 via Android 老老实实 Java,别的语言不考虑 |
![]() | 35 Yut 2021-03-01 23:00:40 +08:00 via Android C++啊,上可撸 ml 模型,下可写硬件驱动 |
36 dfzj 2021-03-01 23:11:40 +08:00 首选 SQL |
![]() | 37 phobal 2021-03-01 23:15:33 +08:00 via iPhone 小孩子才做选择,成年人全都学! 最好先确定就业方向,前端 or 后端 or 测试 or 运维 等,其次再选对应方向的语言,把这门语言作为主攻方向去学,另外再学点跟这个方向相关联的语言,熟练就行,比如做后端的擅长 java,这个是必备的,同时又熟悉前端语言 Javascript,这就是加分项,更容易卷。 |
![]() | 38 luoleng 2021-03-01 23:17:05 +08:00 肯定学 Java 呀……我一个老 python 已经哭晕在深圳的街头。。 |
39 zhuweiyou 2021-03-01 23:17:57 +08:00 为了找工作的话, Java |
![]() | 40 hangszhang 2021-03-02 00:09:56 +08:00 Java 啊,肯定没错 |
41 littlewing 2021-03-02 01:32:07 +08:00 via iPhone @Kasumi20 还有一年毕业,已经晚了,去报个培训班比较好 |
![]() | 42 msg7086 2021-03-02 03:06:03 +08:00 如果你会 Java,你会无法胜任 Python 的工作吗? 我们组的 Python 代码都是 Java 工程师在改…… 其实反过来也一样,如果你 Python 贼 6,写 Java 也问题不大,就是 Java 折腾的东西多,上手要时间。 我现在就是,Ruby 工程师在写 Java 再顺手改改 Python,偶尔写点 Javascript 。 |
![]() | 43 metaclass 2021-03-02 03:14:31 +08:00 看第一个答案评论(不是答案本身),讲 Python 和 Java 大趋势的: https://www.zhihu.com/question/266096929/answer/1697948286 简单说结论,Java 退流行趋势非常明显,内卷又及其严重,属于旧时代的八股文,耗子尾汁,能逃就逃 |
![]() | 44 metaclass 2021-03-02 03:15:35 +08:00 ![]() 算了我贴一下原文吧: 杠一把,专业 Python 眼中的 Python 和大众理解的 Python 完全是两个东西…… AI/ML 的胶水 Python 放一边,正经做 Python 的,单说迅猛发展的 asyncio 生态(没听过 /做过?不好意思你不算正经做 Python 的),配合 Kubernetes 已经把 Java/JVM 系干得满地找牙了 简单解释一下,很多人其实并不知道,asyncio 的单线程异步性能已经做到与 Go / Node 持平,而 Java 引以为傲的多线程性能在容器生态下已经成为鸡肋(通信用中间件比如 Redis 解决即可,要并发直接靠容器爆兵策略,传统的 Java 全家桶需要好几倍的资源才能和 Python / Go / Node 的容器性能相当,代码又臃肿不堪,是对机器资源和人力资源的极大浪费) 这是整个大生态的改变,Java/JVM 很明显的在退流行(国内正好相反,基本还在抱 Java 大腿),再不跳船别说我没提醒你们 当然 JVM 其实不错,换成 Kotlin/JVM 还是可以再战的 |
47 Cbdy 2021-03-02 06:48:25 +08:00 via Android Java(Script) |
![]() | 48 LeeReamond 2021-03-02 07:44:47 +08:00 @metaclass 杠一下,我是 pyweb 生态深度使用者,对 java 吐槽倒是确实,默认下用线程模型处理 IO,用 session 做鉴权,似乎都是比较落后的方案,不过我虽然用 aio,aio 也确实快到很难达到性能瓶颈,但 aio 啥时候异步性能与 go 和 node 持平了...目前全 C 实现的库都不太可用,sanic 这种不太满足生产,而且单纯 sanic 的话跟 go 一些库对比也差很远,fasthttp 之类的,剩下的 py 实现的更慢了,c 实现的都好长时间不更新了 |
![]() | 49 daytonight 2021-03-02 08:36:10 +08:00 via Android 成都 go 岗位也不多呀,这么多推荐 go 的。。 |
![]() | 50 shanghj 2021-03-02 09:12:46 +08:00 via iPhone 仅供参考: Python 实力过硬,可以考虑(不推荐,重庆和成都 Python 岗相对而言,少,工资低) Java 年年有人唱衰,可年年有人上岗(就重庆而言,Java 岗位比 Python 多很多) 我只了解这两,其他的我只拿来用,没达到吃饭的水平,不多说。 |
![]() | 51 keymao 2021-03-02 09:18:13 +08:00 ![]() 如果你想轻松一点的找 , 优先 Java 其次 Python 。 Java 转 Android 移动开发也很轻松,Python 面太窄,要么是小爬虫公司,要么就是做 Web 的小公司 。 |
![]() | 52 egen 2021-03-02 09:36:28 +08:00 java 有助于培养良好的编程习惯,python 什么时候学都可以 |
53 linbingcheng 2021-03-02 09:37:01 +08:00 golang 确实缺人,不过都是大厂缺 |
![]() | 54 zcfnc 2021-03-02 09:38:06 +08:00 我当时毕业的时候也这么想然后选了 python,现在是在做 python 数据分析方面,但是后悔没做 java 或者 scala 了 |
![]() | 55 abersheeran 2021-03-02 09:42:09 +08:00 Java 好找工作。 |
![]() | 56 zzzmh 2021-03-02 09:47:50 +08:00 一样的水平的情况下是 java 更容易入行 但也卷成麻花了,需要水平出众,否则很可能起薪贼低还干外包的活 |
57 zqguo 2021-03-02 09:49:37 +08:00 来学前端 |
58 Heyrobot 2021-03-02 09:54:14 +08:00 成都 java 好找工作,重庆学什么都一样 |
![]() | 59 ScepterZ 2021-03-02 09:58:15 +08:00 找工作最方便的就 java 然后 go 了 |
![]() | 60 yiqiao 2021-03-02 10:05:55 +08:00 非科班的话推荐前端。 Java Spring 全家桶看 3 周就可以搬砖了。 |
![]() | 61 lamada 2021-03-02 10:06:28 +08:00 找工作优先 Java,做后端。别选 Javascript 了,做前端不还得看 css html |
![]() | 62 ZxykM 2021-03-02 10:21:33 +08:00 java,我先在就是 go 在找工作,秋春招几乎全是 java |
![]() | 63 jmyz0455 2021-03-02 10:40:18 +08:00 @LeeReamond 想问,pyweb 的异步性能目前还是比 go 和 node 差吗? 如果说 python 的 asyncio + k8s 已经把 Java/JVM 系干得满地找牙,那跟 go 比呢? 我不懂的,单纯问问。 |
![]() | 65 AmberJiang 2021-03-02 10:55:10 +08:00 成都的话 建议 java 。。。毕竟真的岗位比 python 、go 多 (别问我为什么知道 ) |
66 mathrandom 2021-03-02 11:02:06 +08:00 学前端,搞后端没前途的还很累,我从做了三年 PHP,今年刚转 go |
![]() | 67 no1xsyzy 2021-03-02 11:06:19 +08:00 “如果所有人都认为 Java 容易找工作,导致想找工作的都去学 Java,导致市场上 Java 容易招到人,也就更愿意去招 Java 开发(可替换),结果就是真的 Java 最容易找到工作” 这算不算一种果决性(以果倒因)? |
![]() | 68 jimrok 2021-03-02 11:14:59 +08:00 java 秃顶的可能性也有,看你要留多少头发 |
69 yEhwG10ZJa83067x 2021-03-02 11:23:40 +08:00 你想哪里工作,请打开浏览器,到全国或当地主流招聘网站,看看各个语言的工作要求和工资情况。这样操作不好么? |
![]() | 70 wgbx 2021-03-02 11:37:43 +08:00 推荐 java,另外 Javascript 现在风评这么好了吗 |
![]() | 71 love 2021-03-02 11:54:55 +08:00 很明显 Javascript >> python |
72 hbolive 2021-03-02 12:04:13 +08:00 成渝地区,当然是 java 远好于 python 了。。 |
![]() | 73 metaclass 2021-03-02 12:50:51 +08:00 @LeeReamond 我只能再贴知乎的回复原文了: 给你看两个 asyncio 的库 FastAPI,快到飞起: https://fastapi.tiangolo.com 流处理新秀 Faust,Robinhood 的框架,爽到爆炸(目前中间件还是用的 Kafka,以后很可能会支持 Redis Streams 或者出现类似的彻底不要 JVM 生态的库): https://github.com/robinhood/faust 而 Python 传统的 Django,即将全面支持 asyncio Node 异步快?历史上是这样,然而现在 Python 有了 asyncio,不存在的 Python 和 JS 都有了 async/await 语法,同时 Python 反而比 JS 方便的一点在于它同步异步的写法都差不多,而 JS 异步虽然从 callback -> promise 进化到 async/await 方便了很多,但是用 JS 写同步那还不如找根绳子上吊算了…… |
![]() | 74 metaclass 2021-03-02 12:53:01 +08:00 @jmyz0455 Go 和 Python 是共生关系。K8s 生态架构本身就是 Go 的天下,与老牌生态 Python 、Javascript 都其乐融融,唯独和 Java 不好搞,因为 Java 全家桶是上古时代的产物 |
![]() | 75 metaclass 2021-03-02 13:01:03 +08:00 @keymao 啊这……除了中国和印度,Java 在大多数地区都在快速衰落中……也不知道你眼中什么公司才大,小到 30 亿刀市值刚上市的创业公司(也有三个独角兽规模了),大到 8000 多亿刀市值的大公司都在用 Python……面还窄的话就别混了 |
![]() | 76 metaclass 2021-03-02 13:02:29 +08:00 @egen 错,Java 是滥用设计模式的典型,因为语言表现力太差。换 Kotlin 都好很多,千万不要被 Java 毒害 |
77 lpgph 2021-03-02 13:09:27 +08:00 能进体制进体制,进不了体制出去工作用 Java 自己用凭喜好。 Java 目前需要了解和使用 spring boot,spring cloud,微服务以及 DDD,设计模式能了解也了解一下 |
![]() | 78 Jackeriss 2021-03-02 13:10:01 +08:00 转前端吧,后端没前途 |
![]() | 79 RockShake 2021-03-02 13:38:28 +08:00 后端 Java, Go, C++ |
![]() | 80 seven123 2021-03-02 13:43:59 +08:00 选 java 或者 go,在成都这边 python 虽然有公司在招,不过都是工资少要求搞 |
![]() | 81 jmyz0455 2021-03-02 13:56:47 +08:00 @metaclass 可能是我不学无术,第一次听到 Go 和 Python 是共生关系,请问他们是如何共生的呢,比如 Go 负责基础建设(像 k8s,docker 等),Python 负责 Web CURD 这样? 可能我的眼光一直都是拘泥于业务上,以往 Go/Python/NodeJS 都是互斥的,做 Web 只能三选一。 |
82 charlie21 2021-03-02 14:20:39 +08:00 @metaclass 即使十个独角兽公司都用 python,十个独角兽公司能提供多少就业岗位? 能稳定提供新的就业岗位的市场才是好市场,人们望向好市场,才能做面对时间差有利的决定(面对时间差不利,比如 你学 python 要一周,一周之前有岗位 一周之后你学成归来去应聘 结果 空缺岗位已经被填上了;面对时间差有利,就是你学成之后 空缺岗位还是很多 你就可以去) 技能(编程技能语言技能)不过是进入这些有空缺岗位的公司的工具 |
83 nerocc 2021-03-02 15:40:40 +08:00 via Android java 找工作保底,大多数公司都用。golang 学会了用来冲刺一些新一点的公司或者项目团队。Javascript 这个年代默认大家都会。暗地里学一点 C #,国内虽然.NET 没什么市场,但是大多数是.NET Framework 时代留下的后遗症。现在.NET Core 到.NET 5/6 的时代,很多公司都开始慢慢重新用.NET 了,而且开源多平台,学会了一套技术可以做很多不同的事情。以后应该会有很多公司用。 |
![]() | 84 jswh 2021-03-02 16:35:12 +08:00 天府 java 园 |
85 qzlzwhx 2021-03-02 17:25:33 +08:00 千万别选 python 吧。不然以后有你后悔的时候 |
86 bytesfold 2021-03-02 17:29:38 +08:00 java 求学习路线 |
![]() | 87 caroline1022 2021-03-02 17:30:48 +08:00 二线城市除了 Java,都不太好找工作 一般来说 python 只会要求你顺便了解一点,而且没工作经验也不行 |
![]() | 88 teddy2725 2021-03-02 17:45:34 +08:00 java spring boot ....... |
89 adamwong 2021-03-02 17:51:51 +08:00 ![]() 先保证 C 不太差,再学 JAVA,再学 python,最后 golang C 语言是你理解数据结构和算法的最佳语言(用 C 理解数组扩容、树的遍历是最直接、印象最深的) JAVA 是在成渝地区应届生就业的最佳选择(用 C++的腾讯系除外,当然成都腾讯也不一样) python 作为动态语言(也被部分观念传统的人称为脚本语言)的代表之一,是需要非核心系统(当然也有用 python 做核心系统的国际大厂)不错的选择 golang 因为 goroutine 和 io 特性独树一帜,目前势头非常猛,岗位也在快速变多,不少公司规模上来之后选择用 golang 重构(如 B 站),最大的问题是作为应届生基本找不到 golang 的工作。 简单来说,C 语言是你打牢计算机知识体系最好的锤子,JAVA 是你毕业就业的最佳选择(而且本身 JAVA 从语言设计到实践都能带给你非常全面的软件工程领域的知识) python 和 golang 可以在你觉得枯燥的时候用来找找乐子,两者分别是新兴动态、静态语言的杰出代表(虽然新兴的时代不同),对这两个语言的学习过程更像是“看看这个世界上的牛人们都搞出了什么科幻的东西”。 学习曲线上来讲 C-JAVA & Golang 是比较平滑的,甚至我个人觉得 Golang 像是 C 的扩扩扩扩展包 python 如果放在他们之后学,会不停地让你觉得“这 tm 也可以?”,但是当你要写个小东西,或者要很快的实现一个新产品的时候你会想到它的 其实从你 JAVA 和 python 都写了一段时间之后,这个世界上的语言(除了 C++和这里没提到的函数式)对你来说都只是翻一遍文档就能用的状态了。 反正工作之后都大概率会被逼着学新语言的,与其做选择题,不如排个优先级 作为软件工程师,干嘛要限制自己呢 |
90 adamwong 2021-03-02 17:57:02 +08:00 @metaclass aysnio 的 benchmark 我印象里是 golang 的一半吧,只是到了同一数量级,持平过分了 |
![]() | 91 Evilk 2021-03-02 18:14:42 +08:00 为啥没人提 PHP? |
92 fjyaosun5555 2021-03-02 20:03:23 +08:00 @luoleng 公司缺老 python 开发哦, 要不要聊聊,广州的 |
![]() | 93 rf99wSiT6IxH1Z23 2021-03-02 23:07:24 +08:00 之前 JS,Python 的,最近准备学 Java 开发 React Native 的安卓插件,顺便撸下 spring boot 的, 选 Java 就对了,根据 JetBrains 的调查,亚洲使用 Java 作为主力开发语言的程序员人数最多,其中中国更是世界第一。 我不管了,我要学 Java,前端也很卷 Java 稳如老狗 |
![]() | 94 metaclass 2021-03-03 01:47:50 +08:00 @adamwong 错,你的知识该更新了。FastAPI 首页直接写的“Very high performance, on par with NodeJS and Go (thanks to Starlette and Pydantic).” |
![]() | 95 metaclass 2021-03-03 01:51:15 +08:00 @charlie21 Java 低端职位太多,全是内卷,性价比低。别人干一年相当于低端干十几二十年,低端的就业岗位再多也没戏。这几年挣大钱的都没有 Java 系的份,Python / Javascript / Go 哪一个都比 Java 强 |
![]() | 96 metaclass 2021-03-03 02:06:07 +08:00 @jmyz0455 Go 和 Python / Node 都可以共生。共生的意思就是没办法一家独大搞全家桶,需要配合来用,比如 Go 的容器生态配合 Python 的 web (这个可以用别的实现)和 AI/ML 生态等。Java 因为历史原因,一直以来都是自己搞全家桶,现在很多功能和原生容器重叠,显得非常笨重,又没办法重构(没法拆出来用)。微服务的话,Python / Go / Node 很容易自己写几十行代码就搞定一个,然而 Java 语法和工具链太嗦,几十行连配置都没写完。Java 作为语言本身又因为太学究,需要被迫滥用各种设计模式(本质上是语言表现力太差),这又造成了 Java 从业者被固定思维限制严重,已经处在被业界淘汰的过程中居然还主动跳坑 |
98 limyel 2021-03-03 09:46:38 +08:00 @metaclass 可是 asyncio 的现状真的是一言难尽,很多库都处在 bug 无人来修的状态。还有就是请问有什么好用的异步 orm 可以推荐一下吗?试了一下 tortoise orm 和 peewee-async 感觉不是很好用。 |
![]() | 100 byte10 2021-03-03 10:01:57 +08:00 |