V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
BanGanExpert
V2EX  ›  Python

救救孩子!还有 1 年半毕业, Java 和 Python 哪个更好就业,还有现在主流框架是用撒(地点重庆和成都)

  •  
  •   BanGanExpert · 239 天前 · 8944 次点击
    这是一个创建于 239 天前的主题,其中的信息可能已经有所发展或是发生改变。
    还有 1 年半毕业,前 2 年玩过去了,现在幡然醒悟,希望最后冲刺 1 年,下半年想找个实习的(留半年毕设),为后面的正式工作做准备,不打算考研了。
    跪求各位工作的大佬给个方向,C++的算了,听说容易秃顶!
    基础能力:python>Java>C++,leetcode 3 星题还是能刷
    第 1 条附言  ·  238 天前

    感谢各位回答,首先和大家道个歉

    这个问题其实是我给一个在校学生问的,题主本人是个Java工作了3年的搬砖工,但昨天他问我的时候当时我对Python现在的行情一点不了解,主要当初听说都是说用python就是写爬虫(结果我自己都是直接用Java写爬虫),然后写脚本(我基本只是写一些简单shell脚本)。
    然后听说v2ex上各个都是人才,说话贼好听,我就本着伟大的摸鱼精神问了这个帖子(也是我再v2ex上的第一个问题),上面的描述基本是符合事实的,只是再学历方面某些稍微做了点修改。看了大家的回答,现在他打算去准备Java相关的工作了,不过他本身编程实力的确是属于比较强的那种,所以我是建议的让他去专研一下JVM东西,反正有足够时间,最好建议还是去考编制才是王道,写个锤子代码。主要是我对他的了解,Java这种他就算毕业前1个月学,也能找到工作,只是好坏罢了。

    108 条回复    2021-03-05 16:00:30 +08:00
    1  2  
    Kasumi20
        1
    Kasumi20   238 天前
    语言只是一种工具(滑稽
    imes
        2
    imes   238 天前   ❤️ 1
    找工作的,首选 java,其次是 golang
    其他的要么专用性太强,要么是要求很强的基础,不是很适合你的情况。
    推荐做几个 java 的项目练手,比如管理系统之类的。如果能找到突破点,放 GitHub 上收 stars 那就最好不过了。
    lasfresas
        3
    lasfresas   238 天前
    Java 或 JavaScript
    gdtdpt
        4
    gdtdpt   238 天前
    语言只是一种工具( doge

    Java 吧,主流框架 Spring 一把梭
    shirke
        5
    shirke   238 天前
    拉钩和 boss 上看看重庆和成都在招的岗位 java 和 python 哪个多
    qinxi
        6
    qinxi   238 天前
    @Kasumi20 #1 紧跟时事
    quan01994
        7
    quan01994   238 天前
    golang ,对新人比较友好,
    emSaVya
        8
    emSaVya   238 天前   ❤️ 1
    能用 cpp 还是 cpp 不愿意用 cpp 就用 Java, python 是边边角角的东西
    impossibleshen
        9
    impossibleshen   238 天前
    Java 或 JavaScript
    BanGanExpert
        10
    BanGanExpert   238 天前
    感谢各位,但是感觉 python 一点牌面也没有呀,还有这不是 python 主题吗? Python 真的就不能拯救一下吗?
    chenqh
        11
    chenqh   238 天前
    就业肯定是 java,别想了,老老实实学 java
    johnsona
        12
    johnsona   238 天前
    javascript
    java 这个牲口,那么多东西要写,不头疼吗
    johnsona
        13
    johnsona   238 天前
    @johnsona 学了 js 加上 node 前后端一把梭,不香吗
    hzjseasea
        14
    hzjseasea   238 天前   ❤️ 1
    两年在校的时候我也觉得 Python 现在想 java
    不是 python 不好,是想要拿到中等工资的太难
    RedBeanIce
        15
    RedBeanIce   238 天前   ❤️ 1
    js 或者 go,再或者 Java
    Orenoid
        16
    Orenoid   238 天前   ❤️ 1
    老老实实 Java,Python 在国内的就业面很窄
    pavelpiero
        17
    pavelpiero   238 天前
    java 做好八股文和卷的准备吧
    fondD
        18
    fondD   238 天前
    java and go
    bk201
        19
    bk201   238 天前
    看你喜欢哪个
    Leonard
        20
    Leonard   238 天前
    单说就业选 Java 没错
    northisland
        21
    northisland   238 天前
    java,推荐趁学生身份,去公司实习一蛤。
    jmyz0455
        22
    jmyz0455   238 天前   ❤️ 3
    java 钱多好就业,学习路线清晰,主流框架 Spring 一把梭,选 java 准没错。

    其他选项都是有可能走弯路(甚至进了困局跳不出来)
    千万别学 js,没几家公司会给你前后端一把梭的钱,但是会把你一个人当俩使。
    往大城市走可以学 py 旁身,但是考虑以后回小城市养老就算了。
    go 还是要去大城市才可以,但是 curd 没 py 快。

    语言只是一种工具 (doge
    huanhuan1314
        23
    huanhuan1314   238 天前
    scala
    chenqh
        24
    chenqh   238 天前
    @jmyz0455 我当初脑子抽了不转 java
    Lemeng
        25
    Lemeng   238 天前
    往自己拿手的方向
    zhygkx
        26
    zhygkx   238 天前   ❤️ 1
    如果走服务端开发,推荐 Java or Golang 。可以先看看《 Modern Java in Action 》,《 The Go Programming Language 》
    bthulu
        27
    bthulu   238 天前
    golang, 别来 Java 了, 是家培训班就有 java, 人多要求就高, 工资也难上去.
    xiaoriri666
        28
    xiaoriri666   238 天前
    搞 PHP 吧至少比 Python 的就业好,Java 竞争力太大了。
    chendl111
        29
    chendl111   238 天前
    @BanGanExpert python 不是不好,而是岗位太少
    mit2008roc
        30
    mit2008roc   238 天前
    python 数据挖掘
    xell
        31
    xell   238 天前
    我只是非常无聊地回一句:标题中的“撒”(应当再加个“子”?)与所在的地点“重庆和成都”倒是非常贴合。
    zuosiruan
        32
    zuosiruan   238 天前 via Android
    老老实实 java 。
    wynemo
        33
    wynemo   238 天前
    别听这些人忽悠,学前端。
    fiveelementgid
        34
    fiveelementgid   238 天前 via Android
    老老实实 Java,别的语言不考虑
    Yut
        35
    Yut   238 天前 via Android
    C++啊,上可撸 ml 模型,下可写硬件驱动
    dfzj
        36
    dfzj   238 天前
    首选 SQL
    phobal
        37
    phobal   238 天前 via iPhone
    小孩子才做选择,成年人全都学!

    最好先确定就业方向,前端 or 后端 or 测试 or 运维 等,其次再选对应方向的语言,把这门语言作为主攻方向去学,另外再学点跟这个方向相关联的语言,熟练就行,比如做后端的擅长 java,这个是必备的,同时又熟悉前端语言 JavaScript,这就是加分项,更容易卷。
    luoleng
        38
    luoleng   238 天前
    肯定学 Java 呀……我一个老 python 已经哭晕在深圳的街头。。
    zhuweiyou
        39
    zhuweiyou   238 天前
    为了找工作的话, Java
    hangszhang
        40
    hangszhang   238 天前
    Java 啊,肯定没错
    littlewing
        41
    littlewing   238 天前 via iPhone
    @Kasumi20 还有一年毕业,已经晚了,去报个培训班比较好
    msg7086
        42
    msg7086   238 天前
    如果你会 Java,你会无法胜任 Python 的工作吗?
    我们组的 Python 代码都是 Java 工程师在改……

    其实反过来也一样,如果你 Python 贼 6,写 Java 也问题不大,就是 Java 折腾的东西多,上手要时间。
    我现在就是,Ruby 工程师在写 Java 再顺手改改 Python,偶尔写点 JavaScript 。
    metaclass
        43
    metaclass   238 天前
    看第一个答案评论(不是答案本身),讲 Python 和 Java 大趋势的:
    https://www.zhihu.com/question/266096929/answer/1697948286

    简单说结论,Java 退流行趋势非常明显,内卷又及其严重,属于旧时代的八股文,耗子尾汁,能逃就逃
    metaclass
        44
    metaclass   238 天前   ❤️ 1
    算了我贴一下原文吧:

    杠一把,专业 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 还是可以再战的
    hello2060
        45
    hello2060   238 天前 via iPhone
    @Kasumi20 语言只是工具,看清华学啥语言你就学啥
    hello2060
        46
    hello2060   238 天前 via iPhone
    @Kasumi20 或者看 google Facebook 招啥语言就学啥语言?
    Cbdy
        47
    Cbdy   238 天前 via Android
    Java(Script)
    LeeReamond
        48
    LeeReamond   238 天前
    @metaclass 杠一下,我是 pyweb 生态深度使用者,对 java 吐槽倒是确实,默认下用线程模型处理 IO,用 session 做鉴权,似乎都是比较落后的方案,不过我虽然用 aio,aio 也确实快到很难达到性能瓶颈,但 aio 啥时候异步性能与 go 和 node 持平了...目前全 C 实现的库都不太可用,sanic 这种不太满足生产,而且单纯 sanic 的话跟 go 一些库对比也差很远,fasthttp 之类的,剩下的 py 实现的更慢了,c 实现的都好长时间不更新了
    daytonight
        49
    daytonight   238 天前 via Android
    成都 go 岗位也不多呀,这么多推荐 go 的。。
    shanghj
        50
    shanghj   238 天前 via iPhone
    仅供参考:
    Python 实力过硬,可以考虑(不推荐,重庆和成都 Python 岗相对而言,少,工资低)
    Java 年年有人唱衰,可年年有人上岗(就重庆而言,Java 岗位比 Python 多很多)
    我只了解这两,其他的我只拿来用,没达到吃饭的水平,不多说。
    keymao
        51
    keymao   238 天前   ❤️ 1
    如果你想轻松一点的找 , 优先 Java 其次 Python 。

    Java 转 Android 移动开发也很轻松,Python 面太窄,要么是小爬虫公司,要么就是做 Web 的小公司 。
    egen
        52
    egen   238 天前
    java 有助于培养良好的编程习惯,python 什么时候学都可以
    linbingcheng
        53
    linbingcheng   238 天前
    golang 确实缺人,不过都是大厂缺
    zcfnc
        54
    zcfnc   238 天前
    我当时毕业的时候也这么想然后选了 python,现在是在做 python 数据分析方面,但是后悔没做 java 或者 scala 了
    abersheeran
        55
    abersheeran   238 天前
    Java 好找工作。
    zzzmh
        56
    zzzmh   238 天前
    一样的水平的情况下是 java 更容易入行
    但也卷成麻花了,需要水平出众,否则很可能起薪贼低还干外包的活
    zqguo
        57
    zqguo   238 天前
    来学前端
    Heyrobot
        58
    Heyrobot   238 天前
    成都 java 好找工作,重庆学什么都一样
    ScepterZ
        59
    ScepterZ   238 天前
    找工作最方便的就 java 然后 go 了
    yiqiao
        60
    yiqiao   238 天前
    非科班的话推荐前端。
    Java Spring 全家桶看 3 周就可以搬砖了。
    lamada
        61
    lamada   238 天前
    找工作优先 Java,做后端。别选 javascript 了,做前端不还得看 css html
    ZxykM
        62
    ZxykM   238 天前
    java,我先在就是 go 在找工作,秋春招几乎全是 java
    jmyz0455
        63
    jmyz0455   238 天前
    @LeeReamond 想问,pyweb 的异步性能目前还是比 go 和 node 差吗?
    如果说 python 的 asyncio + k8s 已经把 Java/JVM 系干得满地找牙,那跟 go 比呢?
    我不懂的,单纯问问。
    chaleaoch
        64
    chaleaoch   238 天前
    @jmyz0455 asyncio 现在生产使用的都不多 啥时候干的满地找牙了.
    AmberJiang
        65
    AmberJiang   238 天前
    成都的话 建议 java 。。。毕竟真的岗位比 python 、go 多 (别问我为什么知道 🤣)
    mathrandom
        66
    mathrandom   238 天前
    学前端,搞后端没前途的还很累,我从做了三年 PHP,今年刚转 go
    no1xsyzy
        67
    no1xsyzy   238 天前
    “如果所有人都认为 Java 容易找工作,导致想找工作的都去学 Java,导致市场上 Java 容易招到人,也就更愿意去招 Java 开发(可替换),结果就是真的 Java 最容易找到工作”
    这算不算一种果决性(以果倒因)?
    jimrok
        68
    jimrok   238 天前
    java 秃顶的可能性也有,看你要留多少头发
    justrand
        69
    justrand   238 天前
    你想哪里工作,请打开浏览器,找到全国或当地主流招聘网站,看看各个语言的工作要求和工资情况。这样操作不好么?
    wgbx
        70
    wgbx   238 天前
    推荐 java,另外 javascript 现在风评这么好了吗
    love
        71
    love   238 天前
    很明显 javascript >> python
    hbolive
        72
    hbolive   238 天前
    成渝地区,当然是 java 远好于 python 了。。
    metaclass
        73
    metaclass   238 天前
    @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 写同步那还不如找根绳子上吊算了……
    metaclass
        74
    metaclass   238 天前
    @jmyz0455 Go 和 Python 是共生关系。K8s 生态架构本身就是 Go 的天下,与老牌生态 Python 、JavaScript 都其乐融融,唯独和 Java 不好搞,因为 Java 全家桶是上古时代的产物
    metaclass
        75
    metaclass   238 天前
    @keymao 啊这……除了中国和印度,Java 在大多数地区都在快速衰落中……也不知道你眼中什么公司才大,小到 30 亿刀市值刚上市的创业公司(也有三个独角兽规模了),大到 8000 多亿刀市值的大公司都在用 Python……面还窄的话就别混了
    metaclass
        76
    metaclass   238 天前
    @egen 错,Java 是滥用设计模式的典型,因为语言表现力太差。换 Kotlin 都好很多,千万不要被 Java 毒害
    lpgph
        77
    lpgph   238 天前
    能进体制进体制,进不了体制出去工作用 Java 自己用凭喜好。
    Java 目前需要了解和使用 spring boot,spring cloud,微服务以及 DDD,设计模式能了解也了解一下
    Jackeriss
        78
    Jackeriss   238 天前
    转前端吧,后端没前途
    RockShake
        79
    RockShake   238 天前
    后端 Java, Go, C++
    seven123
        80
    seven123   238 天前
    选 java 或者 go,在成都这边 python 虽然有公司在招,不过都是工资少要求搞
    jmyz0455
        81
    jmyz0455   238 天前
    @metaclass 可能是我不学无术,第一次听到 Go 和 Python 是共生关系,请问他们是如何共生的呢,比如 Go 负责基础建设(像 k8s,docker 等),Python 负责 Web CURD 这样?

    可能我的眼光一直都是拘泥于业务上,以往 Go/Python/NodeJS 都是互斥的,做 Web 只能三选一。
    charlie21
        82
    charlie21   238 天前
    @metaclass 即使十个独角兽公司都用 python,十个独角兽公司能提供多少就业岗位?
    能稳定提供新的就业岗位的市场才是好市场,人们望向好市场,才能做面对时间差有利的决定(面对时间差不利,比如 你学 python 要一周,一周之前有岗位 一周之后你学成归来去应聘 结果 空缺岗位已经被填上了;面对时间差有利,就是你学成之后 空缺岗位还是很多 你就可以去)

    技能(编程技能语言技能)不过是进入这些有空缺岗位的公司的工具
    nerocc
        83
    nerocc   238 天前 via Android
    java 找工作保底,大多数公司都用。golang 学会了用来冲刺一些新一点的公司或者项目团队。javascript 这个年代默认大家都会。暗地里学一点 C #,国内虽然.NET 没什么市场,但是大多数是.NET Framework 时代留下的后遗症。现在.NET Core 到.NET 5/6 的时代,很多公司都开始慢慢重新用.NET 了,而且开源多平台,学会了一套技术可以做很多不同的事情。以后应该会有很多公司用。
    jswh
        84
    jswh   238 天前
    天府 java 园
    qzlzwhx
        85
    qzlzwhx   238 天前
    千万别选 python 吧。不然以后有你后悔的时候
    bytesfold
        86
    bytesfold   237 天前
    java 求学习路线
    caroline1022
        87
    caroline1022   237 天前
    二线城市除了 Java,都不太好找工作
    一般来说 python 只会要求你顺便了解一点,而且没工作经验也不行
    teddy2725
        88
    teddy2725   237 天前
    java spring boot .......
    adamwong
        89
    adamwong   237 天前   ❤️ 1
    先保证 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++和这里没提到的函数式)对你来说都只是翻一遍文档就能用的状态了。

    反正工作之后都大概率会被逼着学新语言的,与其做选择题,不如排个优先级
    作为软件工程师,干嘛要限制自己呢
    adamwong
        90
    adamwong   237 天前
    @metaclass aysnio 的 benchmark 我印象里是 golang 的一半吧,只是到了同一数量级,持平过分了
    Evilk
        91
    Evilk   237 天前
    为啥没人提 PHP?
    fjyaosun5555
        92
    fjyaosun5555   237 天前
    @luoleng 公司缺老 python 开发哦, 要不要聊聊,广州的
    cnscorpions
        93
    cnscorpions   237 天前
    之前 JS,Python 的,最近准备学 Java 开发 React Native 的安卓插件,顺便撸下 spring boot 的,

    选 Java 就对了,根据 JetBrains 的调查,亚洲使用 Java 作为主力开发语言的程序员人数最多,其中中国更是世界第一。

    我不管了,我要学 Java,前端也很卷 😂

    Java 稳如老狗
    metaclass
        94
    metaclass   237 天前
    @adamwong 错,你的知识该更新了。FastAPI 首页直接写的“Very high performance, on par with NodeJS and Go (thanks to Starlette and Pydantic).”
    metaclass
        95
    metaclass   237 天前
    @charlie21 Java 低端职位太多,全是内卷,性价比低。别人干一年相当于低端干十几二十年,低端的就业岗位再多也没戏。这几年挣大钱的都没有 Java 系的份,Python / JavaScript / Go 哪一个都比 Java 强
    metaclass
        96
    metaclass   237 天前
    @jmyz0455 Go 和 Python / Node 都可以共生。共生的意思就是没办法一家独大搞全家桶,需要配合来用,比如 Go 的容器生态配合 Python 的 web (这个可以用别的实现)和 AI/ML 生态等。Java 因为历史原因,一直以来都是自己搞全家桶,现在很多功能和原生容器重叠,显得非常笨重,又没办法重构(没法拆出来用)。微服务的话,Python / Go / Node 很容易自己写几十行代码就搞定一个,然而 Java 语法和工具链太啰嗦,几十行连配置都没写完。Java 作为语言本身又因为太学究,需要被迫滥用各种设计模式(本质上是语言表现力太差),这又造成了 Java 从业者被固定思维限制严重,已经处在被业界淘汰的过程中居然还主动跳坑
    adamwong
        97
    adamwong   237 天前
    @metaclass 我说 benchmark,你非得给我说首页的 on par with
    limyel
        98
    limyel   237 天前
    @metaclass 可是 asyncio 的现状真的是一言难尽,很多库都处在 bug 无人来修的状态。还有就是请问有什么好用的异步 orm 可以推荐一下吗?试了一下 tortoise orm 和 peewee-async 感觉不是很好用。
    byte10
        99
    byte10   237 天前
    @johnsona 哈哈笑死我了。太真实了。没办法,要吃饭就只能当牲口了。跟你一样 推荐 nodejs,vue 。
    byte10
        100
    byte10   237 天前
    @love 确实是。python 的话 ,老一点比较有价值。js 比较好,新手就有很多坑可以进。
    @metaclass python 需要老一点的。go 的话不推荐,除非你大学生比较好,或者你的脑子比较好。无脑当然选 java 啦,有手就有人要。
    @metaclass go 和 python,nodejs 三者区别还是挺大的。最佳的场景区别比较大。如果都拿来做 web,当然是 nodejs 啦、
    1  2  
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3941 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 09:26 · PVG 17:26 · LAX 02:26 · JFK 05:26
    ♥ Do have faith in what you're doing.