V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
nonewind
V2EX  ›  问与答

请教各位大佬,不同语言之间如何打通?

  •  
  •   nonewind · 3 天前 · 808 次点击

    背景:

    • 部门内部以及公司内部的大部分服务是 JAVA 编写的
    • 我的主要技术栈是 Python ,之前 0-1 了一个类似于 KONG 的(无意碰瓷,小弟技术很烂,拙劣模仿)一个功能平台

    今天 leader 与我面谈,表示:因为大家都技术栈大部分都是 JAVA ,既然我这边的技术栈是 Python ,那么有没有可能 JAVA 与 Python 之间有互通的解决方案。

    各位老哥恕小弟愚笨,望各位老哥不吝解答

    17 条回复    2025-01-02 10:35:02 +08:00
    registerrr
        1
    registerrr  
       3 天前   ❤️ 1
    虽然但是,看看 Java 的写法,直接转过去都行。互通还不够麻烦的
    liudewa
        2
    liudewa  
       3 天前   ❤️ 1
    用 gpy 转下代码
    ripperdev
        3
    ripperdev  
       3 天前   ❤️ 1
    通过 HTTP/RPC 的方式互相调用?
    Chrisssss
        4
    Chrisssss  
       3 天前   ❤️ 1
    别折磨自己了,重新用 java 写一遍应该比打通的成本低多了
    nonewind
        5
    nonewind  
    OP
       3 天前
    @ripperdev 接口封装的这种方式,互相调用起来最终的结果肯定就是互相推诿,我也考虑过这种方案,但感觉实行起来还是困难重重。
    nonewind
        6
    nonewind  
    OP
       3 天前
    @registerrr @Chrisssss 我认真考虑了一下,如果让我自己转技术栈的话,实际上等于是剥离了我自己的技术优势,小弟不太愿意放弃自身的优势项
    nonewind
        7
    nonewind  
    OP
       3 天前
    @liudewa 恕小弟愚笨,敢情老哥明示 gpy 是啥
    liudewa
        8
    liudewa  
       3 天前
    @nonewind #7 gpt
    ripperdev
        9
    ripperdev  
       3 天前   ❤️ 1
    @nonewind #5 不放弃自身优势的前提下,只剩下 RPC 一条路了吧,这不正好工作也保住了,明年的 OKR 也有了
    AnotherSola
        10
    AnotherSola  
       3 天前   ❤️ 1
    @nonewind 把之前公司内部的服务都用 Python 写了
    registerrr
        11
    registerrr  
       3 天前   ❤️ 1
    @nonewind #6
    1. 想的有点窄了,有一门语言的基础下,另学一门语言比你想象的要快得多。
    2. leader 都找你面谈了,什么意思你体会体会
    3. python 在某些领域上仍然是有优势的,如果业务拓展到这些方向,你不直接就能上手,这仍然是你的优势
    nonewind
        12
    nonewind  
    OP
       3 天前
    @AnotherSola 老哥说笑了
    nonewind
        13
    nonewind  
    OP
       3 天前
    @ripperdev #9 我们之前也有过这种实现,打成 jar 包,然后起服务,然后通过 Python 写的 http 服务来调用。这种有过具体实践
    nonewind
        14
    nonewind  
    OP
       3 天前
    @registerrr #11 我懂老哥的意思了,谢谢老哥
    dcsuibian
        15
    dcsuibian  
       3 天前   ❤️ 1
    我觉得#3 和#11 说的就挺好了
    1 、领导找你面谈了,是不是有让你转技术栈的意思?
    2 、新学一门语言不会削弱你的优势,反而会增加你的技术广度,比如架构师可能就会很多种技术。不过确实也有副作用,就是减少你在一门技术上深度钻研的时间

    如果你在这两个问题上确定都想明白了,那么我作为小公司的一个全栈/全干程序员告诉你:微服务架构,用 HTTP 打通

    我就是这么设计我们公司的微服务架构的。
    介绍下背景:我司主要做的是提供一些算法,最开始会由研发人员用 MATLAB 写,然后我用 ChatGPT 译成 Python 并校验,最后用 FastAPI 报装成一个服务。当然也会有些普通的 CRUD 。

    之所以这么做以下几点考量:
    1 、我最熟悉 Java 、其次 js/ts 、Python 只能排到第三位
    2 、Python 的性能有点拉(虽然目前还没碰到啥性能问题)
    3 、都是 Python 也会碰到版本兼容性问题。比如有时候可能 Python 版本不得不下降到 3.7 。
    4 、有些算法会长时间占用 CPU ,做成单体的不好水平扩展
    julyclyde
        16
    julyclyde  
       1 天前
    那你赶紧忽悠公司 all in AI 啊
    然后你就是 the one 了
    nonewind
        17
    nonewind  
    OP
       1 天前
    @dcsuibian 感谢老哥,醍醐灌顶
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   960 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 20:45 · PVG 04:45 · LAX 12:45 · JFK 15:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.