Java 到底有哪些不好或者说比如其他语言的地方呢?

2016-10-26 12:33:23 +08:00
 kideny

java 有哪些不足,还有那些地方是需要改进的呢?

8422 次点击
所在节点    Java
45 条回复
q397064399
2016-10-26 16:18:14 +08:00
基本上没什么大问题, 仅从语言本身来讲
泛型
(确实是个问题,但是问题不大,这么多年不也好好的过来了,何况绝大部分写业务代码 码农们 你 TM 哪有那么多算法需要跟数据类型剥离开来的)
啰嗦 (本来就是设计用 IDE 写代码的语言,方便后来人阅读,你非要用记事本装逼,我也没办法)
拉曼达 (这个与 Java 本身相违背, Java 的设计 包括 J2EE 大家都看得到,驼峰名字能有多长就有多长,好处呢?基本上英语过关,没学过什么代码, Java 代码也能看得懂,而且各种高级别的语法糖真的有意义么?这么多年 C 语言没更新语法糖 不活得好好的)
语法很笨拙 (在这种有 IDE 的年代,多敲一个不会死人)
Trim21
2016-10-26 17:55:33 +08:00
@murmur 连续打错两个字母我还以为出了一门新语言。。。
altairkuma
2016-10-26 18:16:49 +08:00
问题就是 Java 的使用者认为 Java 没什么不好。或者认为那么多人都用了这么多年,好不好就这样了。
lululau
2016-10-26 18:32:45 +08:00
对我来说, Java 的最大问题是各种库,包括标准库和各种第三方库,代码写得太抽象,看不懂。。。
murmur
2016-10-26 18:43:33 +08:00
@lululau JAVA 是跟 C++画平行线的语言,是可以作为课本基础学习的,所以底层还得有灵活性,怕抽象直接上 Apache Utils 和 guava
lydhr
2016-10-26 19:20:24 +08:00
本身运行在 jvm 上,这就是为什么 android 手机感觉比 ios 慢, android 就相当于在手机上开一个虚拟机用
cjyang1128
2016-10-26 19:44:54 +08:00
写复杂的业务逻辑不如脚本语言来的方便,因为 jdk 很多 API 设计的比较底层,或者说不太好用,需要借用其他第三方库才能达到相同的开发速度。比较好的就是不用学很多新框架,或者说用来做后台服务的语言其实不需要这么多框架,稳定是最重要的。所以我觉得服务就用 Java 写好了,前台就用脚本语言,相得益彰。
enenaaa
2016-10-26 19:56:54 +08:00
@lydhr 跟这没什么关系, oc 也是运行在 llvm 上。不爽的话,两边都可以用本地代码库。 android 慢最大原因是流氓太多。
MetaGen
2016-10-26 20:53:39 +08:00
@lydhr jvm 慢? hotspot 可以说是优化做的最好的虚拟机了,基本可以吊打一票动态语言。当然安卓用的是 dalvik 不是 hotspot ,不过不管怎样都不能把锅甩给 java
NordicShaw
2016-10-26 21:00:03 +08:00
语法稍显啰嗦。
sudoz
2016-10-26 21:19:32 +08:00
@yidinghe 场景不一样, Web 业务层面,后端的影响面更大,事故会更严重,前端再怎么玩也就是表现层的东西,玩花活玩砸的代价成本没有后端那么高
oaix
2016-10-26 21:20:34 +08:00
泛型擦除
Allianzcortex
2016-10-26 21:34:48 +08:00
@inisun NIO/New I/O,不搞 Java SE / Web 开发这块的人不知道很正常啊。。。
linux40
2016-10-27 08:18:24 +08:00
能玩的就只有注解和反射,可是这两个特别难用。。。
YzSama
2016-10-27 11:01:00 +08:00
@zhuangzhuang1988 来个总结把。视频太长上班不能看 XD.
coetzee
2016-10-27 12:03:44 +08:00
从一些语法特性来看,的确是比较保守的预言,可玩性较差,但是反过来看,意味着语言自身的语法特性限制会使工程化更强一点,毕竟不会导致太多的黑魔法语法。

不过很多 JVM 语言可以满足你的语言猎奇心理,我认为做工程化的东西 Java 足够,如果想要更强的语义性语言,那么上 Groovy 或者 Scala ,既能使用各种奇技淫巧,又可以使用丰富的 Java 库和框架。

总之,现在 Java 界是一个 JVM 生态的群殴体系,而且开源社区发展和商业发展都是不错的。
sorra
2016-10-27 12:34:32 +08:00
Java 提供了坚实的语言基础, JVM 提供了高效的运行环境。 JVM 语言群殴让你一边尝鲜一边做出有用的东西。
Kotlin 改进了 Java ,包打 Android 和后端,轻松学会,热心人士翻译了文档 http://kotlindoc.com/
lydhr
2016-10-27 12:51:37 +08:00
@enenaaa 流氓指?
kamikat
2016-10-27 13:27:58 +08:00
个人意见
Java 最主要的缺点是用的人太多,满大街都能写。
JVM 最主要的缺点是泛型不是真泛型。
ccjeaty
2016-10-27 14:04:54 +08:00
用的人太多, 没有优越感了?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/315577

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX