V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
skies457
V2EX  ›  程序员

有没有这样一种语言

  •  
  •   skies457 · 2020-02-14 04:09:22 +08:00 · 7607 次点击
    这是一个创建于 1745 天前的主题,其中的信息可能已经有所发展或是发生改变。

    像 JavaScript 一样灵活且生态丰富,像 Python 一样 Pythonic 式的简单易上手,像 Go 一样并行编程方便快捷,然后还具备接近 C/C++的性能。。

    要是还有 Rust 的安全性就更棒了🌚

    61 条回复    2020-02-15 19:22:21 +08:00
    Mitt
        1
    Mitt  
       2020-02-14 04:16:33 +08:00
    您可以选择自己写一个 🌚
    akazure
        2
    akazure  
       2020-02-14 04:18:07 +08:00 via Android
    易语言?
    bilibilifi
        3
    bilibilifi  
       2020-02-14 05:15:06 +08:00 via iPhone
    你大概可以考虑一下 Julia,就是生态比较差
    afpro
        4
    afpro  
       2020-02-14 07:31:34 +08:00
    简单易上手 = 想怎么写就怎么写
    安全性 = 我让你怎么写 你就要怎么写
    所以你想要一个 又管你又不管你的老婆?
    singerll
        5
    singerll  
       2020-02-14 07:45:57 +08:00 via Android   ❤️ 4
    这不就是老板用的语言吗?
    dreamerlv3ex
        6
    dreamerlv3ex  
       2020-02-14 07:57:27 +08:00   ❤️ 1
    ETC:拼音怎么样,简单到小学生都会,仅仅需要 26 个字母,多音节并行无压力,模块化拼接,语法糖,性能还需要说吗?
    安全性,对老外不友好,非常利于 BGSG.
    KasuganoSoras
        7
    KasuganoSoras  
       2020-02-14 08:06:06 +08:00   ❤️ 1
    PHP 是世界上最好的语言
    manami
        8
    manami  
       2020-02-14 08:09:11 +08:00 via Android
    404 Not Found
    Cbdy
        9
    Cbdy  
       2020-02-14 08:29:25 +08:00 via Android
    这不是 Java 吗?
    luckylo
        10
    luckylo  
       2020-02-14 08:43:56 +08:00 via Android
    中科院的 木兰呀 手动狗头
    crayygy
        11
    crayygy  
       2020-02-14 08:52:13 +08:00 via iPhone
    Kotlin ?
    dilu
        12
    dilu  
       2020-02-14 08:56:11 +08:00   ❤️ 1
    我从来没觉得 JavaScript 的生态有多好反而有种病态,随便引用一个包,几百个包就上来了。。。。
    ClericPy
        13
    ClericPy  
       2020-02-14 09:01:03 +08:00
    我怀疑你在说 Nim, 但又没有证据...

    https://github.com/the-benchmarker/web-frameworks

    这语言的 web 框架 Benchmark 不知道什么时候在这个榜单里成第一了... 2 和 3 是 JS 也很 6 了

    但是没大厂背书的语言, 不太敢用
    goldenalex
        14
    goldenalex  
       2020-02-14 09:02:13 +08:00
    用 Rust 方式写的 python 调用 JavaScript 执行的 C 程序?
    slyang5
        15
    slyang5  
       2020-02-14 09:03:48 +08:00
    Kotlin
    pythonee
        16
    pythonee  
       2020-02-14 09:17:36 +08:00
    江湖上好像传说着 clojure
    Tomotoes
        17
    Tomotoes  
       2020-02-14 09:21:11 +08:00 via Android
    D 语言最接近,不过生态不好。
    pursuer
        18
    pursuer  
       2020-02-14 09:23:23 +08:00
    灵活和性能经常是矛盾的
    lululau
        19
    lululau  
       2020-02-14 09:27:42 +08:00 via iPhone
    swift
    coderluan
        20
    coderluan  
       2020-02-14 09:29:01 +08:00
    简单和性能最终肯定是矛盾的,这点哪个语言能解决,剩下的问题,生态快捷啥的,有都是的人愿意来做出贡献。
    legiorange
        21
    legiorange  
       2020-02-14 09:30:22 +08:00
    @bilibilifi 现在我不推荐使用 julia,整个体系还没达到能进行稳定的企业应用开发,学习的时间成本比较划不来,但是类似实验室这种的计算型较强的是没问题的。
    imn1
        22
    imn1  
       2020-02-14 09:53:20 +08:00
    每天看的新闻,头条都是用这种语言写的
    GoLand
        23
    GoLand  
       2020-02-14 10:21:56 +08:00
    这不就是 go,生态日益丰富,简单容易上手,性能不错。
    janxin
        24
    janxin  
       2020-02-14 10:56:28 +08:00
    不存在的,自己写一个,自己做生态,自己多推广
    virusdefender
        25
    virusdefender  
       2020-02-14 10:58:02 +08:00
    那不就是 golang 么,它不灵活生态丰富简单容易上手性能高安全么
    tt67wq
        26
    tt67wq  
       2020-02-14 10:59:53 +08:00 via iPhone
    @Cbdy 就 java 那罗里吧嗦的语法
    clemente0620
        27
    clemente0620  
       2020-02-14 11:35:27 +08:00
    人民币 /美刀
    wozhizui
        28
    wozhizui  
       2020-02-14 11:46:57 +08:00
    这就是矛盾的事情,比如我想要一辆便宜的、省油的、动力强、好维修的车,有吗?有。
    whoami9894
        29
    whoami9894  
       2020-02-14 12:06:47 +08:00 via Android
    @ClericPy 版本号没上 1.x 的都存疑
    ClericPy
        30
    ClericPy  
       2020-02-14 12:32:48 +08:00
    @whoami9894 #29 第一行写的就是 1.0 吧...
    zhuangzhuang1988
        31
    zhuangzhuang1988  
       2020-02-14 13:34:47 +08:00
    C#啊!!!
    yunye
        32
    yunye  
       2020-02-14 13:37:03 +08:00
    红头文件语言
    optional
        33
    optional  
       2020-02-14 13:47:30 +08:00
    ts 编译到 quickjs 或者 deno
    Mtianmin
        34
    Mtianmin  
       2020-02-14 13:51:22 +08:00
    https://github.com/zhanyong-wan/dongbei

    这个这个哈哈哈哈哈哈
    LokiSharp
        35
    LokiSharp  
       2020-02-14 13:57:09 +08:00 via iPhone
    你说的可能是性 C#
    skies457
        36
    skies457  
    OP
       2020-02-14 14:13:05 +08:00
    @zhuangzhuang1988 @LokiSharp 写过半年 C#,C#性能还行,但是写起来有点迂腐像 C++、Java,灵活性还是不如动态语言呀。。LINQ 增加了一点语言的爽度,但时常感觉还是带着镣铐跳舞 emmm
    skies457
        37
    skies457  
    OP
       2020-02-14 14:17:22 +08:00
    @optional 对性能能否接近原生还存疑,虽然不太了解 quickjs 和 deno。。个人觉得 JS 系语言的发展从来都没有以性能为导向过,大都是够用就行,毕竟日常处理数据量并不是很大
    skies457
        38
    skies457  
    OP
       2020-02-14 14:20:24 +08:00
    @virusdefender @GoLand Go 虽然性能不差,但写起来是真的不敢恭维,if err != nil 这点就可以黑一年。。
    MeteorCat
        39
    MeteorCat  
       2020-02-14 14:21:22 +08:00 via Android
    lua,挂个 c/c++
    wysnylc
        40
    wysnylc  
       2020-02-14 14:32:49 +08:00
    快捷和安全是反义词
    ChristopherWu
        41
    ChristopherWu  
       2020-02-14 14:41:40 +08:00
    有,elixir,请看: https://www.v2ex.com/t/484954#reply19

    > 像 JavaScript 一样灵活且生态丰富
    没错,因为是动态语言,算是新的语言,工具链成熟,包管理器好用

    > 像 Python 一样 Pythonic 式的简单易上手
    我觉得语法设计的好

    > 像 Go 一样并行编程方便快捷
    actor 模型,比 go 更好的并行

    > 然后还具备接近 C/C++ 的性能
    mq 就是用 erlang 写的,现在虚拟机支持 HIPE 直接编译

    > 要是还有 Rust 的安全性就更棒了
    比不了,但稳定性可以比。
    cmdOptionKana
        42
    cmdOptionKana  
       2020-02-14 14:52:58 +08:00
    @skies457 “C#性能还行,但是写起来有点迂腐像 C++、Java,灵活性还是不如动态语言”

    江湖传闻动态一时爽,重构火葬场。

    你知道为什么 TypeScript 势头那么猛吗,知道 Python 也积极搞 type hint 吗,为什么过去曾经被吹捧的动态语言要往静态化的方向走?

    其中一个重要原因是最近几年 IDE/编辑器 的发展非常迅猛,在现代化编辑器的协助下,动态语言的优势几乎丧失殆尽,静态语言的缺点被克服(包括写的时候可以自动化、阅读代码的时候也可以简化显示)。
    Buges
        43
    Buges  
       2020-02-14 14:53:07 +08:00 via Android
    Python 整体上的那种统一,协调,一致的设计其他语言很少有。抛开这一点的话推荐 C++,虽然宛若打满补丁的缝合怪,但避开那些偏底层性能方面的特性熟悉了之后也勉强能称得上简单好用。
    charlie21
        44
    charlie21  
       2020-02-14 15:26:43 +08:00
    并行编程 是什么?能吃吗?好吃吗?
    queuey
        45
    queuey  
       2020-02-14 15:30:46 +08:00
    我怀疑你在说 木兰, 但又没有证据...
    wangyzj
        46
    wangyzj  
       2020-02-14 15:39:40 +08:00
    什么时候鱼和熊掌可以兼得了?
    ostholz
        47
    ostholz  
       2020-02-14 15:53:54 +08:00
    难道不是 Crystal Lang?
    什么时候 Kotlin Native 成熟了,Kotlin 也是个不错的选择
    wangtxxl
        48
    wangtxxl  
       2020-02-14 15:53:59 +08:00
    除了 木兰 也许只有 方舟旗下的编程语言了
    LokiSharp
        49
    LokiSharp  
       2020-02-14 16:06:55 +08:00 via iPhone
    @skies457 我倒是觉得静态类型写起来爽,动态类型的要多写很多不必要的测试才能放心
    Brucepac
        50
    Brucepac  
       2020-02-14 16:46:52 +08:00 via iPhone
    感觉 Swift 很接近了,等 async 有了就差不多了
    alya
        51
    alya  
       2020-02-14 16:58:00 +08:00
    @wozhizui 超跑 gk5
    Kirscheis
        52
    Kirscheis  
       2020-02-14 17:39:13 +08:00 via Android
    当然是 c++了,c++什么都可以一把梭
    skies457
        53
    skies457  
    OP
       2020-02-14 17:54:47 +08:00
    @cmdOptionKana 赞同静态化趋势,动态语言的 type inference 也是必不可少的。但你试过用 c#写 python 的"for i, obj in enumerate(objects)"吗......
    skies457
        54
    skies457  
    OP
       2020-02-14 17:57:20 +08:00
    @Buges @Kirscheis c++至今没有和 express.js 、gin、flask 相比拟的成熟的 web 后端框架,处理起 json 之类的格式代码量爆炸。。
    Kirscheis
        55
    Kirscheis  
       2020-02-14 18:36:23 +08:00 via Android
    @skies457 c++确实没什么好的后端框架,不过处理 json 并不比其它语音差呀,内存效率很高,parser 也不难写,相关的库也很丰富,还快
    codehz
        56
    codehz  
       2020-02-14 18:39:58 +08:00   ❤️ 1
    vlang: 你说的这些需求都有在首页上(
    甚至还有安全性:没有 null,没有全局变量,没有 undefined,没有 undefined behavior,有边界检查,有 Result/Option 类型,有泛型,默认不可变数据结构,默认纯函数
    没有 GC,也不需要生命周期管理
    性能:和 C 一样快,0 成本和 C 交互,最少的内存分配
    编译速度:总之是默秒全
    直接生成机器码
    还有自己的优化器
    编译器:空间需求<2MB,编译自身只需 0.4 秒
    还有 c to v 和 c++ to v 的转换器
    以及动态代码重载
    和强大的图形库
    自带跨平台 GUI 库
    轻松跨平台构建
    依赖少,无痛部署
    可以在任何 C 能运行的地方运行
    还有 REPL
    以及自带 ORM

    唯一的问题就是大部分真正重要的内容都没实现(每月黑 V 1/1 )
    secondwtq
        57
    secondwtq  
       2020-02-14 19:21:31 +08:00
    来一点点枚举楼主这个需求的问题:

    * “像 JavaScript 一样灵活” —— “灵活”无法定义。如果说能写什么程序的话,那么任何一个图灵完全并且有正常的 C FFI 的语言都足够灵活( https://v2ex.com/t/604915#r_7962546 ),只是 JavaScript 作为没有标准的 FFI 的语言,灵活性很值得怀疑。如果“灵活”是指“同样的程序可以有多少种写法”的话,不同语言由于语言特性的不同,会有不同的角度,比如 JavaScript 的 prototype 很灵活,汇编的内存操作也很灵活。单单“灵活”是什么也说明不了的,既然楼主说了“像 JavaScript 一样灵活”,那楼主要的就只能是 JavaScript。

    * “生态丰富” —— 满足 V 站定义的“生态丰富”的语言(假设楼主说的是通用编程语言,并且这里不算 Scala、TypeScript 这种作弊的),用手指+脚趾能数出来,这一上来就大大限制了候选集合。

    * “Pythonic 式的简单易上手” —— 这个“Pythonic”又直接把目标锁在了 Python 上——因为“Pythonic”就是指“Python 的特征”,或“根据 Python 所总结出的特征”。从比较的角度讲,编程语言就是这样一个思路的集合,如果以“Pythonic”指导设计语言的话,最后出来的就只是另一个 Python。
    再说“简单易上手”,如果说生态尚且可以通过数据量化的话,“简单易上手”是无法定义的,或者说不同的人可能有不同的定义。既然你前面提到了“Pythonic”,那么我只能假设你的“简单易上手”是指“Pythonic”。根据上一段所述,符合“Pythonic”的只有 Python。

    * “像 Go 一样并行编程方便快捷” —— Go 在并行编程方面我只能说一般(再说从根上讲这就不是 Go 的设计目标之一),不是很明白这个需求。

    * “接近 C/C++ 的性能” —— 能严格满足这一标准的语言只有 C/C++,我在 https://v2ex.com/t/594287#r_7803885 这里说过 C/C++ 在这方面的特殊性。至于“接近”么,“接近”的定义也有很多种,比如在上面那个贴子中有回复提到 OCaml 比 C 快,用 Java 的人会说 Java 的性能不比 C++ 差,哪怕用 Python 的人把 CPython 扔了用 PyPy 之类的也敢这么说( https://news.ycombinator.com/item?id=13748622 ),这个 StackOverflow https://stackoverflow.com/questions/35019918/sum-all-numbers-from-one-to-a-billion-in-haskell 说 Haskell 随手一改比 C++ 还快,而这个 https://stackoverflow.com/questions/17036059/why-does-javascript-appear-to-be-4-times-faster-than-c 上面还说 modern JS engine “may allow performance roughly equal with compiled languages like C.”,

    * “Rust 的安全性” —— 这就涉及到前面说的“简单易上手”的定义问题,如果你认为在编程时 reason about lifetime 是正常的事情,那么这条需求是可以与“简单易上手”兼容的。如果你认为编程时不应该时刻 reason about lifetime,并且这件事情会搞得很“复杂”,那这个和“简单易上手”不兼容。
    epkT6QJ3RSaz6AnJ
        58
    epkT6QJ3RSaz6AnJ  
       2020-02-14 20:45:41 +08:00
    如果量子计算实现,真正的 lisp 就会实现,所有的框架、ide 都会消亡,因为都是历史的产物,最终退化为一种历史和文化,未来人类可能已经不需要 gui,不需要实例,不需要过程,只需要信息量和 lisp machine。
    epkT6QJ3RSaz6AnJ
        59
    epkT6QJ3RSaz6AnJ  
       2020-02-14 20:47:02 +08:00
    @epkT6QJ3RSaz6AnJ 因此我们活在的世界其实未来人看,可能就想蒸汽机和核能的区别,我们认为很有生产力的工具,在未来看都显得笨拙和多余。
    b00tyhunt3r
        60
    b00tyhunt3r  
       2020-02-15 10:45:24 +08:00
    @epkT6QJ3RSaz6AnJ 解释一下
    whoami9894
        61
    whoami9894  
       2020-02-15 19:22:21 +08:00
    @ClericPy 我说框架版本号
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2964 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 13:15 · PVG 21:15 · LAX 05:15 · JFK 08:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.