V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
k9982874
V2EX  ›  程序员

这几天一堆人希望 Java 死,这么大恨?

  •  
  •   k9982874 · 2017-05-19 09:07:09 +08:00 · 21739 次点击
    这是一个创建于 2779 天前的主题,其中的信息可能已经有所发展或是发生改变。

    java 是一门很好的编程语言,健壮优美符合设计模式,除了有个一直作大死的甲骨文外几乎没什么缺点。 为啥这么多人希望 java 死?

    PS: 如果一个程序员 java 项目都控制不住(基础不扎实),我不认为他能 hold 住提供了大量高级语法糖的『现代』编程语言。

    这些『现代』编程语言所提供的『先进性』和『便利性』都是建立在基础的编程规则之上的,知其然不知其所以然必然掉坑里,然后回来喷 XXX 语言是垃圾。(斜眼笑

    第 1 条附言  ·  2017-05-19 13:10:40 +08:00
    挨个回复看了一遍看来『沉默的大多数』这话还是没错的,也有两个语文老师死的早的(或者就是无脑喷)。
    能跟喷子们说清道理的话喷子也就不是喷子了,总之该干嘛干嘛。
    PHP 是坠吼的语言(逃
    171 条回复    2018-02-03 03:27:38 +08:00
    1  2  
    NovemberEleven
        101
    NovemberEleven  
       2017-05-19 14:48:19 +08:00
    怎么感觉吵着要用 kotlin 的都是 iOS 圈用 swift 的人。。。
    wizardforcel
        102
    wizardforcel  
       2017-05-19 14:52:55 +08:00 via Android
    一是没自动推断,二是标准库设计人脑子有坑。

    这些缺陷还能忍,只不过要费 1/3 时间自己封装或者查 api 文档。

    不过 java 尚且没有饱和,找不到工作的人应该黑 php 或者 ios 吧😂😂😂
    elfsong
        103
    elfsong  
       2017-05-19 14:54:40 +08:00   ❤️ 1
    Java 只是可以让一群水平很一般的人写出凑合能用的东西而已。语法的啰嗦程度不用多说了把?
    还有 写 Java 的人为啥脑回路总可以把一件简单的事情变得超级复杂?
    tairan2006
        104
    tairan2006  
       2017-05-19 14:56:13 +08:00
    @mind3x 我的意思是,在 Java 中强调设计模式的主要原因是 Java 本身灵活性不足,所以作为 patch 来弥补其弱点。又不是物理意义上的 patch
    zhx1991
        105
    zhx1991  
       2017-05-19 14:58:39 +08:00
    公司几百万行的 java 代码你们来改?
    sampeng
        106
    sampeng  
       2017-05-19 15:03:07 +08:00
    都快日经帖了。。。
    sammo
        107
    sammo  
       2017-05-19 15:07:47 +08:00   ❤️ 4
    能打败 JAVA 的不是 Kotlin,是 V2EX,衷心希望 V2EX 能把 JAVA 喷进坟墓
    Romanticlizhi
        108
    Romanticlizhi  
       2017-05-19 15:13:25 +08:00
    想不懂为什么这都能喷起来,俗话说,人无完人,但是每个人总会有人喜欢,语言更加没有完美的语言,所以每种语言也会有喜欢的人,想不懂立着标杆说什么绝对垃圾什么绝对好的人是怎么想的。。
    huijiewei
        109
    huijiewei  
       2017-05-19 15:15:06 +08:00 via iPhone
    其实我最喜欢 C#,奈何.Net 在国内互联网不吃香
    ioth
        110
    ioth  
       2017-05-19 15:21:08 +08:00
    php 最好
    java 最烂
    没用过 cobol、powerb 的孩子们都这么说
    jugelizi
        111
    jugelizi  
       2017-05-19 15:22:15 +08:00
    java 肯定不是一门糟糕的语言
    但很容易招一个糟糕的写 java 的程序员
    qiukong
        112
    qiukong  
       2017-05-19 15:23:55 +08:00
    “健壮优美符合设计模式”???
    yuweining123
        113
    yuweining123  
       2017-05-19 15:24:15 +08:00
    不管你们喜不喜欢。java 照样活的好好的。
    cnAlex
        114
    cnAlex  
       2017-05-19 15:41:15 +08:00
    读大一的时候 java 和 c++比,后台 java 和 c#比,大三 java 和 python 比,现在出来实习工作 java 和 JavaScript 比。这几天出来个 kotlin,难道 java 就要死了?
    woshixiaohao1982
        115
    woshixiaohao1982  
       2017-05-19 16:27:19 +08:00
    第一 设计模式的本质是为了 封装变化 消灭重复代码,这点一定要搞清楚,另外 Java 不用设计模式也是可以写代码的,
    设计模式在 Gof 最早提出的时候,Java 还是三岁小孩
    jason2017
        116
    jason2017  
       2017-05-19 16:29:44 +08:00
    @elfsong 你见过几个写 java 的,就能得出这样的结论?
    youxiachai
        117
    youxiachai  
       2017-05-19 16:34:30 +08:00
    java 作为一门民工语言...被精英喷.其实很正常..

    然而整个软件业..还是得靠 java...不然一堆 IT 民工怎么活...
    alamaya
        118
    alamaya  
       2017-05-19 16:39:45 +08:00   ❤️ 2
    @youxiachai
    厉害,民工语言,请你指导一下哪些是精英语言,在下想学习一下,走上爵士人生。
    henryshen233
        119
    henryshen233  
       2017-05-19 16:47:45 +08:00
    哈哈,喷子们手肯定贱一些,不然会憋死
    jarlyyn
        120
    jarlyyn  
       2017-05-19 17:25:35 +08:00
    @alamaya

    大概是拉丁语?
    youxiachai
        121
    youxiachai  
       2017-05-19 17:33:06 +08:00
    @alamaya lisp 啊.....

    说实话..我说民工语言..其实并没有贬低 java 的意思..

    恰恰是 java 的通用性,才能称为主流生产语言啊.....
    deadofpeople
        122
    deadofpeople  
       2017-05-19 17:39:06 +08:00
    @byuc 🕶
    iugo
        123
    iugo  
       2017-05-19 18:20:45 +08:00
    ...你就这么恨 PHP 吗.
    phrack
        124
    phrack  
       2017-05-19 18:22:45 +08:00 via Android
    @youxiachai 震得我手机掉地上

    想问问精英们用啥语言,我看看要不要学一门新语言了
    CYKun
        125
    CYKun  
       2017-05-19 18:28:30 +08:00 via Android
    @youxiachai 敢问这一百多楼里有哪位精英是用过 lisp 的。。
    gdsagdada
        126
    gdsagdada  
       2017-05-19 18:46:13 +08:00
    不谈业务需求只谈代码不是耍流氓吗,什么活儿用什么料
    zscself
        127
    zscself  
       2017-05-19 18:50:09 +08:00   ❤️ 2
    真是的,这是我第二次在 V 站发这个图了。
    WispZhan
        128
    WispZhan  
       2017-05-19 19:00:01 +08:00
    很多人都只是跟风罢了。
    lifeand
        129
    lifeand  
       2017-05-19 20:17:35 +08:00
    但是 java 在各个领域应用之广,没什么可能一夜 die 吧 😪
    darouwan
        130
    darouwan  
       2017-05-19 20:25:58 +08:00
    不喜欢 java 的,基本没遇到什么 java 的使用场景吧~~

    我们做企业级的数据挖掘,实时处理,日志分析,无论是 storm 还是 spark 还是 elasticsearch 或者直接搞 Lucene 还是上 disruptor,java 都是非常适合的一种语言。

    也许那些画界面的,做做业务的用不到 java 吧~
    PythoneerDev6
        131
    PythoneerDev6  
       2017-05-19 20:32:00 +08:00
    瞎扯。不可能死的。Android 会主推 毕竟是因为刚出的语言,觉得还不错。肯定要推一把。 但是不会很快就完全取代 Java 的。
    elfsong
        132
    elfsong  
       2017-05-19 22:34:53 +08:00
    @jason2017 我没有跟你抬杠的意思,我自己偶尔也会用 Java。语言没有好坏之分,而是要匹配合适的场景罢了。
    你要真说我见过多少写 Java 的,那估计不会是你想象的量级。
    Gandum
        133
    Gandum  
       2017-05-19 22:44:45 +08:00
    问题是不会 Java 的人估计都没有碰过 kotlin 吧。这种大话应该说不起吧?
    那么应该就是些写 Java 写吐了的?
    bramblex
        134
    bramblex  
       2017-05-19 23:15:24 +08:00 via iPhone
    Java 不会死是肯定得,但说 java 优美的?请问您良心不会疼吗?
    hepin1989
        135
    hepin1989  
       2017-05-19 23:19:16 +08:00
    技术好的,分分钟上手另外一门语言。
    语言难得的是背后的生态。
    Earthman
        136
    Earthman  
       2017-05-20 01:13:22 +08:00
    唉,有几个必须用的软件,JAVA 平台的,带 GUI,一打开就 800 ~ 900MB 内存,虽然内存够但也架不住这么浪费啊,而且启动很慢
    当初学校里教的时候就感觉没意思,过于复杂了,不够平坦
    yangff
        137
    yangff  
       2017-05-20 01:18:22 +08:00
    LZ 可以参考一下 http://www.yinwang.org/blog-cn/2017/05/17/practical-idealism

    我觉得这就是原因了
    wweir
        138
    wweir  
       2017-05-20 05:51:07 +08:00 via Android   ❤️ 2
    每次有叫的上名字的新语言出来,必定跳出来一帮人喷,不分场景缘由得喷,说白了就是新语言带来了一次利益重分配罢了。

    有的人希望新语言能让自己用更少的努力达到旧语言更高的使用水平;
    有的人希望自己了解的东西能成为风口,带来更多利益;
    有的人觉得自己费大力气掌握的东西神圣不可侵犯;
    还有的人仅仅是希望自己已掌握的东西活得久一点,因为他已经失去了学习能力,需要混口饭吃
    msg7086
        139
    msg7086  
       2017-05-20 06:14:59 +08:00   ❤️ 1
    @chenyu0532 有些设计模式是为了弥补语言自身的缺陷。
    比如说 Ruby 里可以打开类,可以混进模块,可以直接把代码块到处传。
    那么对于没有这些功能的 C++或者 Java 来说,有时候就不得不迂回去用一些特定的设计来实现这些做法。

    比如说 Java 的 Singleton 模式,如果放到 Ruby 里的话,直接用 module + module_function 就能做了,都不需要去用 singleton。
    还有比如 Null Object 模式,Ruby 里有 duck typing,有 open class 可以直接打开 nil 对象魔改,还有 lonely operator 可以自动跳过空值,所以很少会需要用到这些技巧。

    所以简单地说,去用一些更新的语言的话,老的语言里的一些设计模式本身就已经没有用武之地了。
    haoc
        140
    haoc  
       2017-05-20 08:15:59 +08:00
    不知道喷 java 说啰嗦是啥意思。
    cpp255
        141
    cpp255  
       2017-05-20 08:25:15 +08:00
    java 啰嗦是相对 python 这类的吧,python 写起来确实爽。另外,最近也在看“沉默的大多数”。
    linux40
        142
    linux40  
       2017-05-20 09:13:23 +08:00 via Android
    Java 最适合搞所谓的统一的开发工具、开发方案吧,所以死不了的。
    mrsatangel
        143
    mrsatangel  
       2017-05-20 10:18:15 +08:00
    我不会 Java 也不会 Kotlin, 我用 Vertx, 心情好就拿 js 写 verticle, 心情不好就拿 ruby 写 verticle...可能我是一个假程序员
    misaka19000
        144
    misaka19000  
       2017-05-20 10:22:28 +08:00
    @youxiachai #121 到哪都能碰到你们这些函数式吹
    ExploreWay
        145
    ExploreWay  
       2017-05-20 11:41:05 +08:00
    我觉得任何语言,完成大部分业务都是可以。取决于公司和公司里的大多数人,会什么语言,了解什么语言。
    tedzhou1221
        146
    tedzhou1221  
       2017-05-20 11:58:50 +08:00 via iPhone
    你们真无聊……还是工作量太少了
    abcbuzhiming
        147
    abcbuzhiming  
       2017-05-20 12:10:30 +08:00
    @noli 既然世界上有比 java 强这么多的语言,咋不说出来分享一下呢,到底是哪些语言?能胜过 java 这么多?
    cwek
        148
    cwek  
       2017-05-20 12:14:04 +08:00
    php 不是最好的语言吗?(笑)
    好像有人说过,世界上只有来两种编程语言,一种是有人用的,一种是没人用的。
    EagleB
        149
    EagleB  
       2017-05-20 12:31:04 +08:00
    健壮优美符合设计模式 😄
    exoticknight
        150
    exoticknight  
       2017-05-20 12:47:29 +08:00
    都是调侃,这么认真干嘛,真的不怕死管别人怎么说
    TerrySW
        151
    TerrySW  
       2017-05-20 12:57:00 +08:00
    都是调侃啦,怎么可能,Java 怎么可能死呢,市场那么庞大,认真干嘛。但是确实不爱 Java,写起来啰嗦啊,萝卜青菜各有所爱
    wizardforcel
        152
    wizardforcel  
       2017-05-20 14:56:12 +08:00 via Android
    @Earthman kotlin 也跑在 jre 上面,这个情况换成 kotlin 也没用。
    wizardforcel
        153
    wizardforcel  
       2017-05-20 15:04:14 +08:00 via Android
    @msg7086

    再比如 java 的适配器,python 可以直接修改类 /对象的方法,何必再套上一层。

    还有接口,python 要接口干嘛,直接检查方法是不是存在就好了。标准库就是这么干的,__iter__存在,就是 iterable。

    还有匿名内部类,python 里面函数就是对象,根本不用把函数给包成对象,直接传个函数进去就行了。
    mingyun
        154
    mingyun  
       2017-05-20 18:29:16 +08:00
    最好的语言还是 PHP
    visonme
        155
    visonme  
       2017-05-20 18:54:44 +08:00
    有这么个事情吗? 作为 net 开发者,不会 java,但是 java 给我的映像不错,唯一无法接收的就是一个 java 项目太多的各种配置维护了,这是我一直不愿意去学习 java 的原因之一 O(∩_∩)O。

    既然有恨,看来 java 还是有很多在设计上不够完善的地方,毕竟总有一些牛人能透过现象看到语言深层次的问题,所以这些人是值得我们尊敬的。

    题外话,这世界真有最好语言吗? 我接触过 php,js,python,对我来说这些语言的都是最优秀的,某些不完美的设计总是存在的,通过组合编程现在其实对一门语言来说真心没有太多解决不了的问题了,大多数人觉得某 XX 语言不好用,很大程度甚至百分之九九可以确定是自己的因素。

    见过很多关于语言的讨论,大多数人对此类话题的讨论还是不够理智的,讨论此类话题也大多数体现在语言实用性上。
    akring
        156
    akring  
       2017-05-20 22:05:34 +08:00
    @NovemberEleven 别人我不知道,会 swift 的我看了确实有点心动,安卓端也可以试着做做了
    chenyu0532
        157
    chenyu0532  
       2017-05-20 22:22:27 +08:00
    @msg7086 我想你并没有看懂楼主和我我们俩的意思,不是比较哪个语言优美,而是对于那些懒惰的人学再高级的语言都白扯
    terence4444
        158
    terence4444  
       2017-05-20 22:22:40 +08:00 via iPhone
    就和想 Python 2 死的感觉一样
    dongdongkun
        159
    dongdongkun  
       2017-05-20 23:39:27 +08:00
    想起了 la la land 里的一句台词 I guess we can just wait and see
    janxin
        160
    janxin  
       2017-05-21 00:11:48 +08:00
    Java 诞生应该比 GoF 普及早很多年吧
    msg7086
        161
    msg7086  
       2017-05-21 06:18:29 +08:00
    @chenyu0532 程序员最重要的要求就是懒惰。不懒还做什么程序员……
    Wuxj
        162
    Wuxj  
       2017-05-21 09:36:15 +08:00
    能够适应业务需求的就是好语言吧~~真正想做技术的应该不会死磕一门语言的吧~~虽然我是一个 Javaer,但我也会去学其他语言,能得到乐趣不就是你在 IT 行业走下去的动力吗
    kran
        163
    kran  
       2017-05-21 09:49:06 +08:00 via Android
    java 啰嗦吗?
    chenyu0532
        164
    chenyu0532  
       2017-05-21 10:11:43 +08:00
    @msg7086 好吧 还是没理解。不回这个贴了
    zonghua
        165
    zonghua  
       2017-05-21 10:17:02 +08:00 via iPhone
    @wizardforcel Python 多继承 666
    jason2017
        166
    jason2017  
       2017-05-21 17:35:15 +08:00   ❤️ 1
    @elfsong 笑死了,你一个大学还没毕业的人,谁给你的勇气大言不惭的说见过的 java 不是我能想象的量级。这年头网络不用实名,是个人都可以吹牛逼不用负责了。
    elfsong
        167
    elfsong  
       2017-05-21 23:32:39 +08:00
    @jason2017 我大学是还没毕业,但好歹 BAT 也都混过一圈了。我只是说 Java,每个人都有自己的喜好,你没必要人身攻击吧?
    jason2017
        168
    jason2017  
       2017-05-21 23:54:10 +08:00
    我很疑惑你的人生攻击的定义。
    那么回到你最开始的话"写 Java 的人为啥脑回路总可以把一件简单的事情变得超级复杂",这种毫无逻辑和事实根据的话是不是人生攻击?所有写 java 的都你被定义了脑回路有问题的人?
    开喷之前用脑子想一想自己的言论会带来什么后果,既然玻璃心就别说一些无脑黑的话。
    ren2881971
        169
    ren2881971  
       2017-05-22 09:43:48 +08:00
    @youxiachai 民工语言。。。虽然话有点糙 但其实 是这么个理。。
    gnaggnoyil
        170
    gnaggnoyil  
       2017-06-03 11:19:22 +08:00
    一个类型系统都 unsound 的语言有什么好洗的.比如臭名昭著的 type erasing 结果就是普通的子类型多态写不出来写泛型又要扔一堆 suppress warning.相比之下 C Sharp 的泛型至少能动态存点泛型 traits.相比之下 Checked Expression 和滥用 int 都可以算是小事了.就这样都还好意思说适合初学者,初学者保护协会表示强烈谴责.
    elecbuggy
        171
    elecbuggy  
       2018-02-03 03:27:38 +08:00
    『现代』编程语言????
    可是....Python 的年齡明明 JAVA 還要老阿
    PYTHON 是 1991 年出來的
    JAVA 是 1995 年出來的

    論現代,JAVA 應該比 PYTHON 還要現代吧= =

    怎麼一堆人覺得 PYTHON 很ˋ潮,比較年輕。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2727 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 12:00 · PVG 20:00 · LAX 04:00 · JFK 07:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.