g*********9 发帖数: 1285 | 1 我以为Java 8是一种倒退。Java的一大优点就是可度性,尤其是新人接管一个项目的时
候。Java 8里面加的这些Syntax Sugar完全是自费武功,写程序的爽了,写得少,写得
快,等别人读的时候就苦了。而且debug的时候也会很痛苦,一行那么长,出个
NullPointerException, 哪个环节出来的还得查半天。这就是华而不实。 |
b******y 发帖数: 9224 | 2 软件的通病,做到后来实在没得做了,就会开始画蛇添足。 |
a****i 发帖数: 1182 | 3 你对8的stream就没有了解吧
工作里没有碰到过pipeline的概念?
那么,同样是循环,你用 for (int i = 0; i < list.size(); i ++) {} 多
还是 for (Integer num: numbers) {} 多?
这个不是一句syntax sugar就能覆盖了,你如果这么想,就正说明你不是好java
【在 g*********9 的大作中提到】 : 我以为Java 8是一种倒退。Java的一大优点就是可度性,尤其是新人接管一个项目的时 : 候。Java 8里面加的这些Syntax Sugar完全是自费武功,写程序的爽了,写得少,写得 : 快,等别人读的时候就苦了。而且debug的时候也会很痛苦,一行那么长,出个 : NullPointerException, 哪个环节出来的还得查半天。这就是华而不实。
|
g*********9 发帖数: 1285 | 4 你就说有什么功能非得用这些新花样来实现?没有。
那么可读性,可维护性呢?大大降低。得不偿失。
【在 a****i 的大作中提到】 : 你对8的stream就没有了解吧 : 工作里没有碰到过pipeline的概念? : 那么,同样是循环,你用 for (int i = 0; i < list.size(); i ++) {} 多 : 还是 for (Integer num: numbers) {} 多? : 这个不是一句syntax sugar就能覆盖了,你如果这么想,就正说明你不是好java
|
k*********s 发帖数: 4474 | 5 Java8 用的lambda 语法早在c#里用很久了
Angular 2.x 也用pipe写法
Java 只是跟上而已。不用lambda也能继续写Java。升级到8还又其他实用的更新 |
p****n 发帖数: 51 | 6 而且性能上stream foreach略差
【在 g*********9 的大作中提到】 : 你就说有什么功能非得用这些新花样来实现?没有。 : 那么可读性,可维护性呢?大大降低。得不偿失。
|
z*********e 发帖数: 10149 | 7 我觉得stream可读性非常好
另外需要的时候直接parallelStream,可以省去很多细节的处理
【在 p****n 的大作中提到】 : 而且性能上stream foreach略差
|
g*********9 发帖数: 1285 | 8 我以为Java 8是一种倒退。Java的一大优点就是可度性,尤其是新人接管一个项目的时
候。Java 8里面加的这些Syntax Sugar完全是自费武功,写程序的爽了,写得少,写得
快,等别人读的时候就苦了。而且debug的时候也会很痛苦,一行那么长,出个
NullPointerException, 哪个环节出来的还得查半天。这就是华而不实。 |
b******y 发帖数: 9224 | 9 软件的通病,做到后来实在没得做了,就会开始画蛇添足。 |
a****i 发帖数: 1182 | 10 你对8的stream就没有了解吧
工作里没有碰到过pipeline的概念?
那么,同样是循环,你用 for (int i = 0; i < list.size(); i ++) {} 多
还是 for (Integer num: numbers) {} 多?它们什么区别?
现在有 list.stream().forEach() ,又是干嘛?
这些不是一句syntax sugar就能覆盖的,你如果这么想,就正说明你不是好java
【在 g*********9 的大作中提到】 : 我以为Java 8是一种倒退。Java的一大优点就是可度性,尤其是新人接管一个项目的时 : 候。Java 8里面加的这些Syntax Sugar完全是自费武功,写程序的爽了,写得少,写得 : 快,等别人读的时候就苦了。而且debug的时候也会很痛苦,一行那么长,出个 : NullPointerException, 哪个环节出来的还得查半天。这就是华而不实。
|
|
|
g*********9 发帖数: 1285 | 11 你就说有什么功能非得用这些新花样来实现?没有。
那么可读性,可维护性呢?大大降低。得不偿失。
【在 a****i 的大作中提到】 : 你对8的stream就没有了解吧 : 工作里没有碰到过pipeline的概念? : 那么,同样是循环,你用 for (int i = 0; i < list.size(); i ++) {} 多 : 还是 for (Integer num: numbers) {} 多?它们什么区别? : 现在有 list.stream().forEach() ,又是干嘛? : 这些不是一句syntax sugar就能覆盖的,你如果这么想,就正说明你不是好java
|
k*********s 发帖数: 4474 | 12 Java8 用的lambda 语法早在c#里用很久了
Angular 2.x 也用pipe写法
Java 只是跟上而已。不用lambda也能继续写Java。升级到8还又其他实用的更新 |
p****n 发帖数: 51 | 13 而且性能上stream foreach略差
【在 g*********9 的大作中提到】 : 你就说有什么功能非得用这些新花样来实现?没有。 : 那么可读性,可维护性呢?大大降低。得不偿失。
|
z*********e 发帖数: 10149 | 14 我觉得stream可读性非常好
另外需要的时候直接parallelStream,可以省去很多细节的处理
【在 p****n 的大作中提到】 : 而且性能上stream foreach略差
|
c*****t 发帖数: 1879 | 15 我觉得用现有的 stream 还好,就是感觉 overhead 可能比较多。
从网上来看,如果是简单应用,也没必要特意躲开 stream。不过复杂
些的 stream 的使用其实也挺麻烦的。而且因为 stream API 比较复杂,
从头 implement 自己的 stream 比较困难。所以必须使用已有的东西。
而有时候又不是完全适合,而且 checked exception 也跟 lambda 不是
太搭配。所以整体感觉,用起来没有其它语言那么自然。
所以就目前来看,可以再等等。等它更成熟,大家应用有了心得以后
在说也不迟。
【在 z*********e 的大作中提到】 : 我觉得stream可读性非常好 : 另外需要的时候直接parallelStream,可以省去很多细节的处理
|
g******e 发帖数: 3760 | 16 你举的例子是8里面的features吗?
:你对8的stream就没有了解吧
:工作里没有碰到过pipeline的概念? |
g******e 发帖数: 3760 | 17 有一些同感。原来感觉Java没有C#里面那么多 syntax sugar 是好事。没想到8里面都
给加上了。呵呵。
优点就是可度性,尤其是新人接管一个项目的时候。Java 8里面加的这些Syntax Sugar
完全是自费武功,写程序的爽了,写得少,写得快,等别人读的时候就苦了。而且
debug的时候也会很痛苦,一行那么长,出个
:NullPointerException, 哪个环节出来的还得查半天。这就是华而不实。 |
g******e 发帖数: 3760 | 18 另外Lamda 有什么优势,还是编译以后都一样?
:我以为Java 8是一种倒退。Java的一大优点就是可度性,尤其是新人接管一个项目的
时候。Java 8里面加的这些Syntax Sugar完全是自费武功,写程序的爽了,写得少,写
得快,等别人读的时候就苦了。而且debug的时候也会很痛苦,一行那么长,出个
:NullPointerException, 哪个环节出来的还得查半天。这就是华而不实。 |
a****i 发帖数: 1182 | 19 syntax sugar 就限制了你对java深入理解的追求
那只能是你自己的问题
Sugar
【在 g******e 的大作中提到】 : 有一些同感。原来感觉Java没有C#里面那么多 syntax sugar 是好事。没想到8里面都 : 给加上了。呵呵。 : : 优点就是可度性,尤其是新人接管一个项目的时候。Java 8里面加的这些Syntax Sugar : 完全是自费武功,写程序的爽了,写得少,写得快,等别人读的时候就苦了。而且 : debug的时候也会很痛苦,一行那么长,出个 : :NullPointerException, 哪个环节出来的还得查半天。这就是华而不实。
|
g******e 发帖数: 3760 | 20 你怎么得出这结论的?
:syntax sugar 就限制了你对java深入理解的追求
:那只能是你自己的问题 |