勿喷,我是担心我之前目光太狭隘,有更好的工具却不自知,所以想看看觉得 java 不好的人都在用什么,相互交流一下,也许会使得我以后的生活更美好~
我目前是做日志处理,需要用到 kafka,disruptor,spark,elastic search ( Lucene ),每天数据量在 20TB 左右。
其余在算法设计,或者帮妹子做作业的时候,一般用 Python~
1
tongyang 2017-05-19 20:34:25 +08:00
都是不用 JAVA 的人呗,很正常啊
|
2
jtsai 2017-05-19 21:52:58 +08:00 via Android
学一门语言 讨饭吃。java 很好。 除了这点 我找不到 java 哪点比 Python 好。哦 速度快 可是我不需要很快的。
|
3
Michlix 2017-05-19 22:24:56 +08:00 via iPhone
多学几门语言就好了。别太狭隘
|
4
notreami 2017-05-19 22:42:33 +08:00
评论一门语言前,先把个人的 github 放上来晒晒,这样才有可信度。瞎扯淡的话,只有 Lisp 才叫语言,其他都是废品。
|
5
qiukong 2017-05-19 22:44:50 +08:00 via iPhone 2
用 javascript 的
|
7
hjc4869 2017-05-19 23:08:55 +08:00
即将去某公司云计算部门写 C#,虽说从来没钦定过 Java 死,但是一定要问我想不想让 Java 死,我肯定是说想的。(光速逃
|
8
WispZhan 2017-05-19 23:09:09 +08:00
很多都是跟风的。基本上都是没深入到某个领域,或者根本不了解 Java 存在意义的人。
存在即是合理。语言只是工具干什么事情就用什么语言。 |
9
knightdf 2017-05-19 23:10:27 +08:00
估计很多用都没用过 Java,都是人云亦云跟风罢了,毕竟可以显得自己(用的语言)更高端
ps: 本人工作中没用到 java |
10
bramblex 2017-05-19 23:13:51 +08:00 via iPhone 1
月经帖
|
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 已死? |
13
wweir 2017-05-20 05:59:17 +08:00 via Android
扯个蛋,rust 发布,没人说 C++ 已死,也没人说 C++永生,那帮人都在忙着养家糊口带孩子呢😄
|
15
darouwan OP @wweir 我这用 java 的都回家带孩子出去玩什么的~~一般工作 3 年之后,很少强调自己用什么语言,主要是讨论做什么领域的
|
17
sagaxu 2017-05-20 08:12:28 +08:00
Java 不会死,Kotlin 目前只是一个 better Java 而已。你做日志处理的自己的 Java 代码,换成 Kotlin 大概可以少写三分之一代码,而且性能和稳定性上不会有任何损失。自从去年在一个项目里试用之后,我在 Java 项目里新建的代码文件都是 Kotlin,再也不想写 Java 了
|
18
darouwan OP @sagaxu 但目前看起来,kotlin 的可读性比 java 差不少,语法风格相差较大。Java 是可以写的跟英语文章一样
|
19
Michlix 2017-05-20 08:45:31 +08:00 via iPhone 3
JB 都没说干死 Java...谷歌开个会,就集体高潮了。前一个礼拜 kotlin 还 8000 不到的星,现在已经上万了,只能说谷歌会推动 kotlin 项目的发展。至于喷语言的人,我从来没觉得他能精通任何一门语言。
|
20
sagaxu 2017-05-20 08:52:10 +08:00 1
|
21
searene 2017-05-20 08:57:37 +08:00
Java 都用不好的人别的语言肯定也用不好,况且 Java 的生态环境不是一般的好。
虽然如此,我还是希望 Java 不要这么罗嗦,如果 Kotlin 能替代 Java,我觉得是再好不过的一件事。 |
22
skadi 2017-05-20 09:01:21 +08:00 via Android
cpp python
|
23
litpen 2017-05-20 09:08:20 +08:00
弱弱的问一句,java 死的话是不是就没有安卓了?
|
24
darouwan OP @sagaxu 我的意思就是对于新手非常友好,我妹子也只会点 Python,看着我写的 Java 代码,基本都能看得懂什么意思,不像其他语言一堆符号,想要搜都麻烦
|
26
darouwan OP @Michlix 本身就是基于 jvm 的东西,Google 拿出来说,不知道这些人为何会联想到踩 Java~况且本身都是相互通用,Google 也做了不少好用的 Java 工具,比如 guava,guice 什么的~
|
27
ragnaroks 2017-05-20 09:18:09 +08:00
一种是被人喷的语言,一种是没人用的语言
一种是被人喷的桌面操作系统,一种是没人用的桌面操作系统 因此,建议在 Windows 下使用 java 口 口 .. |
28
plqws 2017-05-20 09:21:19 +08:00
当然是不用 Java 的人才会盼着 Java 赶快死了。比如我就只喜欢用 Kotlin,别人突然递给我一个 Java 项目这让我这么办。
还有 Swift 和 Obj-C 也一样。 |
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 的概念。 |
30
darouwan OP @sagaxu 这么看来有时候是麻烦,不过我直接 @NotNullable 习惯了~
|
31
sagaxu 2017-05-20 11:01:12 +08:00
@darouwan 所以 Kotlin 所有变量默认都 NotNullable,nullable 的反而要指明,它改掉了 Java 长期以来的毛病,吸收借鉴了非常多 scala 的特点,但是没有在函数式上走的太远,那样就曲高和寡了
|
32
wizardforcel 2017-05-20 11:03:43 +08:00 via Android
@wweir c++的智能指针把事情搞简单了。rust 的所有权把事情搞复杂了。
智能指针的原理是,最后走的人关灯,这是人之常情。gc 的原理是,定期派出一位保安,检查是否有没有人用的灯,有就关上,这也不错。 rust 是啥,只有第一个打开灯的人有权关灯,而且他走的时候,无论屋子里有没有人,都会关灯,让别人没办法用。然后这个人可以让渡控制权,但是接管控制权的人也是不管屋子里有没有人,走了就关灯。wtf。 |
33
iyaozhen 2017-05-20 11:12:18 +08:00 via Android
楼主是做日志处理的话,别无选择只能用 Java。
个人感觉语言层面的东西没啥好谈的,大多数时候都是堆业务。但是只要是开源的各种库没有一个没有 Java sdk 的,极其方便,都是成熟方案。而且现在大数据处理这一块都是 Java。可以说学后端的绕不开 Java |
34
huobazi 2017-05-20 11:14:09 +08:00 via iPhone
有 .net 的脑残粉
|
35
yuhuan66666 2017-05-20 11:14:09 +08:00 via Android
楼主 我能问个题外话么
elasticsearch 除了官方文档有啥资料可以研读么 😂😂 我已经快被这货折磨疯了 高亮和查询语法啥的😂😂 |
36
darouwan OP @yuhuan66666 额 我就是看官方文档和源代码~文档说不清楚的就直接看代码好了
|
37
anyele 2017-05-20 11:59:28 +08:00
java 好找工作, 但是写起来是真的啰嗦啊
|
38
yuhuan66666 2017-05-20 13:09:57 +08:00 via Android
@darouwan 水平没那么好,源码 读起来有些困难😂请问 是我水平太渣 还是官方文档的确有很多没记录清楚的地方😂😂
|
39
sticnarf 2017-05-20 13:19:56 +08:00
@wizardforcel
Rust 想要解决的不是内存泄露的问题,Rust 也解决不了。Rust 的类型系统解决的是内存安全的问题。参考 Servo 利用 Rust 语言可以尝试更高度的并行化,而不用担心内存安全的问题。 另外,引用计数在 Rust 里一样可以用啊,很多时候也必须要用。 |
41
wizardforcel 2017-05-20 13:30:41 +08:00 via Android
@sticnarf rust 最开始挺狂的,号称“不需要 gc 或者 rc 就可以解决”。最后还是选择了妥协。😂😂😂
|
42
lightening 2017-05-20 13:43:15 +08:00 via iPhone
我写 Ruby。Java 死不死无所谓啦,只要我不写就可以啦!
|
43
jackisnotspirate 2017-05-20 13:51:03 +08:00 via iPhone
Java 这种语言真的落伍了,只用这个语言的人也很落伍,如果不止用 java , 他就会认为 java 该死,那他为什么还要用 java, 还要用一个自己不想用还要强迫自己用的 java? Java 给我的感觉就是想考研必须考马克思主义,前者因为 gcd 规定,后者因为臃肿的企业规定
|
44
congeec 2017-05-20 14:09:38 +08:00 via iPhone
@wizardforcel Rc 难道不是 GC 的一种么?你说的 GC 仅仅指 tracing gc? rust 代码里不也是一大堆 Arc<Box<T>>么? rust 里所有权不是能转移么?
|
45
jjx 2017-05-20 14:19:57 +08:00
一般都是反感的都是 java 将事情复杂化, 过度设计, 过度 oo
|
46
wizardforcel 2017-05-20 14:31:30 +08:00 via Android
@congeec rc 能即时析构,gc 的析构时机不确定。
|
47
murmur 2017-05-20 14:34:39 +08:00
都什么年代了,希望 java 死的是不是还认为代码长短正比于运行速度啊
|
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 里面引入了这个。虽然它变卦了但是更好用了。😂😂😂 |
49
pathbox 2017-05-20 14:43:57 +08:00 via iPhone
虽然我对 Java 没好感,但是 我觉得 Java 还是很碉的
|
50
wyntergreg 2017-05-20 15:30:55 +08:00 1
发语言贴,缺铜币了?
|
52
williamx 2017-05-20 16:04:48 +08:00
其实也不是仅仅只希望 java 死,不是只针对 java,最好只剩下一个我比较精通的,其他的就都死掉好了!
嗯,你们要是觉得留哪个比较难以决定,那就留排名最低用的人最少 的那个就好了,这样 整天唧唧歪歪就知道讨论语言的人就会失业,剩下能做事情的人也能涨点薪水。 |
53
darouwan OP @jackisnotspirate 可是怎么解释 Java 使用如此广泛,据说 storm 用 Java 重写的 jstorm 也要替代原有 clojure
|
54
darouwan OP @yuhuan66666 可以去官方论坛看看,直接问,会有开发者回答的
|
55
sagaxu 2017-05-20 17:35:48 +08:00
@darouwan 语言的更替是需要相当长的时间的,已经工作了的人,大部分是不愿意学习一门新的语言的,尤其是仅仅为了一点儿语法上的改进。你去问 60 后和 70 后,他们当中还有一些人甚至希望用 C++做 web 开发。
|
56
chenwl 2017-05-20 17:42:48 +08:00
java 开源产品应用广泛,然而很多人喜欢黑 java。我也喜欢黑~~啦啦啦啦啦啦这是一个行业传统~
|
57
changhe626 2017-05-20 17:42:52 +08:00
都是些看热闹的人,甭管他们,写自己的码子
|
58
phrack 2017-05-20 21:13:55 +08:00 via Android
主 python,希望 java 死,其实是除 python 以外的都可以死,反正跟我没关系,咒一下又不会少一根手指
|
59
fantastM 2017-05-21 07:46:55 +08:00 via iPhone
楼主是不是来给 Java 洗白的>_>
|
60
darouwan OP @fantastM 那么多人用,用途那么广泛,承载那么多业务,那么多第三方工具,需要我来洗白么~
不过用了下 kotlin,是挺爽的 |
62
mx1700 2017-05-21 10:00:15 +08:00 via Android
@darouwan kotlin 不就是提高了开发效率(语法简洁,兼容 java),还不降低运行效率(跑在 jvm 上)么
|
63
darouwan OP @mx1700 你得连起来看,jvm 语言算是在性能和开发效率中比较平衡的一个。Python 写起来爽,但速度太慢,C 效率倒是高,但开发效率太低,连 debug everywhere 的机会都没有。
|
64
sagaxu 2017-05-21 10:26:29 +08:00 via Android
@darouwan 我也用 Python,碰到局部性能瓶颈的时候,我会用 Go 写个扩展,cffi 封装 Python 扩展非常方便。最近比较了一下,我用 kotlin 和 Python 开发效率差不多,kotlin script 也很方便,jvm 差的就是类似 requests 这样 API 简洁的库了。
|
65
darouwan OP @sagaxu 你说的 requests 是 http request 吗?好像 Java 做这个是不那么方便,Java 在 io 方面都挺麻烦,不过也没怎么见到自己直接用 Java 做 io 的。Google 的 guava 把 Java 这一块封装的挺好,读文件跟 Python 一样方便
|
67
SlipStupig 2017-05-21 12:24:15 +08:00
@jtsai pypy 其实跟 java 速度差距不大
|
68
murmur 2017-05-21 16:02:41 +08:00
|
71
sagaxu 2017-05-21 16:09:46 +08:00
@murmur kotlin 可读性差?我感觉比 python 和 Java 的可读性还强那么点。至少我花了一个周末就熟悉了,开发效率赶上 python 了
|
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 成了香馍馍了 不知道这折腾啥时候能折腾到头 |
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 里都不存在。 |
74
pabno 2017-05-21 23:10:54 +08:00
从实习到工作写了将近 3 年的 java,最近接触了 python,终于知道为什么人生苦短了。
|
75
vance 2017-05-22 09:38:41 +08:00
Java NodeJs Python Groovy 都用过, 找工作还是找 JAVA 工程师
|
76
araraloren 2017-05-22 09:40:14 +08:00
写过一段时间 "初级" 的 java,java 的语法确实不怎么讨人喜欢
更多现代语言会有更好的发展,老的东西还是会尽量让位。。 |
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 语言能在安卓上面有一定的用武之地。 好吧一般嵌入式开发人员都这样的。 |
78
NullException 2017-05-22 10:08:08 +08:00
怎么感觉大家说话都畏首畏尾的。是不是都被喷子们喷怕了!哈哈哈!
|
79
darouwan OP @helloallen 你做的这些东西,都完美的避开了各种 Java 常见应用场景啊
|
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,工作时序,都要有详细说明。他们对实时性有严格的要求。 技术不是唯一的,用户认可的东西就是好东西,即使代码写的有多丑陋。愿意用愿意出钱,钱到手偷着乐就好...... |