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

比较好奇,希望 Java 死的一些人,都是做什么领域,并且使用哪些语言,哪些工具呢?

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

    勿喷,我是担心我之前目光太狭隘,有更好的工具却不自知,所以想看看觉得 java 不好的人都在用什么,相互交流一下,也许会使得我以后的生活更美好~

    我目前是做日志处理,需要用到 kafka,disruptor,spark,elastic search ( Lucene ),每天数据量在 20TB 左右。

    其余在算法设计,或者帮妹子做作业的时候,一般用 Python~

    80 条回复    2017-05-22 14:50:48 +08:00
    tongyang
        1
    tongyang  
       2017-05-19 20:34:25 +08:00
    都是不用 JAVA 的人呗,很正常啊
    jtsai
        2
    jtsai  
       2017-05-19 21:52:58 +08:00 via Android
    学一门语言 讨饭吃。java 很好。 除了这点 我找不到 java 哪点比 Python 好。哦 速度快 可是我不需要很快的。
    Michlix
        3
    Michlix  
       2017-05-19 22:24:56 +08:00 via iPhone
    多学几门语言就好了。别太狭隘
    notreami
        4
    notreami  
       2017-05-19 22:42:33 +08:00
    评论一门语言前,先把个人的 github 放上来晒晒,这样才有可信度。瞎扯淡的话,只有 Lisp 才叫语言,其他都是废品。
    qiukong
        5
    qiukong  
       2017-05-19 22:44:50 +08:00 via iPhone   ❤️ 2
    用 javascript 的
    darouwan
        6
    darouwan  
    OP
       2017-05-19 23:04:49 +08:00   ❤️ 1
    @jtsai 你这评论槽点很多啊
    hjc4869
        7
    hjc4869  
       2017-05-19 23:08:55 +08:00
    即将去某公司云计算部门写 C#,虽说从来没钦定过 Java 死,但是一定要问我想不想让 Java 死,我肯定是说想的。(光速逃
    WispZhan
        8
    WispZhan  
       2017-05-19 23:09:09 +08:00
    很多都是跟风的。基本上都是没深入到某个领域,或者根本不了解 Java 存在意义的人。

    存在即是合理。语言只是工具干什么事情就用什么语言。
    knightdf
        9
    knightdf  
       2017-05-19 23:10:27 +08:00
    估计很多用都没用过 Java,都是人云亦云跟风罢了,毕竟可以显得自己(用的语言)更高端
    ps: 本人工作中没用到 java
    bramblex
        10
    bramblex  
       2017-05-19 23:13:51 +08:00 via iPhone   ❤️ 1
    月经帖
    neoblackcap
        11
    neoblackcap  
       2017-05-19 23:19:09 +08:00   ❤️ 1
    其实很多事连 kotlin 都没听过的,也就今天看到全世界都在谈论 kotlin,百度一下就说 Java 已死,kotlin 永生。我是认为啊,只要 Java 一天跟 JVM 密不可分,那么 Java 就不会死。google 推 kotlin 压根就是为了跟 oracle 谈价钱,你信不信 oracle 开价 5 亿,Google 就给钱了?
    说 Java 已死的,Google 是不是已经将内部的 Java 语言换成了 Kotlin ?不是的话你敢信 Java 已死?
    jtsai
        12
    jtsai  
       2017-05-20 03:31:18 +08:00 via Android
    @darouwan 是啊 发牢骚一下 写完想删了 删不了
    wweir
        13
    wweir  
       2017-05-20 05:59:17 +08:00 via Android
    扯个蛋,rust 发布,没人说 C++ 已死,也没人说 C++永生,那帮人都在忙着养家糊口带孩子呢😄
    darouwan
        14
    darouwan  
    OP
       2017-05-20 07:35:42 +08:00
    @hjc4869 噗 贵司是跟着微软混啊
    darouwan
        15
    darouwan  
    OP
       2017-05-20 07:37:19 +08:00
    @wweir 我这用 java 的都回家带孩子出去玩什么的~~一般工作 3 年之后,很少强调自己用什么语言,主要是讨论做什么领域的
    darouwan
        16
    darouwan  
    OP
       2017-05-20 07:38:19 +08:00
    @WispZhan 我觉得也是 ,比如上面那个完全不在乎速度的,或者一些纯业务性的工作。
    sagaxu
        17
    sagaxu  
       2017-05-20 08:12:28 +08:00
    Java 不会死,Kotlin 目前只是一个 better Java 而已。你做日志处理的自己的 Java 代码,换成 Kotlin 大概可以少写三分之一代码,而且性能和稳定性上不会有任何损失。自从去年在一个项目里试用之后,我在 Java 项目里新建的代码文件都是 Kotlin,再也不想写 Java 了
    darouwan
        18
    darouwan  
    OP
       2017-05-20 08:37:03 +08:00
    @sagaxu 但目前看起来,kotlin 的可读性比 java 差不少,语法风格相差较大。Java 是可以写的跟英语文章一样
    Michlix
        19
    Michlix  
       2017-05-20 08:45:31 +08:00 via iPhone   ❤️ 3
    JB 都没说干死 Java...谷歌开个会,就集体高潮了。前一个礼拜 kotlin 还 8000 不到的星,现在已经上万了,只能说谷歌会推动 kotlin 项目的发展。至于喷语言的人,我从来没觉得他能精通任何一门语言。
    sagaxu
        20
    sagaxu  
       2017-05-20 08:52:10 +08:00   ❤️ 1
    @darouwan

    客观评价两个语言的可读性,前提是用这两个语言写过差不多数量的代码,最起码投入的学习时间要类似吧。如果没有这个前提,就如同拿母语跟刚学几天的外语比较哪个语言更好懂,毫无意义。
    searene
        21
    searene  
       2017-05-20 08:57:37 +08:00
    Java 都用不好的人别的语言肯定也用不好,况且 Java 的生态环境不是一般的好。

    虽然如此,我还是希望 Java 不要这么罗嗦,如果 Kotlin 能替代 Java,我觉得是再好不过的一件事。
    skadi
        22
    skadi  
       2017-05-20 09:01:21 +08:00 via Android
    cpp python
    litpen
        23
    litpen  
       2017-05-20 09:08:20 +08:00
    弱弱的问一句,java 死的话是不是就没有安卓了?
    darouwan
        24
    darouwan  
    OP
       2017-05-20 09:14:44 +08:00
    @sagaxu 我的意思就是对于新手非常友好,我妹子也只会点 Python,看着我写的 Java 代码,基本都能看得懂什么意思,不像其他语言一堆符号,想要搜都麻烦
    darouwan
        25
    darouwan  
    OP
       2017-05-20 09:15:15 +08:00
    @litpen 没什么关系~Android 本质只是语法和 Java 一样而已,虚拟机都自己写的
    darouwan
        26
    darouwan  
    OP
       2017-05-20 09:17:28 +08:00
    @Michlix 本身就是基于 jvm 的东西,Google 拿出来说,不知道这些人为何会联想到踩 Java~况且本身都是相互通用,Google 也做了不少好用的 Java 工具,比如 guava,guice 什么的~
    ragnaroks
        27
    ragnaroks  
       2017-05-20 09:18:09 +08:00
    一种是被人喷的语言,一种是没人用的语言
    一种是被人喷的桌面操作系统,一种是没人用的桌面操作系统

    因此,建议在 Windows 下使用 java

    口 口
    ..
    plqws
        28
    plqws  
       2017-05-20 09:21:19 +08:00
    当然是不用 Java 的人才会盼着 Java 赶快死了。比如我就只喜欢用 Kotlin,别人突然递给我一个 Java 项目这让我这么办。
    还有 Swift 和 Obj-C 也一样。
    sagaxu
        29
    sagaxu  
       2017-05-20 09:42:38 +08:00
    @darouwan 对新手友好的语言,不见得对老手友好。比如

    if (a != null && a.b != null && a.b.c != null) {
    a.b.c.setD(100);
    }



    a?.b?.c?.d = 100

    对只会一点 python 的,肯定长的那个可读性好,但是对接触过 elvis 的人来说,短的更好,elvis 很多语言里都有,是个比较 common 的概念。
    darouwan
        30
    darouwan  
    OP
       2017-05-20 10:47:06 +08:00
    @sagaxu 这么看来有时候是麻烦,不过我直接 @NotNullable 习惯了~
    sagaxu
        31
    sagaxu  
       2017-05-20 11:01:12 +08:00
    @darouwan 所以 Kotlin 所有变量默认都 NotNullable,nullable 的反而要指明,它改掉了 Java 长期以来的毛病,吸收借鉴了非常多 scala 的特点,但是没有在函数式上走的太远,那样就曲高和寡了
    wizardforcel
        32
    wizardforcel  
       2017-05-20 11:03:43 +08:00 via Android
    @wweir c++的智能指针把事情搞简单了。rust 的所有权把事情搞复杂了。

    智能指针的原理是,最后走的人关灯,这是人之常情。gc 的原理是,定期派出一位保安,检查是否有没有人用的灯,有就关上,这也不错。

    rust 是啥,只有第一个打开灯的人有权关灯,而且他走的时候,无论屋子里有没有人,都会关灯,让别人没办法用。然后这个人可以让渡控制权,但是接管控制权的人也是不管屋子里有没有人,走了就关灯。wtf。
    iyaozhen
        33
    iyaozhen  
       2017-05-20 11:12:18 +08:00 via Android
    楼主是做日志处理的话,别无选择只能用 Java。

    个人感觉语言层面的东西没啥好谈的,大多数时候都是堆业务。但是只要是开源的各种库没有一个没有 Java sdk 的,极其方便,都是成熟方案。而且现在大数据处理这一块都是 Java。可以说学后端的绕不开 Java
    huobazi
        34
    huobazi  
       2017-05-20 11:14:09 +08:00 via iPhone
    有 .net 的脑残粉
    yuhuan66666
        35
    yuhuan66666  
       2017-05-20 11:14:09 +08:00 via Android
    楼主 我能问个题外话么

    elasticsearch 除了官方文档有啥资料可以研读么 😂😂
    我已经快被这货折磨疯了 高亮和查询语法啥的😂😂
    darouwan
        36
    darouwan  
    OP
       2017-05-20 11:54:07 +08:00
    @yuhuan66666 额 我就是看官方文档和源代码~文档说不清楚的就直接看代码好了
    anyele
        37
    anyele  
       2017-05-20 11:59:28 +08:00
    java 好找工作, 但是写起来是真的啰嗦啊
    yuhuan66666
        38
    yuhuan66666  
       2017-05-20 13:09:57 +08:00 via Android
    @darouwan 水平没那么好,源码 读起来有些困难😂请问 是我水平太渣 还是官方文档的确有很多没记录清楚的地方😂😂
    sticnarf
        39
    sticnarf  
       2017-05-20 13:19:56 +08:00
    @wizardforcel

    Rust 想要解决的不是内存泄露的问题,Rust 也解决不了。Rust 的类型系统解决的是内存安全的问题。参考 Servo 利用 Rust 语言可以尝试更高度的并行化,而不用担心内存安全的问题。
    另外,引用计数在 Rust 里一样可以用啊,很多时候也必须要用。
    hjc4869
        40
    hjc4869  
       2017-05-20 13:28:04 +08:00
    @darouwan #14 不,其实我去的就是 MS ……你见过 MS 以外的公司在云计算部门用 C#吗(光速逃
    wizardforcel
        41
    wizardforcel  
       2017-05-20 13:30:41 +08:00 via Android
    @sticnarf rust 最开始挺狂的,号称“不需要 gc 或者 rc 就可以解决”。最后还是选择了妥协。😂😂😂
    lightening
        42
    lightening  
       2017-05-20 13:43:15 +08:00 via iPhone
    我写 Ruby。Java 死不死无所谓啦,只要我不写就可以啦!
    jackisnotspirate
        43
    jackisnotspirate  
       2017-05-20 13:51:03 +08:00 via iPhone
    Java 这种语言真的落伍了,只用这个语言的人也很落伍,如果不止用 java , 他就会认为 java 该死,那他为什么还要用 java, 还要用一个自己不想用还要强迫自己用的 java? Java 给我的感觉就是想考研必须考马克思主义,前者因为 gcd 规定,后者因为臃肿的企业规定
    congeec
        44
    congeec  
       2017-05-20 14:09:38 +08:00 via iPhone
    @wizardforcel Rc 难道不是 GC 的一种么?你说的 GC 仅仅指 tracing gc? rust 代码里不也是一大堆 Arc<Box<T>>么? rust 里所有权不是能转移么?
    jjx
        45
    jjx  
       2017-05-20 14:19:57 +08:00
    一般都是反感的都是 java 将事情复杂化, 过度设计, 过度 oo
    wizardforcel
        46
    wizardforcel  
       2017-05-20 14:31:30 +08:00 via Android
    @congeec rc 能即时析构,gc 的析构时机不确定。
    murmur
        47
    murmur  
       2017-05-20 14:34:39 +08:00
    都什么年代了,希望 java 死的是不是还认为代码长短正比于运行速度啊
    wizardforcel
        48
    wizardforcel  
       2017-05-20 14:43:47 +08:00 via Android
    @congeec 我有很长一段时间不关注 rust 了,rust 最开始的确声称“拿 ownership 解决内存问题”。

    而 ownership 和 rc 不是一回事的。前者说白了就是强弱指针,强指针负责管理,弱指针只能使用,所以实现上不需要计数器,跟 cpp 的 unique_ptr 和 weak_ptr 差不多。而 rc 跟 shared_ptr 差不多。

    我实在是不知道 rust 里面引入了这个。虽然它变卦了但是更好用了。😂😂😂
    pathbox
        49
    pathbox  
       2017-05-20 14:43:57 +08:00 via iPhone
    虽然我对 Java 没好感,但是 我觉得 Java 还是很碉的
    wyntergreg
        50
    wyntergreg  
       2017-05-20 15:30:55 +08:00   ❤️ 1
    发语言贴,缺铜币了?
    darouwan
        51
    darouwan  
    OP
       2017-05-20 16:02:28 +08:00 via Android
    @hjc4869 大众啊
    williamx
        52
    williamx  
       2017-05-20 16:04:48 +08:00
    其实也不是仅仅只希望 java 死,不是只针对 java,最好只剩下一个我比较精通的,其他的就都死掉好了!

    嗯,你们要是觉得留哪个比较难以决定,那就留排名最低用的人最少 的那个就好了,这样 整天唧唧歪歪就知道讨论语言的人就会失业,剩下能做事情的人也能涨点薪水。
    darouwan
        53
    darouwan  
    OP
       2017-05-20 16:07:14 +08:00 via Android
    @jackisnotspirate 可是怎么解释 Java 使用如此广泛,据说 storm 用 Java 重写的 jstorm 也要替代原有 clojure
    darouwan
        54
    darouwan  
    OP
       2017-05-20 16:11:17 +08:00 via Android
    @yuhuan66666 可以去官方论坛看看,直接问,会有开发者回答的
    sagaxu
        55
    sagaxu  
       2017-05-20 17:35:48 +08:00
    @darouwan 语言的更替是需要相当长的时间的,已经工作了的人,大部分是不愿意学习一门新的语言的,尤其是仅仅为了一点儿语法上的改进。你去问 60 后和 70 后,他们当中还有一些人甚至希望用 C++做 web 开发。
    chenwl
        56
    chenwl  
       2017-05-20 17:42:48 +08:00
    java 开源产品应用广泛,然而很多人喜欢黑 java。我也喜欢黑~~啦啦啦啦啦啦这是一个行业传统~
    changhe626
        57
    changhe626  
       2017-05-20 17:42:52 +08:00
    都是些看热闹的人,甭管他们,写自己的码子
    phrack
        58
    phrack  
       2017-05-20 21:13:55 +08:00 via Android
    主 python,希望 java 死,其实是除 python 以外的都可以死,反正跟我没关系,咒一下又不会少一根手指
    fantastM
        59
    fantastM  
       2017-05-21 07:46:55 +08:00 via iPhone
    楼主是不是来给 Java 洗白的>_>
    darouwan
        60
    darouwan  
    OP
       2017-05-21 09:23:51 +08:00
    @fantastM 那么多人用,用途那么广泛,承载那么多业务,那么多第三方工具,需要我来洗白么~
    不过用了下 kotlin,是挺爽的
    darouwan
        61
    darouwan  
    OP
       2017-05-21 09:31:48 +08:00
    @sagaxu 其实我也难以想象一群人因为一门语言语法上的繁琐而放弃一门语言。不是应该首先考虑开发效率和运行效率么
    mx1700
        62
    mx1700  
       2017-05-21 10:00:15 +08:00 via Android
    @darouwan kotlin 不就是提高了开发效率(语法简洁,兼容 java),还不降低运行效率(跑在 jvm 上)么
    darouwan
        63
    darouwan  
    OP
       2017-05-21 10:16:23 +08:00
    @mx1700 你得连起来看,jvm 语言算是在性能和开发效率中比较平衡的一个。Python 写起来爽,但速度太慢,C 效率倒是高,但开发效率太低,连 debug everywhere 的机会都没有。
    sagaxu
        64
    sagaxu  
       2017-05-21 10:26:29 +08:00 via Android
    @darouwan 我也用 Python,碰到局部性能瓶颈的时候,我会用 Go 写个扩展,cffi 封装 Python 扩展非常方便。最近比较了一下,我用 kotlin 和 Python 开发效率差不多,kotlin script 也很方便,jvm 差的就是类似 requests 这样 API 简洁的库了。
    darouwan
        65
    darouwan  
    OP
       2017-05-21 10:30:37 +08:00
    @sagaxu 你说的 requests 是 http request 吗?好像 Java 做这个是不那么方便,Java 在 io 方面都挺麻烦,不过也没怎么见到自己直接用 Java 做 io 的。Google 的 guava 把 Java 这一块封装的挺好,读文件跟 Python 一样方便
    mx1700
        66
    mx1700  
       2017-05-21 10:38:06 +08:00
    @darouwan 我就是连起来说的呀,kotlin 性能跟 java 一样,开发效率还比 java 高啊
    SlipStupig
        67
    SlipStupig  
       2017-05-21 12:24:15 +08:00
    @jtsai pypy 其实跟 java 速度差距不大
    murmur
        68
    murmur  
       2017-05-21 16:02:41 +08:00
    @sagaxu 一个个发帖都在抨击 c 语言考试的什么 a++b++c,结果到了 kotlin 这种可读性极差的语法居然还有人碰

    真无语

    估计这些人还认为都 2017 年的语言的性能正反比代码长度吧
    murmur
        69
    murmur  
       2017-05-21 16:03:23 +08:00   ❤️ 1
    @darouwan java 最差也知道用个 apacheutils 吧,还真有用源生 IO 和 http 么
    sagaxu
        70
    sagaxu  
       2017-05-21 16:08:08 +08:00
    @murmur apache httpclient 体验比 python 的 request 差多了
    sagaxu
        71
    sagaxu  
       2017-05-21 16:09:46 +08:00
    @murmur kotlin 可读性差?我感觉比 python 和 Java 的可读性还强那么点。至少我花了一个周末就熟悉了,开发效率赶上 python 了
    murmur
        72
    murmur  
       2017-05-21 16:16:58 +08:00
    @sagaxu 我说的是.?这种运算符

    另外网上有些 kotlin 吹实在是看不过去了

    http://news.91.com/all/s5921238236c4.html 举个例子这个很可能是抄的,虽然

    val context = GenericApplicationContext {

    registerBean()

    registerBean { Bar(it.getBean()) }

    }

    这语法,不就 tm JAVAscript 的 with 运算符么,然而 javascript 的时候都教育你 with 是能不用尽量别用的吧,到 kotlin 成了香馍馍了

    不知道这折腾啥时候能折腾到头
    sagaxu
        73
    sagaxu  
       2017-05-21 17:08:04 +08:00
    @murmur

    Elvis operator 也不是 kotlin 发明的,对只会 A 语言却想读 B 语言代码的人来说,可读性的确不好,但是语言是为不熟悉这个语言的人服务的吗?

    kotlin 也是有 with 的,但你举的例子恰好不是 with,而是最后一个 lambda 型参数可以放括号外,加上 reified type parameters 带来的功效。

    js 不鼓励 with,是因为它可能带来性能问题和二义性,ES5 和 ES6 对它的解析不兼容。这些问题在编译型静态类型的 kotlin 里都不存在。
    pabno
        74
    pabno  
       2017-05-21 23:10:54 +08:00
    从实习到工作写了将近 3 年的 java,最近接触了 python,终于知道为什么人生苦短了。
    vance
        75
    vance  
       2017-05-22 09:38:41 +08:00
    Java NodeJs Python Groovy 都用过, 找工作还是找 JAVA 工程师
    araraloren
        76
    araraloren  
       2017-05-22 09:40:14 +08:00
    写过一段时间 "初级" 的 java,java 的语法确实不怎么讨人喜欢
    更多现代语言会有更好的发展,老的东西还是会尽量让位。。
    helloallen
        77
    helloallen  
       2017-05-22 10:06:00 +08:00
    c、c++、汇编(x86、arm ( arm32 arm-T 指令)、PPC、mips )、新学的 GO。

    linux、vxworks、windows 内核级开发( 无非就是 驱动 bsp 之类的)。==》 C、汇编。

    还有单片机嘿嘿 C。

    linux 应用程序(属于后台 无界面 C )。

    windows、linux ==》 GUI QT C++。

    不太喜欢 JAVA。因为用不到,对虚拟机之类的无好感。指望 GO 语言能在安卓上面有一定的用武之地。

    好吧一般嵌入式开发人员都这样的。
    NullException
        78
    NullException  
       2017-05-22 10:08:08 +08:00
    怎么感觉大家说话都畏首畏尾的。是不是都被喷子们喷怕了!哈哈哈!
    darouwan
        79
    darouwan  
    OP
       2017-05-22 13:46:01 +08:00
    @helloallen 你做的这些东西,都完美的避开了各种 Java 常见应用场景啊
    helloallen
        80
    helloallen  
       2017-05-22 14:50:48 +08:00
    @darouwan 我一直不想在安卓上面开发的一个原因是因为 java。我一直期待 QT 或者 GO 能在安卓上面有一定的地位。

    可能是习惯原因不太喜欢 java。还可能是钱没到位。。嘿嘿。

    工作需求也用不到。

    会的不在多,在精。语言只是工具,能用 C 很好的解决问题就行。编程技巧靠慢慢积累自己体会。

    精心设计的 JAVA 代码一样能够很好的运行。

    就目前来说 C C++能够很好的解决我所遇到的问题。

    最后:我还是不太喜欢 JAVA。。。

    ----------------------------------------------------------
    有些人是只写应用的,有些人是只写底层的。

    我觉得写应用的应该学点内核级别的东西,了解系统运作机制能够帮助你写出适应这个操作系统的 APP,性能也是杠杠的。计算机原理也不能不看。你说是搞计算机的,计算机的几个部件、各干什么的总要知道吧。

    写底层的也可以跳出内核圈透透气。应用层的世界远比内核圈要广。

    我是写底层的,一般在 vxworks linux 这个圈子。

    现在 linux 底层驱动 、上层应用 全包......

    windows 能用 QT 写点 GUI,写过 windows 驱动,是在钱给足的强迫情况下。

    最后除了在极端情况下,,,某某所极端性能要求,每一步都要有详细说明。当然不是每一句代码。是硬件层面的每一步都要有说明。数据从外部端口到内存,然后从内存到 SSD,中间要经过几条总线,多少桥片,几次 DMA,工作时序,都要有详细说明。他们对实时性有严格的要求。

    技术不是唯一的,用户认可的东西就是好东西,即使代码写的有多丑陋。愿意用愿意出钱,钱到手偷着乐就好......
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   911 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 20:20 · PVG 04:20 · LAX 12:20 · JFK 15:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.