大佬们能具体贴出代码对比举例吗?简单看了一下其他语言和 Java 比我看不出哪里啰嗦欸。
1
murmur 2019-07-31 21:04:20 +08:00
都 2019 年了还有人认为语句和关键字长度就反比于语言的运行和开发效率
|
2
murmur 2019-07-31 21:09:37 +08:00
如果考虑到 java1.8,考虑到各种 utils 或者 guava,在 idea 的加持下,唯一麻烦的就是写 json 返回值太痛苦了,怎么构造方法,用 string 反解,都没有 js 里直接返回复杂格式写的舒服
如果不考虑这些,大概能被抨击的: 流的操作,包括文件读写这些,看教科书那种文件读写的一层套一层简直痛苦 没有回调函数,当然我认为有 idea 实现个接口也没什么大不了的 |
3
cabing 2019-07-31 21:13:17 +08:00
写 java 代码比较讲究设计。
|
4
LosLord OP |
5
DT27 2019-07-31 21:34:47 +08:00
PHP:
<?php echo "Hello!"; ?> JAVA: class Main { public static void main(String[] args) { System.out.print("Hello!"); } } |
7
LosLord OP |
8
SuperMild 2019-07-31 21:45:50 +08:00
看看 kotlin, 非常明显把 java 简洁化了很多,肉眼可见。
|
9
LosLord OP @SuperMild 我平常也写 Kotlin,一定程度上能简化代码,但是没那么夸张。我觉得更多的是扩展 Java。除了那些语法上的扩展显得代码简洁一点( Java11 的新特性能替代一点),设计上还是该怎么样就怎么样,简略的代码看着好像并没有那么舒服。
|
10
kx5d62Jn1J9MjoXP 2019-07-31 22:00:39 +08:00 via Android 1
一个单词: factory
|
11
SuperMild 2019-07-31 22:13:01 +08:00
@LosLord 随便一个普通函数(方法) Kotlin 能比 Java 少几行,乃至十几行。
至于设计上,那差距就更大了,Kotlin 有 DSL 大杀器,而且还是 type safe 的,既简洁又安全。 看着舒不舒服就不要拿出来讨论了。 |
12
twoyuan 2019-07-31 22:19:03 +08:00 via Android
啰嗦在于很多语义上明确的,本可以通过推导得到的逻辑,却不得不手动编码来表示。
例子的话感觉各种设计模式的例子就很能说明问题了 |
13
billlee 2019-07-31 23:07:52 +08:00
```java
Map<Int, String> map = new HashMap(); map.add(1, "1") map.add(2, "2") ... ``` ```scala val map = Map(1 -> "1", 2 -> "2", ...) ``` |
14
Takamine 2019-07-31 23:35:45 +08:00 via Android
要是单方面跟弱类型的语言比代码量就是耍流氓。
可能还是一些设计模式和分层上吧,其实靠 IDE 补全,也写不了几行。 |
15
LosLord OP @SuperMild 我使用场景的最多的节省行数的就是 val name = user.name?:""这种,其他的也是有一些,倒是不多。
@billlee java11 : var map = Map.of(1,"1",2,"2"); java8+guava : Map<Integer, String> map = ImmutableBiMap.of(1,"1",2,"2"); |
16
msg7086 2019-08-01 07:01:37 +08:00
我只记得以前看 Java 打开文件读取文本要写老长一段……
|
17
NewDraw 2019-08-01 07:12:56 +08:00 via Android
空指针异常判断,当然 optional 也不失为一种优美的解决方案。
|
18
aguesuka 2019-08-01 10:17:59 +08:00 via Android
因为有 8 种基本类型,所以 jdk 里很多类和方法都要写 9 次。因为是假泛型,所以 List 转 array 还要传个数组进去。因为
|
19
cabing 2019-08-01 13:28:56 +08:00
怎么说呢。
嗯,你可以看看 java 的 collect 包~各种接口的设计 |