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

Go 为啥没 Python 火

  •  
  •   glacier2002 · 7 天前 · 6393 次点击

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

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

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

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

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

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

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

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

    另外很多 nvidia 的计算库就两个官方 API
    C++ 和 Python,有些东西你手撸就是没有它提供的库快
        61
    FrankHB   7 天前
    @qlhai 几年了都搞不清什么叫自动的过气用户(亏他下文还有脸提“资源泄漏”)的说法看看笑过就好。
    说实话,这个还不如“新的都不是好的,好的都不是新的”这个他自己之前对 Go 的特性的评价来得干脆(和准确)。
    虽然里面说的 Go 的坏话很多也没多大毛病,不过还是有不少东西是欺负大多数读者外行吧……
    比如说所谓通常被叫做“进程”或者“线程”的东西,是要支持抢占式多任务的,自带调度(和 goroutine 实际上更接近)。就算是 building block,那也叫 engine (像 timed-lambda )什么的,“系统级 continuation ”是什么鬼……
    还有除去调度,也不提 CPS 会有怎么样的 ABI 或者其它幺蛾子麻烦(跟他吹 checked exception 时如出一辙),undelimited continuation 在资源上无论怎么实现都是要炸的……所谓“函数式语言只要支持 continuation,就会很容易的实现大并发”基本就是痴心妄想。
    看看,这般扯的批评都能被人当真,就知道并不能指望这些语言有多少靠谱的用户了。
    (顺便,Scheme 的 cond 和多返回值也有照着 Scheme 自己的设计原则来讲一眼看过去就能发现烂的地方,可能他用的仍然不够多,并不清楚明显能改进的地方。)
        62
    glacier2002   6 天前
    @lolizeppelin #58 2.x 的 go 即将支持泛类型
        63
    wonderingray   6 天前
    如果 go 和 python 同时出来就不定谁火了吧?ఠ_ఠ
        64
    glacier2002   6 天前
    @wonderingray #63 神解
        65
    glacier2002   6 天前
    看完各位的评论,看样子我需要把 python 撸一把。
    谢谢各位看官了
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   827 人在线   最高记录 5043   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 23ms · UTC 20:57 · PVG 04:57 · LAX 13:57 · JFK 16:57
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1