专栏名称: ImportNew
伯乐在线旗下账号,专注Java技术分享,包括Java基础技术、进阶技能、架构设计和Java技术领域动态等。
目录
相关文章推荐
芋道源码  ·  Cloudflare ... ·  5 小时前  
芋道源码  ·  Hutool中的这些工具类,太实用了! ·  22 小时前  
芋道源码  ·  SpringBoot启动原理详解(图文全面总结) ·  2 天前  
芋道源码  ·  疯传Java界,堪称最强! ·  2 天前  
51好读  ›  专栏  ›  ImportNew

Java 最困扰你的那些事

ImportNew  · 公众号  · Java  · 2017-02-07 22:28

正文

(点击 上方公众号 ,可快速关注)


源:伯乐在线 - 靳禹,

如有好文章投稿,请点击 → 这里了解详情

如需转载,发送「转载」二字查看说明


啊哈Reddit(某知名国外在线问答社区),没了你我们还能在哪里从鱼目混珠的网络中提炼真正的精华?就在这杂乱无章的论坛中,的的确确存在着这样一些精辟的讨论。


比如有个叫Shambloroni的兄弟发起了一个引起广泛共鸣的话题(收到了150个回复和投票)。话题的开始是他在吐槽 Java 有哪些方面最让他感到厌烦,同时他又向其他程序猿征集关于编写Java时令人蛋疼(伤感……)的故事。


下面我列出了一些最有意思的回复——你会同意吗?


Try-catch 声明之殇


虽然我才刚刚开始编写 Java 程序,但是在Java 中实现让程序停顿一些时间然后继续运行这件事情已经复杂的令我震惊。除了写下基本的指令完成停顿外,我还必须要用 try-catch 来包裹的这些操作。没准对于大牛来说这不算什么,但是对我来讲这太令人难过了。


还有跟所有 IO相关的异常也让许多简单的事情变得繁琐起来。比如我仅仅想简洁地做些事情,但最后总是会搞砸,。然后我不得不在所有方法上加上“throws Exception”。


没有,没有,还是没有


  • 没有无符号的整形。


  • 没有操作符重载。


  • 没有对象属性。


  • 没有代理 (尽管我听说 Java 8 中可能引入了代理或类似机制,但我还没细看)。


我同样痛恨很多 Java 库中引入模块的方式(比如根据名称加载模块)。相对而言,我更希望在编译时就能检查我需要的依赖库是否已经加载了。


找不到爱…


我恨 Java,就是单纯的恨。负责任地说,我从不使用 Java 写程序的最大因素就是因为我恨它。还有一点就是JRE糟糕的模块化。就算你用了一些加载工具比如Launch4j,你仍然需要让用户安装一个超过200 MB 的框架来运行程序。


没有getter、setter


Java还缺少getter和setter注解。这样可以更简单的添加和移除模板代码。


缺乏亮点


Java 缺少一些杀手级的模块。虽然听说一些不错的模块将被加入到Java 9.x 中,但目前为止这是我最大的槽点了。


非暴力不合作


我遇到的最大的麻烦就是如何一起使用基本元素和对象。例如, 把一个char[] 类型的变量转换成一个列表别提有多费劲了,而且我感觉这种操作根本没必要这么麻烦。


心愿单


  • 我最想要的就是像 Perl 中那种上下文相关的函数了,以及当处理真正的异常时,这些函数可以在一个语言中所扮演的角色。







请到「今天看啥」查看全文