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

闲下来想学习一门接近完美的语言,请问该学什么好呢?

  •  6
     
  •   Kongtou · 2018-04-07 21:06:08 +08:00 · 28815 次点击
    这是一个创建于 2428 天前的主题,其中的信息可能已经有所发展或是发生改变。
    按排名优先:
    1.语法表现力强
    2.性能好
    3.有好的 ide
    4.生态繁荣
    249 条回复    2018-12-15 22:06:01 +08:00
    1  2  3  
    yougezai
        101
    yougezai  
       2018-04-08 09:14:37 +08:00
    说 Csharp 需要勇气,除了生态稍微差一丢丢,什么都比较完美。 关键是跨平台,有强大的厂商支持
    hnbcinfo
        102
    hnbcinfo  
       2018-04-08 09:17:44 +08:00
    按你的要求,那就.net core 平台下的 C#吧。
    Itoktsnhc
        103
    Itoktsnhc  
       2018-04-08 09:18:29 +08:00   ❤️ 2
    C# or F# ?
    firedsxist0
        104
    firedsxist0  
       2018-04-08 09:21:32 +08:00   ❤️ 1
    看到“完美”二字,我就知道楼主是来引战的
    闲下来学的话,那就学说情话吧,哄女孩子这个技能闲下来可以学
    peinhu
        105
    peinhu  
       2018-04-08 09:24:19 +08:00   ❤️ 2
    C#除了找不到工作,其他没什么不好的,都满足你的要求😄
    sinver
        106
    sinver  
       2018-04-08 09:25:50 +08:00
    美式英语,中文...
    shenqi
        107
    shenqi  
       2018-04-08 09:28:18 +08:00
    粤语。
    skadi
        108
    skadi  
       2018-04-08 09:28:32 +08:00
    反正没提编译速度.那还是 cpp 吧.
    lulala2018
        109
    lulala2018  
       2018-04-08 09:35:02 +08:00
    c++
    lepig
        110
    lepig  
       2018-04-08 09:35:41 +08:00
    为什么没人推荐 Go 我刚入坑啊
    ioth
        111
    ioth  
       2018-04-08 09:37:06 +08:00
    梵语。
    fork
        112
    fork  
       2018-04-08 09:40:59 +08:00
    缺铜币了吧
    Shura
        113
    Shura  
       2018-04-08 09:41:12 +08:00   ❤️ 2
    学编译原理,然后造个前端小轮子,后端接 LLVM,比你无目的地学编程语言好玩很多。
    KgM4gLtF0shViDH3
        114
    KgM4gLtF0shViDH3  
       2018-04-08 09:45:54 +08:00
    炫技当然是 lisp
    zachgenius
        115
    zachgenius  
       2018-04-08 09:46:31 +08:00
    入坑 rust 吧
    brown001
        116
    brown001  
       2018-04-08 09:55:06 +08:00
    c# 除了一直说不好找工作之外,其他我觉得还行吧= = 哈哈哈哈
    HuangLibo
        117
    HuangLibo  
       2018-04-08 10:01:19 +08:00
    这个问题类似于: 我想去一家餐馆, 便宜, 好吃, 服务好.
    stzz
        118
    stzz  
       2018-04-08 10:13:55 +08:00
    C 井 typescript..
    学巨硬家的东西啥都好就是不赚钱😁
    lrz0lrz
        119
    lrz0lrz  
       2018-04-08 10:33:08 +08:00
    JS,完美根治楼主对“完美”的妄想
    kiss96803
        120
    kiss96803  
       2018-04-08 11:11:55 +08:00
    吸 吓 噗
    SmallZheng
        121
    SmallZheng  
       2018-04-08 11:14:36 +08:00
    rust
    tyrealgray
        122
    tyrealgray  
       2018-04-08 11:15:45 +08:00 via Android
    用 vs 写 c++ 啊
    retroxs
        123
    retroxs  
       2018-04-08 11:16:05 +08:00
    javascript
    dhssingle
        124
    dhssingle  
       2018-04-08 11:17:46 +08:00
    C#
    RubyJack
        125
    RubyJack  
       2018-04-08 11:19:44 +08:00
    看到 ide...那么就只好推荐 jvm 上的函数式语言了
    yuriko
        126
    yuriko  
       2018-04-08 11:20:19 +08:00
    我……我要投诉你引战……!
    ( JAVA 大法好,跑)
    kohos
        127
    kohos  
       2018-04-08 11:20:20 +08:00
    visual studio code 配合 javascript,简直完美(
    Kongtou
        128
    Kongtou  
    OP
       2018-04-08 11:21:45 +08:00 via Android
    @yuriko 怪我咯:p
    Devotion
        129
    Devotion  
       2018-04-08 11:22:36 +08:00
    c,c++,java,python,scala,bash 学完这些就够了。
    Kongtou
        130
    Kongtou  
    OP
       2018-04-08 11:23:09 +08:00 via Android   ❤️ 1
    @Shura 编译原理有什么意思,学正则表达式匹配吗
    ltcsky
        131
    ltcsky  
       2018-04-08 11:44:28 +08:00
    English...
    luoqeng
        132
    luoqeng  
       2018-04-08 11:47:12 +08:00
    scheme
    wingkou
        133
    wingkou  
       2018-04-08 11:52:43 +08:00 via Android
    看到楼主在#130 问 @ Shura 编译原理有什么意思,学正则表达式匹配吗?才发现楼主原来真的不是在引战的...
    AIDesign
        134
    AIDesign  
       2018-04-08 12:05:19 +08:00
    编程语言只是工具,每个人口味不同,喜欢的工具也不同。
    最近在 Arduino 上尝试了下 Forth 这个古老的语言,感觉到一股神秘的力量。
    Kongtou
        135
    Kongtou  
    OP
       2018-04-08 12:12:54 +08:00 via Android
    @wingkou 确实是很枯燥啊
    sobigfish
        136
    sobigfish  
       2018-04-08 12:13:30 +08:00
    我就是进来看第几楼出现 swift 的 都是个人体验的不同 哪可能有什么完美
    lbp0200
        137
    lbp0200  
       2018-04-08 12:21:51 +08:00
    PHP
    funlee
        138
    funlee  
       2018-04-08 12:36:27 +08:00
    不是自己打造的,何来完美;
    来打造完美的 JS 吧!
    ytf4425
        139
    ytf4425  
       2018-04-08 12:47:06 +08:00
    @qdwang 你这是提前否定了 PHP 和 Python 了吗 2333
    Elephant696
        140
    Elephant696  
       2018-04-08 13:00:44 +08:00
    JavaScript


    话说,在我眼里詹姆斯是篮球之神,不知道各位怎么看(*^__^*)
    stackexplode
        141
    stackexplode  
       2018-04-08 13:01:59 +08:00
    C++ 11 以上,足够好用
    aminic
        142
    aminic  
       2018-04-08 13:04:40 +08:00 via Android
    期货锈蚀
    Flobit
        143
    Flobit  
       2018-04-08 13:05:03 +08:00 via Android
    什么是完美?
    ben1024
        144
    ben1024  
       2018-04-08 13:06:53 +08:00
    js or php
    lostpupil
        145
    lostpupil  
       2018-04-08 14:24:38 +08:00
    (1 2 3 4) => clojure
    lostpupil
        146
    lostpupil  
       2018-04-08 14:26:09 +08:00
    Lisp 语系的表现力不多说
    性能也很好
    IDEA Cursive
    Java 大兄弟的包你随便用
    contmonad
        147
    contmonad  
       2018-04-08 14:45:34 +08:00 via iPhone
    @lostpupil 正版 Cursive ?
    hbsfxlz
        148
    hbsfxlz  
       2018-04-08 14:53:53 +08:00
    print('hello world')
    fghjghf
        149
    fghjghf  
       2018-04-08 15:09:30 +08:00
    现在的高级语言,都是图灵式的语言。没完美的。除非量子机出现了,有 AI 的语言
    FreshOldMan
        150
    FreshOldMan  
       2018-04-08 15:11:50 +08:00
    Swift
    yanzixuan
        151
    yanzixuan  
       2018-04-08 15:12:52 +08:00
    @AIDesign 我还保留着当年 opencores 的能执行 forth 语言的 cpu 源代码。。。
    Norie
        152
    Norie  
       2018-04-08 15:16:17 +08:00
    喃喃自语
    assad
        153
    assad  
       2018-04-08 15:26:06 +08:00
    哈哈,大家都好幽默啊
    kotokz
        154
    kotokz  
       2018-04-08 16:01:46 +08:00
    学了这么多语言,rust 给我的收获最大,也是我最愿意使用的语言
    如果是为了学东西,一定要考虑考虑 rust
    GavinGuo
        155
    GavinGuo  
       2018-04-08 16:08:34 +08:00
    当然是 JS,又能前端,又能后端,还能写 app
    jayan2358
        156
    jayan2358  
       2018-04-08 16:13:19 +08:00
    C++
    但是不好学,其实当你学会一门只后,发现入门别的语言其实也没那么难
    maxco292
        157
    maxco292  
       2018-04-08 16:14:13 +08:00
    Rust or Haskell
    zhouqianghfut
        158
    zhouqianghfut  
       2018-04-08 16:40:11 +08:00
    我和楼主有一样的想法,想了五六年了,我还没选好语言。这五六年里因生活所迫,倒是 c/c++/lua/python/sql 都 TM 写过不少,java/.net 也少量尝试过。
    STRRL
        159
    STRRL  
       2018-04-08 16:41:58 +08:00 via Android
    cpp
    Kongtou
        160
    Kongtou  
    OP
       2018-04-08 16:48:45 +08:00 via Android
    @kotokz 好多推荐 rust 啊
    Kongtou
        161
    Kongtou  
    OP
       2018-04-08 16:50:20 +08:00 via Android   ❤️ 1
    @zhouqianghfut 老哥跟我都是热爱编程的人
    manzhiyong
        162
    manzhiyong  
       2018-04-08 16:50:31 +08:00
    屁眼
    zhouqianghfut
        163
    zhouqianghfut  
       2018-04-08 16:51:40 +08:00   ❤️ 1
    @Kongtou 没,我们就是懒人,想要一劳永逸,哈哈哈哈哈
    kaminono
        164
    kaminono  
       2018-04-08 16:59:12 +08:00
    C# 就是不好找工作
    gabon
        165
    gabon  
       2018-04-08 17:30:07 +08:00 via Android   ❤️ 1
    Scala
    strawhat7
        166
    strawhat7  
       2018-04-08 17:37:43 +08:00
    学高等数学和英语
    hzw94
        167
    hzw94  
       2018-04-08 17:40:20 +08:00
    政治
    Fuzz
        168
    Fuzz  
       2018-04-08 18:19:36 +08:00
    你可能需要学中文
    anjiannian
        169
    anjiannian  
       2018-04-08 18:25:08 +08:00
    我还以为是在说二外呢。。。
    IvanLi127
        170
    IvanLi127  
       2018-04-08 18:55:45 +08:00 via Android
    写 c#十分享受,就是生态。。。唉
    whoisghost
        171
    whoisghost  
       2018-04-08 19:15:52 +08:00
    @zhouqianghfut 我跟你一样,编程了六年了,那六年,都没一个语言让我写着舒服的,直到最后看到了 Golang, 才让我感觉编程的真正乐趣。
    seanan
        172
    seanan  
       2018-04-08 19:24:21 +08:00
    学过几种语言的程序员都应该会得出 C#最好的结论,但是前景不乐观。
    zhongjidalao
        173
    zhongjidalao  
       2018-04-08 19:38:58 +08:00
    PHP 是世界上最好的语言
    tghoul
        174
    tghoul  
       2018-04-08 19:39:41 +08:00 via Android
    前段时间看 stackoverflow 统计的老外最想学习的新语言语言 top1 是 kotlin。
    gimp
        175
    gimp  
       2018-04-08 19:45:06 +08:00
    Rust 学起来给人的感觉很不错
    abbatuu
        176
    abbatuu  
       2018-04-08 20:07:05 +08:00
    我咋觉得 希伯来语和俄罗斯语 不错
    Chingim
        177
    Chingim  
       2018-04-08 20:12:09 +08:00 via Android
    @gimp 我也想试试,但是工作用不上。平时能做哪些东西玩玩呢?毕竟这东西也适合做客户端...
    平时没产出的话怕维持不下去
    Chingim
        178
    Chingim  
       2018-04-08 20:12:53 +08:00 via Android
    @Chingim 毕竟这东西也适合做客户端...
    => 毕竟这东西也不适合做客户端...
    flowfire
        179
    flowfire  
       2018-04-08 20:41:43 +08:00   ❤️ 1
    Any application that can be written in JavaScript, will eventually be written in JavaScript.
    gowk
        180
    gowk  
       2018-04-08 20:44:41 +08:00 via Android
    了解了 Rust 的语法后,我就知道我永远不会再去碰这个东西,也许它符合某些人的口味。遇见 Go 才真正有一见倾心的感觉,Go 简洁却并不简单,时间将会证明 Go 的价值,不错,1.x 确实存在某些问题,但我相信 2.0 将如同凤凰涅槃,Time will tell.
    Yee11
        181
    Yee11  
       2018-04-08 20:52:09 +08:00
    当然是 Haskell
    jonechenug
        182
    jonechenug  
       2018-04-08 21:49:46 +08:00 via Android
    .Net core 下的 C#,又跨平台,而且现在只要一个 vs code 就能写了
    SummerWQM
        183
    SummerWQM  
       2018-04-08 21:51:38 +08:00
    golang 不谢
    wangxiaoaer
        184
    wangxiaoaer  
       2018-04-08 21:59:09 +08:00   ❤️ 3
    @lepig #110 因为 golang 的语法真的是一坨 xx。各种错误判断是一坨 xx。
    PythonAnswer
        185
    PythonAnswer  
       2018-04-08 22:08:59 +08:00 via iPhone
    最近在重学 vba 嘿嘿
    busfool
        186
    busfool  
       2018-04-08 22:19:51 +08:00
    王垠用 java c c++
    另外据说 JavaScript 和 python 也不错
    我个人误打误撞学了两次 c#
    mingyun
        187
    mingyun  
       2018-04-08 23:29:22 +08:00
    PHP 了解一下
    qiyuey
        188
    qiyuey  
       2018-04-08 23:32:47 +08:00
    C#,除了找不到工作
    intret
        189
    intret  
       2018-04-08 23:37:12 +08:00   ❤️ 2
    (我写的这个回复真是长长长...啊)

    我觉得新的语言值得学习,所谓的“完美”也是源于它们是新语言,能站在历史语言的肩膀上进行设计,是为了填过去各种语言出生时的不合理设计坑,有这些特点:

    1.开始是为提高某个平台的高效率开发而发明。
    2.抛弃一些旧语言为了兼容源码而做的各种升级、补丁。

    举我自己学习语言的例子,说说旧语言讨厌的地方(只讨论语言语法设计方面的问题,这段在乱扯):

    ① C 语言是多么简单,语言简单但是开发时好繁琐啊,竟然还有什么用结构体去模拟 C++ 类的做法,基于对象的编程但是它确是 Linux 内核开发、嵌入式开发的不二选择;

    ② C++ 语言这是一门从入门到放弃的语言。不过当年读大学时只研究它,发现熟悉 C++ 之后,再去学习 C#、Java 等语言时,从 C++ 那里学习到的面向对象、模板的概念对理解 C#、Java 语言有很大的帮助。但是 C++ 没有让人觉得甜的语法糖。

    举个例子,从网上复制的一个 C++遍历用法:

    C++ :

    for_each(iv.begin(), iv.end(), [b](int &x){cout<<(x + b)<<endl;}); // (1)

    遍历就遍历嘛,干嘛要详细说明从数组的 iv.begin() 到 iv.end() ,婆婆妈妈,数据结构遍历可是日常代码里面要写的。

    看看人家 Kotlin: http://kotlinlang.org/docs/reference/control-flow.html#for-loops

    ```
    for (item: Int in ints) {
    // ...
    }
    ```

    看看人家 Swift: http://wiki.jikexueyuan.com/project/swift/chapter2/05_Control_Flow.html#for_in_loops

    ```
    let names = ["Anna", "Alex", "Brian", "Jack"]
    for name in names {
    print("Hello, \(name)!")
    }
    ```

    每天有这种语法糖吃,真是甜蜜又高效还幸福...

    现实的情况是,每种语言都有它合适的位置,不过我想问的是,我有生之年还能看到某个领域的开发,被一种全新的更好的语言全部代替吗?历史是在演进的,用机器码,用汇编,用 C,用 C++ ... 那么写操作系统这个事情,能用一种全新的语言来重写吗?语言能变得高级,肯定也是因为编译器是一个智能的翻译员。

    3.解决某个平台上流行语言开发低效的历史问题。Kotlin 誓要在 Android 上替代 Java,Swift 誓要替代 Objective-C。
    4.跨平台。
    5.学了不吃亏,兴许以后也能因此找到工作呢。
    6.语法糖好吃,嗯,好吃 ...
    7.热度上升,得到好评。



    所以,我推荐学 Kotlin 或 Swift。

    # Kotlin 语言

    http://kotlinlang.org/docs/reference/basic-syntax.html

    有 Jetbrains 和 Google 两个牛逼公司支撑。 支持著名的 JVM,for Android、for Server Side、for JavaScript、for Native,学了根本不吃亏。

    # Swift 语言

    https://swift.org/documentation/#api-design-guidelines

    有 Apple 公司支撑。能开发 iOS app、macOS app、Server Side 程序。
    vinceguo
        190
    vinceguo  
       2018-04-08 23:39:12 +08:00 via Android
    @Devotion 正好都会
    xpresslink
        191
    xpresslink  
       2018-04-08 23:43:40 +08:00
    Common Lisp 了解一下
    patx
        192
    patx  
       2018-04-08 23:54:50 +08:00   ❤️ 1
    反过来想一下,如果有一门语言是完美的,现在还会有语言之争?
    jydeng
        193
    jydeng  
       2018-04-09 00:05:15 +08:00
    C#、JavaScript、TypeScript
    这不是我的技能树嘛
    agagega
        194
    agagega  
       2018-04-09 00:14:07 +08:00   ❤️ 1
    @intret
    C++ 也可以
    for (auto& i : iv) {
    cout << i + x << '\n';
    }
    crist
        195
    crist  
       2018-04-09 00:57:24 +08:00
    磁铁真火炏焱燚。。
    yongjing
        196
    yongjing  
       2018-04-09 08:20:32 +08:00
    这个话题不错,威力仅次于 php 是世界上最好的语言
    abscon
        197
    abscon  
       2018-04-09 08:25:37 +08:00 via iPhone
    @lepig 因为 Go 语法表现力弱
    abscon
        198
    abscon  
       2018-04-09 08:28:01 +08:00 via iPhone   ❤️ 1
    @Kongtou 栈溢网连续三年凭为程序员最爱语言。Rust 够独特,但不满足你说的这几个条件。而且就你开的这几个条件来看,你不适合学习 Rust
    abscon
        199
    abscon  
       2018-04-09 08:29:33 +08:00 via iPhone
    @gowk 没几个人因为语法而喜欢 Rust 的,是刚需。
    abscon
        200
    abscon  
       2018-04-09 08:33:30 +08:00 via iPhone
    @intret 你黑 C++举的那个 for_each 例子真的是奥特曼……
    都 8102 年了,C++11 range-based for loop 了解一下?
    再说这么一个语法糖没必要抬那么高吧?
    1  2  3  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2901 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 13:13 · PVG 21:13 · LAX 05:13 · JFK 08:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.