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

大家最喜欢哪种后端语言?

  •  3
     
  •   Threezj · 2016-03-19 20:51:20 +08:00 · 17385 次点击
    这是一个创建于 2931 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我在尝试了 python , php , nodejs , C#之后,发现还是最喜欢 Java

    第 1 条附言  ·  2016-03-19 23:10:20 +08:00
    大家不觉得 js , python 这种动态语言,写起来会很别扭吗?写写几百行小程序还行,写多了就痛苦了
    第 2 条附言  ·  2016-03-19 23:59:39 +08:00
    喜欢 java 其中一个原因:感觉 vs 没 idea 好用。。(没错我就是来引战的,果然还是这种帖子回复的人做多,逃)
    134 条回复    2016-03-22 21:12:37 +08:00
    1  2  
    zxgngl
        1
    zxgngl  
       2016-03-19 20:56:31 +08:00
    Erlang ,它是自带数据库的语言。
    zxgngl
        2
    zxgngl  
       2016-03-19 20:58:21 +08:00
    但是学这个不如学 Java 好找工作。另外,可以考察一下 F#,这个语言在数据处理方面可以很顺手。但依然不好找工作。
    zxgngl
        3
    zxgngl  
       2016-03-19 20:59:43 +08:00
    另外,如果基于 JVM 开发的话,可以考虑一下 Kotlin ,这个新语言已经开发到 1.0 版本了,比 Java 要简洁一些,与 Java 语义可以对等。
    zxgngl
        4
    zxgngl  
       2016-03-19 21:06:37 +08:00   ❤️ 1
    补充一下, Erlang 的世界还有一个用 Erlang 写成的高性能网页服务器 Yaws ( http://yaws.hyber.org )。所以还有一个优势就是从数据库到网络页面生成都可以用 Erlang 编写。前端配合 JavaScript 和 CSS 就基本齐了,构建的系统非常 consistent ,而且项目代码很“干净”。
    VmuTargh
        5
    VmuTargh  
       2016-03-19 21:07:58 +08:00   ❤️ 1
    @zxgngl F#偏函数式, 上手可能略坑
    要入门 dotNet 还是 C#
    ipconfiger
        6
    ipconfiger  
       2016-03-19 21:08:16 +08:00
    来吧, 用 swift 来写后端吧. http://liming.me/2016-03-16/server-side-swift.html
    magicdawn
        7
    magicdawn  
       2016-03-19 21:08:54 +08:00
    单就找工作客观点推荐 Java > PHP > Node.js
    我是研究 Node.js 的,比较好玩,不太好找工作。 python 在工作方面不太清楚,貌似也比较少~
    C# / F# 在学校玩下可以,曾经背过 CLR via C#上面关于 GC 的工作方式那些,然而没卵用~只面过一次用到了~

    骚年还是把 Java 学深吧,没什么不好的。
    timothyye
        8
    timothyye  
       2016-03-19 21:09:21 +08:00
    Go
    hooluupog
        9
    hooluupog  
       2016-03-19 21:14:03 +08:00
    java Go
    iuhux
        10
    iuhux  
       2016-03-19 21:21:42 +08:00
    必须 C++
    FireCat
        11
    FireCat  
       2016-03-19 21:23:42 +08:00
    java go
    GavinFlying
        12
    GavinFlying  
       2016-03-19 21:24:41 +08:00
    @zxgngl 对 Elixir 怎么看?
    FireCat
        13
    FireCat  
       2016-03-19 21:24:46 +08:00
    你尝试的那么多为啥最喜欢 java 啊
    lecher
        14
    lecher  
       2016-03-19 21:27:07 +08:00 via Android
    Java 自成体系,中间件齐全, Java 系的很少混合其它语言到一套系统里。

    nodejs 也是打通前后端的语言,除了 CPU 计算业务集成 C 系的模块,都可以只用 nodejs 了。

    PHP 只做构建数据结构和模板渲染,需要集成各种 C 系的模块和应用开发。

    Python 经常和 go 一起混用。
    zxgngl
        15
    zxgngl  
       2016-03-19 21:28:26 +08:00   ❤️ 1
    @GavinFlying Elixir 很好啊,尤其对 Unicode 的处理更漂亮了,并且和 Erlang 一样,编译完了都是 beam ,所以没有任何损失。但是,要注意 Erlang 是一个语法上的“小语言”,而 Elixir 是一个语法上的“大语言”,语义与 Erlang 等价,但语法比 Erlang 复杂很多,不要小看这个门槛。
    qcloud
        16
    qcloud  
       2016-03-19 21:33:23 +08:00
    JAVA
    Wangxf
        17
    Wangxf  
       2016-03-19 21:35:29 +08:00
    如果 PHP 不要$,函数名规范一点,如果 python 不 2 , 3 分裂,不缩进,如果 javascript 这门语言再优雅点,我选择狗带,编程语言没有最好
    GavinFlying
        18
    GavinFlying  
       2016-03-19 21:41:34 +08:00
    @zxgngl 我只学过一点 python ,主业是 iOS 开发(Swift),但 最近对 Elixir 很有兴趣, Programming in Elixir 看到了 OTP ,不过有时候会想会不会从 Erlang 学起更好(虽然目前习题做起来感觉还可以),想听听您的意见
    mko0okmko0
        19
    mko0okmko0  
       2016-03-19 21:47:22 +08:00
    PHP 能做的.不用别的做.
    PHP 不好做的.例如异步.ngx_lua 做.nodejs 备选
    header 拆解处理.通讯协定层处理.C#做(许多成熟模组).JAVA 候补(许多成熟模组).nodejs 备选.
    PHP 无法呼叫 C(++)模组来做的高负载计算.C#做(C#有 SIMD 支援.很快).JAVA 备选(axv/sse 等自动优化但不明显).
    nodejs 我的测试结果是.可以玩玩但不要用于高负载业务或核心业务.
    slixurd
        20
    slixurd  
       2016-03-19 21:47:45 +08:00
    @zxgngl 少年快去看 RabbitMQ ,现在我司缺能看懂 RabbitMQ 源代码的人,出了问题完全没法动。
    fds
        21
    fds  
       2016-03-19 21:57:29 +08:00
    typescript+node.js 比较方便了。当然性能肯定比不上 c++、 java ,但至少比 python 、 ruby 强。
    zhuangzhuang1988
        22
    zhuangzhuang1988  
       2016-03-19 22:12:45 +08:00
    必须是 c# , 异步啥的比 Nodejs 的好得多, 而且强类型+类型推导, 想写错都难。
    zonghua
        23
    zonghua  
       2016-03-19 22:16:02 +08:00 via iPhone
    Java 工程化
    minsheng
        24
    minsheng  
       2016-03-19 22:16:21 +08:00 via iPhone
    @zhuangzhuang1988 当然是 Haskell ,异步啥的比 C# 的好得多,而且是真强类型加类型推导,想写错都难。
    random2case
        25
    random2case  
       2016-03-19 22:48:55 +08:00
    优雅的 scala ,优雅的后端静态语言,运行在 jvm~
    wizardforcel
        26
    wizardforcel  
       2016-03-19 22:58:36 +08:00 via Android
    c#,没有之一。
    wenyu1001
        27
    wenyu1001  
       2016-03-19 23:00:54 +08:00
    python + c + lua 不解释
    deadEgg
        28
    deadEgg  
       2016-03-19 23:02:26 +08:00
    py , 关键是舒服
    python , php , java , c# 都用过
    nodejs 用过一点,感觉也挺棒的
    n6DD1A640
        29
    n6DD1A640  
       2016-03-19 23:07:04 +08:00
    以前 Python 现在 Go
    3dwelcome
        30
    3dwelcome  
       2016-03-19 23:07:32 +08:00 via Android
    C++百搭小王子,基本上啥都能干。就是调试和内存泄漏要求很好、工程大了 bug 不好定位。
    julor
        31
    julor  
       2016-03-19 23:10:01 +08:00 via Android
    golang
    hhkbp2
        32
    hhkbp2  
       2016-03-19 23:11:31 +08:00
    Erlang Abstract Format
    pubby
        33
    pubby  
       2016-03-19 23:24:19 +08:00
    PHP + Golang 辅助
    bingwenshi
        34
    bingwenshi  
       2016-03-19 23:32:21 +08:00
    Python
    feiyuanqiu
        35
    feiyuanqiu  
       2016-03-19 23:32:48 +08:00 via iPhone
    喜欢有静态类型系统的,但是不要像 c 系语言那种稍不注意就会遇到麻烦的,所以应该还是 java ?
    另外谁能告诉我为什么最近的语言都喜欢把类型放在变量名后面?这有什么实际的好处吗
    zhuangzhuang1988
        36
    zhuangzhuang1988  
       2016-03-19 23:33:08 +08:00
    @minsheng 这货没有宇宙第一的 ide 支持, 玩不来。
    wujunze
        37
    wujunze  
       2016-03-19 23:42:47 +08:00
    PHP 大法好
    qian19876025
        38
    qian19876025  
       2016-03-19 23:47:10 +08:00
    @mko0okmko0 说到底了你还不是用的是 C 程序
    Finalcheat
        39
    Finalcheat  
       2016-03-19 23:47:46 +08:00
    C++、 Python
    jydeng
        40
    jydeng  
       2016-03-19 23:49:05 +08:00
    C#,配合 VS 各种爽。
    Comdex
        41
    Comdex  
       2016-03-19 23:59:53 +08:00
    golang 各种愉快
    mko0okmko0
        42
    mko0okmko0  
       2016-03-19 23:59:54 +08:00   ❤️ 1
    @qian19876025
    我有罩门:记忆体指针...C 里面那个"*"
    有自己有用 D 语言的子集:safe-D,这个子集内要求不能使用指针.类似 JAVA 和 C#方式包装指针变数成物件.
    C(++)里面一个我最怕的:指针.一个我最恨的:unicode 字串不好处理.
    所以我从学写程式(dos 到 win95 刚出)的时候就一直找没有指针的程式语言来学习和工作.
    我也跟教课老师 /老板说我有自学别的语言.请他让我用别的语言完成 C(++)的作业 /工作.
    除了指针部分 0 分以外.其他满分毕业(基础与法没满分对不起自己).
    话说我 51/x86 组语也是很不错的.不需要指针的思考我都很 OK.
    有弱点不是什么大事.重点是工作要能完成.
    最好是完成的很漂亮.工作才能顺利.薪水才能好谈.
    tb4649120073rs
        43
    tb4649120073rs  
       2016-03-20 00:01:02 +08:00
    C
    mko0okmko0
        44
    mko0okmko0  
       2016-03-20 00:10:35 +08:00
    @qian19876025
    错字与补充:
    基础与法->基础语法.
    只要 C 的档案内没有指针(维护工作).我都能处理.有指针的丢给同事.
    然后我有买 3 套商业软体.C/JAVA 互转.C/C#互转.C#/JAVA 互转.都是同一家.
    有免费精简版.
    http://www.tangiblesoftwaresolutions.com/Free_Editions.html
    还不错用.先将有指针的 C 档案转成 JAVA/C#.就变成物件化的语法语描述.帮助我理解与思考.
    然后再将改写好的 C#/JAVA 转回 C 档.丢 GCC 跑或是给同事检查.
    虽然我 C(++)(的指针部分)不好.但我 GCC 很熟.
    我系统是 gentoo.安装得时候 make.conf 就很精彩了.
    释出的时候我都把编译工作接手去跑.看着满画面的编译讯息.感觉蛮兴奋的(有病.而且不轻).
    qiumaoyuan
        45
    qiumaoyuan  
       2016-03-20 00:13:32 +08:00 via iPad
    Alpha go
    flikecn
        46
    flikecn  
       2016-03-20 00:20:30 +08:00 via iPhone
    Go ,用过就知道有多爽
    xuwenmang
        47
    xuwenmang  
       2016-03-20 00:58:43 +08:00
    C#确实牛, PHP 看了这玩意,感觉就是农民工第一次进城的感觉。爽的不要不要的。


    不愧是大公司出来的玩意。 PHP 各种函数/参数太乱了,简直一锅端的感觉。
    ipconfiger
        48
    ipconfiger  
       2016-03-20 00:59:27 +08:00
    @Comdex GC 的时候卡住了可还愉快?
    billlee
        49
    billlee  
       2016-03-20 01:25:39 +08:00
    python 这样的动态类型语言确实难以胜任大项目。最近踩了标准库 tarfile 里的很多个 bug, 原因都是是里面实现的 stream 没有显式继承 IOBase 系列类,漏了几个这些类里面有定义的方法。然后把这种 stream 拿到其它的地方去用的时候就各种 TypeError...
    fordawn
        50
    fordawn  
       2016-03-20 01:28:25 +08:00
    rust 呀
    hxtheone
        51
    hxtheone  
       2016-03-20 01:41:37 +08:00
    Ruby 和 JS, 最近在努力的说服自己在新项目中用 Go
    msg7086
        52
    msg7086  
       2016-03-20 01:47:25 +08:00
    现在所有的开发都是用 Ruby ,从命令行到后端到前端( CoffeeScript )都在用。
    vm
        53
    vm  
       2016-03-20 01:49:47 +08:00
    不折腾,选 java 。别的 hype 太猛。
    88250
        54
    88250  
       2016-03-20 01:52:49 +08:00
    综上:

    * Java
    * Go

    关于 Go ,请看: https://hacpai.com/article/1439194647152
    MiguelValentine
        55
    MiguelValentine  
       2016-03-20 01:58:31 +08:00
    退后。 asm [nasm]。
    SoloCompany
        56
    SoloCompany  
       2016-03-20 03:06:25 +08:00
    @feiyuanqiu 看一下这篇文章 http://blog.joda.org/2011/07/reversed-type-declarations_4524.html 的观点以及回复

    然后看一下 kotlin 的 faq https://kotlinlang.org/docs/reference/faq.html 这两行
    > Why have type declarations on the right?
    >
    > We believe it makes the code more readable. Besides, it enables some nice syntactic features, for instance, it is easy to leave type annotations out. Scala has also proven pretty well this is not a problem.
    >
    > Will right-handed type declarations effect tooling?
    >
    > No. It won ’ t. We can still implement suggestions for variable names, etc.

    我其实也不太习惯这种风格,部分同意上一篇文字作者的一些观点,不过也尝试去接受
    cuebyte
        57
    cuebyte  
       2016-03-20 03:08:35 +08:00
    没有人说 elixir / ruby 吗?
    lightening
        58
    lightening  
       2016-03-20 03:17:01 +08:00
    Ruby 。
    动态特性好,测试不费力。
    lcj2class
        59
    lcj2class  
       2016-03-20 08:22:01 +08:00 via iPhone
    v2 上没人玩 haskell, common lisp 的嘛→_→
    hqs123
        60
    hqs123  
       2016-03-20 08:41:26 +08:00
    喜欢 phthon 哈哈
    vivalon
        61
    vivalon  
       2016-03-20 09:28:22 +08:00
    @hqs123 喜欢 ta 还把 ta 拼错>_>
    sharp
        62
    sharp  
       2016-03-20 09:40:16 +08:00
    Ruby+Golang 倚天剑+屠龙刀
    Vesper
        63
    Vesper  
       2016-03-20 09:49:14 +08:00 via iPhone
    Swift (逃
    zxgngl
        64
    zxgngl  
       2016-03-20 10:23:56 +08:00
    @GavinFlying Elixir 对 OTP 做了一些语法糖处理,写起来会简洁些(少写一些东西),但问题是可能会导致你忽略那些少写的东西的存在。明白这些,遇到问题知道可以从 Erlang 里找解释就行了。所以我觉得 Erlang 、 Elixir 哪个作为 EVM 上第一个学习的语言都可以。但是还是那点, Elixir 语法复杂一点,也现代一点(比如 pipe operator )。语言是先入为主的,我自己大概 6 、 7 年前开始接触 Erlang ,现在也是写 Erlang 比 Elixir 多,但不影响我对 Elixir 的欣赏。
    WildCat
        65
    WildCat  
       2016-03-20 10:24:38 +08:00
    @zxgngl Erlang 如果开发 Web 应用有什么优势?轮子远不如其他语言多吧?
    最大的特色是并发模型吧?用来做网游、聊天工具后端倒是很合适
    zxgngl
        66
    zxgngl  
       2016-03-20 10:26:20 +08:00   ❤️ 1
    @WildCat 你说的对。
    holy_sin
        67
    holy_sin  
       2016-03-20 10:42:56 +08:00
    难道真的要由我这个外行来结束这个帖子吗?
    le0rn0
        68
    le0rn0  
       2016-03-20 10:46:52 +08:00 via Android
    @lecher
    @sharp
    @pubby
    请问三位说的 XXX+golang(或 go 辅助)是怎么个配合法?是用 php 或者 py 做前端模板引擎, go 只写接口吗?谢谢
    hdbean
        69
    hdbean  
       2016-03-20 10:47:26 +08:00
    swift
    zjxubinbin
        70
    zjxubinbin  
       2016-03-20 10:49:17 +08:00
    Scala Rust
    le0rn0
        71
    le0rn0  
       2016-03-20 10:51:47 +08:00 via Android
    @hqs123
    @bingwenshi
    @deadEgg
    我说下我用 py 的感受, py 的代码写起来确实舒服,框架的模板引擎也很友好,唯一让我不爽的是部署方面,我是用 py3 ,每次部署新服务器都要编译一遍 py3 ,安装虚拟环境等
    chiu
        72
    chiu  
       2016-03-20 10:51:58 +08:00
    哈哈,我来观战的
    onceyoung
        73
    onceyoung  
       2016-03-20 10:53:04 +08:00
    难道非要我说 JS 才行嘛,我没写过后端》》》》
    freezhan
        74
    freezhan  
       2016-03-20 11:00:29 +08:00
    虽然感觉很臃肿,依然最爱 JAVA~
    MushishXian
        75
    MushishXian  
       2016-03-20 11:11:14 +08:00
    php+go,go 写接口,php 写网页后台管理,很舒服
    sox
        76
    sox  
       2016-03-20 11:18:59 +08:00 via Android   ❤️ 1
    老实说, 80% 不喜欢一个语言的人是因为根本没搞懂如何用和价值所在😂
    sox
        77
    sox  
       2016-03-20 11:21:02 +08:00 via Android
    > 写写几百行小程序还行,写多了就痛苦了

    楼主没搞清楚重点,这是因为你不会用这些语言写大型程序吧 😂
    chrishine
        78
    chrishine  
       2016-03-20 11:25:53 +08:00
    前任: Java/C++
    现任: Go
    stormpeach
        79
    stormpeach  
       2016-03-20 11:26:01 +08:00
    c/c++
    aaronly
        80
    aaronly  
       2016-03-20 12:10:42 +08:00
    你们看,这个贴都没有战争,我选 PHP7
    littleshy
        81
    littleshy  
       2016-03-20 12:24:03 +08:00
    @zxgngl 大爱 F#啊,可惜国内确实用的少。
    herozzm
        82
    herozzm  
       2016-03-20 14:11:05 +08:00 via Android
    很奇怪,大部分人不以基本的商务需求为驱动来学语言,要涵盖大部分业务需求就学 Java(满足网站和安卓开发), swift(苹果开发),这样 web 和移动端的业务都可以做了,来钱多多
    rayyang88
        83
    rayyang88  
       2016-03-20 14:52:33 +08:00
    php 快速开发, go 强大!
    Threezj
        84
    Threezj  
    OP
       2016-03-20 15:27:40 +08:00
    @sox 确实不会= =
    GavinFlying
        85
    GavinFlying  
       2016-03-20 15:52:47 +08:00
    @zxgngl 谢谢~继续 Elixir 之旅~
    TangMonk
        86
    TangMonk  
       2016-03-20 16:34:18 +08:00
    Ruby 开发效率 + Erlang 超级并发 = Elixir
    taozywu
        87
    taozywu  
       2016-03-20 16:40:49 +08:00
    php !
    fyibmsd
        88
    fyibmsd  
       2016-03-20 17:46:23 +08:00
    汇编
    LINEX
        89
    LINEX  
       2016-03-20 17:59:41 +08:00
    C++,感觉我更喜欢 Rust (当然我自己没写过),不过不知道什么时候 rust 能出来几个杀手级的应用来 :)
    wuxqing
        90
    wuxqing  
       2016-03-20 18:19:14 +08:00
    @le0rn0 可以试试 docker
    Abbey
        91
    Abbey  
       2016-03-20 19:17:20 +08:00
    rust
    jackfu
        92
    jackfu  
       2016-03-20 20:32:23 +08:00
    06 年我是写 java 的,当时正在奔着 Sun 的 Architect 认证而去,不知道是不幸还是幸运,接触了 ruby 。用 ruby 重写了一个 java 应用之后,再也不想用 java 了。 java 实在是太笨,写 java 简直是浪费生命。后来我在 07 年离职了。如果当时没有接触 ruby ,我可能现在还在写 java ,挣得比现在多。所以也许是一种不幸。 ruby 的市场还是比 java 差。
    后来接触到 android 开发,不得不把 java 捡起来,然后我意外地发现了 scala 。 scala 真的是比 java 强多了,有 java 的优点,又克服了 java 的一些缺点。所有喜欢 java 的人都应该试试 scala ,然后你不会再回头。
    还有 rust 。 rust vs c ,和 scala vs java 是一样的。所有喜欢 c 的人都应该试试 rust 。

    但是最爱的还是 ruby ,简洁,优雅。
    le0rn0
        93
    le0rn0  
       2016-03-20 20:50:51 +08:00 via Android
    @wuxqing 谢谢,不知道 1G 内存跑 docker 怎么样
    cxbig
        94
    cxbig  
       2016-03-20 20:52:34 +08:00
    Ruby, Python, Go
    unique
        95
    unique  
       2016-03-20 20:55:13 +08:00
    喜欢 Java
    armink
        96
    armink  
       2016-03-20 21:50:43 +08:00
    力挺 Rust
    eoo
        97
    eoo  
       2016-03-20 23:14:42 +08:00 via Android
    感觉做做 web PHP 也够了。
    argsno
        98
    argsno  
       2016-03-20 23:45:08 +08:00 via Android
    目前就 Java 的代码最清晰易懂了,越深入发现 JVM 越精深。
    elarity
        99
    elarity  
       2016-03-20 23:52:55 +08:00
    一般这种帖子回复都比较多
    aias
        100
    aias  
       2016-03-21 01:26:11 +08:00
    java python go
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2992 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 11:05 · PVG 19:05 · LAX 04:05 · JFK 07:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.