V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
glacier2002
V2EX  ›  Go 编程语言

Go 为啥没 Python 火

  •  
  •   glacier2002 · 2019-05-14 09:00:22 +08:00 · 9274 次点击
    这是一个创建于 2016 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在做量化时,会严重的发现,Go 基本没有一个完备的量化框架,如回测,分析,报表,实盘展示等.仅仅一些 web 服务端很多框架。

    在做量化时,速度还是很大的因素,python 作为解释性语言还是没 go 快,但为啥就发展不起来呢?

    67 条回复    2019-05-24 10:13:14 +08:00
    weo0
        1
    weo0  
       2019-05-14 09:03:06 +08:00
    主要还是看培训班
    chenset
        2
    chenset  
       2019-05-14 09:04:11 +08:00
    python 90 年代初的语音, 怎么能比. GO 也主打网络开发吧. 数据分析是 python 主场吧.
    ace12
        3
    ace12  
       2019-05-14 09:04:53 +08:00
    时间
    fhsan
        4
    fhsan  
       2019-05-14 09:06:37 +08:00
    Go 不就是为了网络并发诞生的吗?
    XIVN1987
        5
    XIVN1987  
       2019-05-14 09:08:00 +08:00
    Go 是用来做基础设施和高并发网络应用的,,有这种需求的公司没那么多,,
    xpresslink
        6
    xpresslink  
       2019-05-14 09:15:16 +08:00
    Go 的设计目标是代替一部分 C 言开发场景,说白了就是有垃圾回收的 C 语言。
    Imr
        7
    Imr  
       2019-05-14 09:22:03 +08:00 via iPhone
    容器周边都是 go 写的东西,py 火,我觉着一个是系统自带普及率高,加上类似脚本语言简单好用
    thfurior
        8
    thfurior  
       2019-05-14 09:23:14 +08:00
    python 的库多吧,方便编码
    konakona
        9
    konakona  
       2019-05-14 09:24:44 +08:00
    我感觉完全不是一个东西了,2333 深入学习 GO 和 Python 以后。
    另一个是 Go 没什么培训班,而且 package 比较少,造轮子比较多,意味着分配工作后的快速适应性不强。
    specita
        10
    specita  
       2019-05-14 09:25:14 +08:00   ❤️ 7
    go get timeout
    hareandlion
        11
    hareandlion  
       2019-05-14 09:46:51 +08:00 via Android
    go 的生态还没有 py 全吧
    Constellation39
        12
    Constellation39  
       2019-05-14 09:54:26 +08:00
    go get timeout
    Muninn
        13
    Muninn  
       2019-05-14 09:59:25 +08:00
    所以才有机会造轮子呀……

    数据方面 n 多几十几百星的轮子正在制造中
    janxin
        14
    janxin  
       2019-05-14 09:59:44 +08:00
    量化框架支持比 Py 完善的本来也不是很多吧...
    zarte
        15
    zarte  
       2019-05-14 10:01:33 +08:00
    就像你想要的没有,轮子少,毕竟发展时间比 py 晚。
    lithiumii
        16
    lithiumii  
       2019-05-14 10:04:25 +08:00
    数据分析很多不是程序员在做,Go 对非科班人士有 py 友好吗……
    mingqing
        17
    mingqing  
       2019-05-14 10:06:19 +08:00
    每种语言都有它存在的意义,以及专注的领域。
    SaintDan
        18
    SaintDan  
       2019-05-14 10:11:56 +08:00
    GO 还没到火的时候,而且火不火首先看场景,其次看社区
    Leigg
        19
    Leigg  
       2019-05-14 10:16:54 +08:00 via iPhone
    不太懂,量化是 cpu 密集型任务吗?
    hiouyuu
        20
    hiouyuu  
       2019-05-14 10:19:18 +08:00
    数据回归、拟合,绘图等等最重要的功能,python 只需要一行代码就能实现,而 golang 甚至没有一个很好的科学绘图库。
    rockyou12
        21
    rockyou12  
       2019-05-14 10:29:41 +08:00
    一般做原型还是 python 这些写着快把,毕竟有 repl 可以事实看过程和结果,而且 python 上的各种计算密集的库底层一般都是 c,c++写的,也不会慢
    GitHub123456
        22
    GitHub123456  
       2019-05-14 10:31:27 +08:00
    场景的问题,还有就是公司的问题,技术经理的喜好问题
    flyingghost
        23
    flyingghost  
       2019-05-14 10:43:12 +08:00
    量化的前提不是已经完备的框架,而是更细节更原子更重要的数据分析、处理库。这些库确保可用性和易用性。然后才是并行、GPU 等库确保效率。
    这些领域,python 有着超过 20 年的生态积累。go 有什么?只有中间件和 web 服务。go 是一种工程化语言,而 python 不但有工程界的喜爱,更重要的是科研界的基础。这是 go 连想都不敢想的。
    casaca
        24
    casaca  
       2019-05-14 10:46:35 +08:00   ❤️ 1
    Go 为啥没 Python 火?
    因为 GO 那个 LOGO 太变态太恶心了。
    qq976739120
        25
    qq976739120  
       2019-05-14 10:48:31 +08:00
    go 的包管理可以劝退一大部分新人...现在有了 go mod 也只是稍微友好了点
    flyingghost
        26
    flyingghost  
       2019-05-14 10:51:24 +08:00   ❤️ 1
    lz 也只提到一点优势,速度。相对于生态,速度真的是权重非常小了。
    而且 python 做原型做科研做探索,根本不太介意速度。教授和学生们选择 matlab 和 R 需要认真考虑速度吗?
    真要到生产环节,速度也有多种弥补方式,架构对速度的影响远大于虚拟机和 GIL。
    再具体化到功能或者指令级的速度优化,也有太多的选择。c/c++做 python 的底层已经是业界常规,框架、系统级开发 go 的面前还横着一个 rust 插队,旁边一个 julia 横空出世打着 python 继任者的旗号。
    go 在 python 的领域实在看不到啥机会。
    ZSeptember
        27
    ZSeptember  
       2019-05-14 10:54:09 +08:00
    你这个太片面了。
    量化主要看的策略,还有一些数据处理,这方面 Python 的积累是最多的。
    Python 现在确实很火,主要还是用来做一些机器学习,深度学习方面的东西。
    在普通的后端领域,很多公司都在用 Go 替换 Python 的。
    qlhai
        28
    qlhai  
       2019-05-14 11:09:06 +08:00
    王垠:对 Go 语言的综合评价 http://www.yinwang.org/blog-cn/2014/04/18/golang
    reus
        29
    reus  
       2019-05-14 12:03:36 +08:00
    几年前 ruby/rails 火吧?现在怎样了?
    python 在 web 开发方面也曾经火过,现在呢?
    再往前的 PHP、perl,现在还火吗?

    不进则退,不要以为有什么护城河,也不要言之凿凿 go 就一定不能占据这个领域
    dabaibai
        30
    dabaibai  
       2019-05-14 12:07:57 +08:00
    领域不同吧 go 后端为主
    python 工具化为主
    zhucegeqiu
        31
    zhucegeqiu  
       2019-05-14 12:12:20 +08:00
    数据分析 python 就是个壳,底层都是 c++之类的,速度绝对比纯 go 写快,coding 起来又爽,没有 go 的生存空间
    q397064399
        32
    q397064399  
       2019-05-14 12:19:55 +08:00
    同理 你可以问 Java 为什么在量化领域 没有 Python 火..
    Humorce
        33
    Humorce  
       2019-05-14 12:20:28 +08:00
    跑得快不如写得快
    davelm
        34
    davelm  
       2019-05-14 12:21:04 +08:00 via iPhone
    python 量化库很少是纯 py 写的,底层很多还是 c/c++/fortran,并且 py 库很完善,策略 /回测上,py 开发效率比 go 还是要快的,所以相关团队没动力去迁移
    tomoya92
        35
    tomoya92  
       2019-05-14 12:22:31 +08:00 via iPhone
    @ace12 go 都多少年了。。
    largecat
        36
    largecat  
       2019-05-14 12:28:11 +08:00 via Android
    python 库实在是太多太多太多了,
    不要觉得 python 性能不好,他的库底层都是 c 这些写的,性能很好,操作层面用 python 也非常好的效率。

    对比造全部自己造的 go,强不少
    orm
        37
    orm  
       2019-05-14 12:29:38 +08:00 via iPhone
    最早 go 第三方依赖,反人类
    blless
        38
    blless  
       2019-05-14 12:55:50 +08:00 via Android
    写得爽不就好了,毕竟工程语言,王垠的文章看了半天实际感觉还是负面评价居多…在我看来 go 无非就是在 c 和 python 中间取了一个权衡,而且这个权衡我觉得还是很划算的,80%python 开发效率换取 80%c 的性能。又多了一种选择不是吗
    inframe
        39
    inframe  
       2019-05-14 12:56:19 +08:00 via Android
    就库而言,go 生态还差得远呢
    murmur
        40
    murmur  
       2019-05-14 12:56:59 +08:00
    因为 jetbrains 给 go 的 ide 起名叫 golang,就是够烂的意思,所以可以证明是 jetbrains 把 go 坑了
    ipwx
        41
    ipwx  
       2019-05-14 12:59:04 +08:00
    楼上说的都对。

    我选择 Python。
    cookey39
        42
    cookey39  
       2019-05-14 13:02:46 +08:00 via Android
    关键还是生态吧。在数据科学领域有 python,web 领域有 java,高性能领域有 c 艹。编程语言三巨头短期内还是难以撼动。顺便一提 go 在国内比国外还火。
    azhw
        43
    azhw  
       2019-05-14 13:04:10 +08:00
    量化? 量化是撒?
    量化宽松... 量化投资?
    v2nika
        44
    v2nika  
       2019-05-14 13:06:41 +08:00
    go 没有 python 那么多语法糖,比如装饰器,继承等,加上要编译运行,强类型,对于习惯用 Jupyter 的搞经济,数学的人来说不一定很适用。就像 matlab, mathematica, comsol 对于不同领域的人一样。
    LokiSharp
        45
    LokiSharp  
       2019-05-14 13:07:09 +08:00
    Go 的 Logo 太丑了啊
    27
        46
    27  
       2019-05-14 13:26:33 +08:00
    golang = 够浪
    www5070504
        47
    www5070504  
       2019-05-14 13:28:50 +08:00
    太好了 培训班还没盯上 golang
    8a9a09dw12
        48
    8a9a09dw12  
       2019-05-14 14:46:17 +08:00
    @murmur replace("golang","goland")
    stream
        49
    stream  
       2019-05-14 14:55:33 +08:00
    python 库多,培训班三两行代码拉个东西,“ awesome"!
    ArianX
        50
    ArianX  
       2019-05-14 15:10:16 +08:00 via Android
    Python 这一波主要是数据分析人工智能带起来的吧,后台领域感觉渐渐式微了,很多用 python 的公司都转 go、java
    kiddingU
        51
    kiddingU  
       2019-05-14 15:48:50 +08:00
    现在 go mod 管理包很方便
    kwanzaa
        52
    kwanzaa  
       2019-05-14 15:50:00 +08:00
    go get timeout
    qcts33
        53
    qcts33  
       2019-05-14 16:04:41 +08:00
    不说别的,Python3 都比 Golang 早发布,你总得考虑历史原因吧……
    另外 Python 有 Numpy 这样非常成熟的数值运算库,通过 BLAS 的加速,跑起来不一定比你用 Golang 手撸数值运算要慢
    6d6f33
        54
    6d6f33  
       2019-05-14 16:05:41 +08:00
    楼上说的都对。

    我选择 Python。
    SwagXin
        55
    SwagXin  
       2019-05-14 16:54:18 +08:00
    go 年龄小,现在发展已经算不错了。
    helica
        56
    helica  
       2019-05-14 17:08:59 +08:00 via iPhone
    @reus 问一下今年 web 开发什么语言最火?
    shisang
        57
    shisang  
       2019-05-14 17:23:06 +08:00
    moby (摸逼) 生态没有什么可以取代 golang (够浪)
    lolizeppelin
        58
    lolizeppelin  
       2019-05-14 17:42:39 +08:00
    要手动泛型的 go 在需要写灵活代码的时候很痛苦的
    ruyuejun
        59
    ruyuejun  
       2019-05-14 18:02:24 +08:00
    Go 的年纪相比 Python 实在太小了,在积累上自然有劣势。
    但是不能说 Go 没有 Python 火,要看具体的场景,
    Python 基本都是用在一些科学运算等场景中,其火在于运维工程师、一些非 IT 从业中,
    市场上 Web 开发仍然是程序员大军中比例较大的,Python 在这里并没有多少席位,不要提 flask 等,差距很大。
    Go 在微服务、中间件、云原生应用领域虽然不及 Java,但是和 Python 对比,其体量还是秒杀 Python 的。
    来一起学 Go 吧,热乎的笔记等你 clone:
    https://github.com/overnote/Golang
    icylogic
        60
    icylogic  
       2019-05-14 18:04:28 +08:00 via iPhone
    准备学学 julia …… go 就算了

    另外很多 nvidia 的计算库就两个官方 API
    C++ 和 Python,有些东西你手撸就是没有它提供的库快
    FrankHB
        61
    FrankHB  
       2019-05-14 18:07:36 +08:00
    @qlhai 几年了都搞不清什么叫自动的过气用户(亏他下文还有脸提“资源泄漏”)的说法看看笑过就好。
    说实话,这个还不如“新的都不是好的,好的都不是新的”这个他自己之前对 Go 的特性的评价来得干脆(和准确)。
    虽然里面说的 Go 的坏话很多也没多大毛病,不过还是有不少东西是欺负大多数读者外行吧……
    比如说所谓通常被叫做“进程”或者“线程”的东西,是要支持抢占式多任务的,自带调度(和 goroutine 实际上更接近)。就算是 building block,那也叫 engine (像 timed-lambda )什么的,“系统级 continuation ”是什么鬼……
    还有除去调度,也不提 CPS 会有怎么样的 ABI 或者其它幺蛾子麻烦(跟他吹 checked exception 时如出一辙),undelimited continuation 在资源上无论怎么实现都是要炸的……所谓“函数式语言只要支持 continuation,就会很容易的实现大并发”基本就是痴心妄想。
    看看,这般扯的批评都能被人当真,就知道并不能指望这些语言有多少靠谱的用户了。
    (顺便,Scheme 的 cond 和多返回值也有照着 Scheme 自己的设计原则来讲一眼看过去就能发现烂的地方,可能他用的仍然不够多,并不清楚明显能改进的地方。)
    glacier2002
        62
    glacier2002  
    OP
       2019-05-15 09:12:34 +08:00
    @lolizeppelin #58 2.x 的 go 即将支持泛类型
    wonderingray
        63
    wonderingray  
       2019-05-15 14:21:10 +08:00
    如果 go 和 python 同时出来就不定谁火了吧?ఠ_ఠ
    glacier2002
        64
    glacier2002  
    OP
       2019-05-15 17:58:46 +08:00
    @wonderingray #63 神解
    glacier2002
        65
    glacier2002  
    OP
       2019-05-15 17:59:20 +08:00
    看完各位的评论,看样子我需要把 python 撸一把。
    谢谢各位看官了
    lidongyx
        66
    lidongyx  
       2019-05-24 01:42:22 +08:00 via iPhone
    可能在程序员的世界里,Python 只是花拳绣腿,花架子很多,但是在非程序员的世界里,Python、SQL、前端三贱客虽然已经很流行,但是还远远不够。
    zvall
        67
    zvall  
       2019-05-24 10:13:14 +08:00
    人生苦短,我用 python
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5374 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 07:39 · PVG 15:39 · LAX 23:39 · JFK 02:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.