魔扣论坛

魔扣源码论坛业务
查看: 1261|回复: 10

Java 程序员的错

[复制链接]

该用户从未签到

24

主题

0

回帖

32

积分

魔扣新手

Rank: 1

魔扣币
4
贡献
4
威望
4
发表于 2018-8-12 21:51:10 | 显示全部楼层 |阅读模式
魔扣币兑换比例:【 50以下 : ¥1 = 10 魔扣币 】丨【 50 - 100 :¥1 = 20 魔扣币】丨【 100以上:¥1 = 30 魔扣币 】

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
编者注:可以喷语言,但不要搞人身攻击! BTW:我也是一名 Java 程序员,哈哈!
Java程序员是有问题的。我使用Java编程已经有10多年的历史。同时,我还有过大量的使用其它语言开发的经历,比如C#, C, C++, Python, Lua, Objective-C等等,我认为这些经历在对我认识Java程序员的问题上起到了巨大的帮助。很多人说Java是一种很糟糕的编程语言。我不同意。 Java语言有它自己的缺点,但我想,很多时候,当你看到Java在有些地方让人很多人不爽时,那本质上不是Java语言的问题,而是它被错误的使用。
这些年来,在我见过的各种Java代码中,我发现这最大的问题是,写代码的人痴迷于把自己当作架构师。他们很喜欢这样,在我阅读他们的代码时,经常会发现这些代码与其说是去真正的解决一个问题,事实上更像是为了解决一个问题而规划的一个蓝图模板。这两者之间并不是细微的差别。你会看到继承很深的抽象层和成堆臃肿的样板式的代码。由面向对象而诞生的子类超生现象无以复加。你根本无法一眼看明白、理解这些代码是干什么的——你需要一层层深入 挖掘,你需要理解它的整套滥用的术语和折磨人的词汇(“AbstractAdapterFactory”),你必须要把自己当成系统的一部分。我已经记不起来上一次看到一个不是这种情况的Java项目是什么时候了。
导致在Java王国里代码最终总会变成这样的原因有很多。Java语言自身要承担一定责任。Java平台的API就是上面说的这些问题的典范,于是,善良的程序员们沿袭标准类库里体现出来的编码规范和风格,将之当作通用的好的编程原则,一下子就误入迷途。Java语言还会对程序员强迫施加一种上层的形式主义和啰嗦,以至于最后你不得不习惯了这样的风格,当看到其它语言的简洁语法时,反而感觉就像它们都是没穿衣服的裸体——这就是“斯德哥尔摩综合症”(译注:来源于1973年发生于此地的一次银行抢劫案中,一个人质浪漫地被她的劫持者吸引住了)。
面向对象的流行部分原因也是这种心理作用造成的。有越来越多的程序员开始退后一步用整体的眼光认识Java,他们发现,作为一种编程模式,面向对象真的是相当的糟糕。然而,Java是最大限度的根植于面向对象模式,如果没有面向对象,Java寸步难行。即使是今天,你仍然能看到大学里的编程课程严重的偏向面向对象,大量的使用Java授课,相比起10年前、5年前要普遍的多。
虽然Java语言非常的流行,在企业软件开发里被普遍的采用,但这一点都无助于Java编程质量的提高。我坦白的说,你在各种企业产品里看到的大量的Java代码都是由非常低质量的程序员写出来的。
非常糟糕的是,这些问题并不是只体现在代码上,而是在整个Java生态系统上也是如此。不论是你使用的Java单元测试工具、依赖关系管理工具,还是模拟框架,即使是很小的Java程序,你也逃离不了它周边庞大的系统。Java程序员无能为力——让他们开发一个小功能,你必然会看到一个继承15层的类工厂(factory)的出现。
今天,我在学习Gradle框架,很显然是因为最近它在Android开发社群里很火。Gradle来自于Java世界,所以它继承了上面我说的所有的Java所具有的问题。正像Tim Bray 最近抱怨的:
“我的浏览器打开的是Gradle文档的一页:第50章.依赖关系管理。它有63个小章节,划归在10个一级章节下,这是第50章,文档一共有65章(包括五节附录)。”
Android——如果说除了那些开发企业软件的人,还有人会在意Java,那一定是因为它——它沿袭Java的老路,走的更远。你会习以为常的发现,在读一页Android API文档时,你根本不知道它究竟是在说什么。当然,最终你会弄明白,你需要绕道弄清楚其它17个类才行。什么?这让你吃不消?你显然不具备学习Java 系统API的百折不挠的精神。你会变成一个Loser
谷歌公司里开发Android的工程师忙于构筑伟大的系统框架,没有时间解决真正的问题。
我是一个Android程序员,我讨厌Java。它让我很受伤。
编者注:可以喷语言,但不要搞人身攻击! BTW:我也是一名 Java 程序员,哈哈!
Java程序员是有问题的。我使用Java编程已经有10多年的历史。同时,我还有过大量的使用其它语言开发的经历,比如C#, C, C++, Python, Lua, Objective-C等等,我认为这些经历在对我认识Java程序员的问题上起到了巨大的帮助。很多人说Java是一种很糟糕的编程语言。我不同意。 Java语言有它自己的缺点,但我想,很多时候,当你看到Java在有些地方让人很多人不爽时,那本质上不是Java语言的问题,而是它被错误的使用。
这些年来,在我见过的各种Java代码中,我发现这最大的问题是,写代码的人痴迷于把自己当作架构师。他们很喜欢这样,在我阅读他们的代码时,经常会发现这些代码与其说是去真正的解决一个问题,事实上更像是为了解决一个问题而规划的一个蓝图模板。这两者之间并不是细微的差别。你会看到继承很深的抽象层和成堆臃肿的样板式的代码。由面向对象而诞生的子类超生现象无以复加。你根本无法一眼看明白、理解这些代码是干什么的——你需要一层层深入 挖掘,你需要理解它的整套滥用的术语和折磨人的词汇(“AbstractAdapterFactory”),你必须要把自己当成系统的一部分。我已经记不起来上一次看到一个不是这种情况的Java项目是什么时候了。
导致在Java王国里代码最终总会变成这样的原因有很多。Java语言自身要承担一定责任。Java平台的API就是上面说的这些问题的典范,于是,善良的程序员们沿袭标准类库里体现出来的编码规范和风格,将之当作通用的好的编程原则,一下子就误入迷途。Java语言还会对程序员强迫施加一种上层的形式主义和啰嗦,以至于最后你不得不习惯了这样的风格,当看到其它语言的简洁语法时,反而感觉就像它们都是没穿衣服的裸体——这就是“斯德哥尔摩综合症”(译注:来源于1973年发生于此地的一次银行抢劫案中,一个人质浪漫地被她的劫持者吸引住了)。
面向对象的流行部分原因也是这种心理作用造成的。有越来越多的程序员开始退后一步用整体的眼光认识Java,他们发现,作为一种编程模式,面向对象真的是相当的糟糕。然而,Java是最大限度的根植于面向对象模式,如果没有面向对象,Java寸步难行。即使是今天,你仍然能看到大学里的编程课程严重的偏向面向对象,大量的使用Java授课,相比起10年前、5年前要普遍的多。
虽然Java语言非常的流行,在企业软件开发里被普遍的采用,但这一点都无助于Java编程质量的提高。我坦白的说,你在各种企业产品里看到的大量的Java代码都是由非常低质量的程序员写出来的。
非常糟糕的是,这些问题并不是只体现在代码上,而是在整个Java生态系统上也是如此。不论是你使用的Java单元测试工具、依赖关系管理工具,还是模拟框架,即使是很小的Java程序,你也逃离不了它周边庞大的系统。Java程序员无能为力——让他们开发一个小功能,你必然会看到一个继承15层的类工厂(factory)的出现。
今天,我在学习Gradle框架,很显然是因为最近它在Android开发社群里很火。Gradle来自于Java世界,所以它继承了上面我说的所有的Java所具有的问题。正像Tim Bray 最近抱怨的:
“我的浏览器打开的是Gradle文档的一页:第50章.依赖关系管理。它有63个小章节,划归在10个一级章节下,这是第50章,文档一共有65章(包括五节附录)。”
Android——如果说除了那些开发企业软件的人,还有人会在意Java,那一定是因为它——它沿袭Java的老路,走的更远。你会习以为常的发现,在读一页Android API文档时,你根本不知道它究竟是在说什么。当然,最终你会弄明白,你需要绕道弄清楚其它17个类才行。什么?这让你吃不消?你显然不具备学习Java 系统API的百折不挠的精神。你会变成一个Loser
谷歌公司里开发Android的工程师忙于构筑伟大的系统框架,没有时间解决真正的问题。
我是一个Android程序员,我讨厌Java。它让我很受伤。
编者注:可以喷语言,但不要搞人身攻击! BTW:我也是一名 Java 程序员,哈哈!
Java程序员是有问题的。我使用Java编程已经有10多年的历史。同时,我还有过大量的使用其它语言开发的经历,比如C#, C, C++, Python, Lua, Objective-C等等,我认为这些经历在对我认识Java程序员的问题上起到了巨大的帮助。很多人说Java是一种很糟糕的编程语言。我不同意。 Java语言有它自己的缺点,但我想,很多时候,当你看到Java在有些地方让人很多人不爽时,那本质上不是Java语言的问题,而是它被错误的使用。
这些年来,在我见过的各种Java代码中,我发现这最大的问题是,写代码的人痴迷于把自己当作架构师。他们很喜欢这样,在我阅读他们的代码时,经常会发现这些代码与其说是去真正的解决一个问题,事实上更像是为了解决一个问题而规划的一个蓝图模板。这两者之间并不是细微的差别。你会看到继承很深的抽象层和成堆臃肿的样板式的代码。由面向对象而诞生的子类超生现象无以复加。你根本无法一眼看明白、理解这些代码是干什么的——你需要一层层深入 挖掘,你需要理解它的整套滥用的术语和折磨人的词汇(“AbstractAdapterFactory”),你必须要把自己当成系统的一部分。我已经记不起来上一次看到一个不是这种情况的Java项目是什么时候了。
导致在Java王国里代码最终总会变成这样的原因有很多。Java语言自身要承担一定责任。Java平台的API就是上面说的这些问题的典范,于是,善良的程序员们沿袭标准类库里体现出来的编码规范和风格,将之当作通用的好的编程原则,一下子就误入迷途。Java语言还会对程序员强迫施加一种上层的形式主义和啰嗦,以至于最后你不得不习惯了这样的风格,当看到其它语言的简洁语法时,反而感觉就像它们都是没穿衣服的裸体——这就是“斯德哥尔摩综合症”(译注:来源于1973年发生于此地的一次银行抢劫案中,一个人质浪漫地被她的劫持者吸引住了)。
面向对象的流行部分原因也是这种心理作用造成的。有越来越多的程序员开始退后一步用整体的眼光认识Java,他们发现,作为一种编程模式,面向对象真的是相当的糟糕。然而,Java是最大限度的根植于面向对象模式,如果没有面向对象,Java寸步难行。即使是今天,你仍然能看到大学里的编程课程严重的偏向面向对象,大量的使用Java授课,相比起10年前、5年前要普遍的多。
虽然Java语言非常的流行,在企业软件开发里被普遍的采用,但这一点都无助于Java编程质量的提高。我坦白的说,你在各种企业产品里看到的大量的Java代码都是由非常低质量的程序员写出来的。
非常糟糕的是,这些问题并不是只体现在代码上,而是在整个Java生态系统上也是如此。不论是你使用的Java单元测试工具、依赖关系管理工具,还是模拟框架,即使是很小的Java程序,你也逃离不了它周边庞大的系统。Java程序员无能为力——让他们开发一个小功能,你必然会看到一个继承15层的类工厂(factory)的出现。
今天,我在学习Gradle框架,很显然是因为最近它在Android开发社群里很火。Gradle来自于Java世界,所以它继承了上面我说的所有的Java所具有的问题。正像Tim Bray 最近抱怨的:
“我的浏览器打开的是Gradle文档的一页:第50章.依赖关系管理。它有63个小章节,划归在10个一级章节下,这是第50章,文档一共有65章(包括五节附录)。”
Android——如果说除了那些开发企业软件的人,还有人会在意Java,那一定是因为它——它沿袭Java的老路,走的更远。你会习以为常的发现,在读一页Android API文档时,你根本不知道它究竟是在说什么。当然,最终你会弄明白,你需要绕道弄清楚其它17个类才行。什么?这让你吃不消?你显然不具备学习Java 系统API的百折不挠的精神。你会变成一个Loser
谷歌公司里开发Android的工程师忙于构筑伟大的系统框架,没有时间解决真正的问题。
我是一个Android程序员,我讨厌Java。它让我很受伤。
编者注:可以喷语言,但不要搞人身攻击! BTW:我也是一名 Java 程序员,哈哈!
Java程序员是有问题的。我使用Java编程已经有10多年的历史。同时,我还有过大量的使用其它语言开发的经历,比如C#, C, C++, Python, Lua, Objective-C等等,我认为这些经历在对我认识Java程序员的问题上起到了巨大的帮助。很多人说Java是一种很糟糕的编程语言。我不同意。 Java语言有它自己的缺点,但我想,很多时候,当你看到Java在有些地方让人很多人不爽时,那本质上不是Java语言的问题,而是它被错误的使用。
这些年来,在我见过的各种Java代码中,我发现这最大的问题是,写代码的人痴迷于把自己当作架构师。他们很喜欢这样,在我阅读他们的代码时,经常会发现这些代码与其说是去真正的解决一个问题,事实上更像是为了解决一个问题而规划的一个蓝图模板。这两者之间并不是细微的差别。你会看到继承很深的抽象层和成堆臃肿的样板式的代码。由面向对象而诞生的子类超生现象无以复加。你根本无法一眼看明白、理解这些代码是干什么的——你需要一层层深入 挖掘,你需要理解它的整套滥用的术语和折磨人的词汇(“AbstractAdapterFactory”),你必须要把自己当成系统的一部分。我已经记不起来上一次看到一个不是这种情况的Java项目是什么时候了。
导致在Java王国里代码最终总会变成这样的原因有很多。Java语言自身要承担一定责任。Java平台的API就是上面说的这些问题的典范,于是,善良的程序员们沿袭标准类库里体现出来的编码规范和风格,将之当作通用的好的编程原则,一下子就误入迷途。Java语言还会对程序员强迫施加一种上层的形式主义和啰嗦,以至于最后你不得不习惯了这样的风格,当看到其它语言的简洁语法时,反而感觉就像它们都是没穿衣服的裸体——这就是“斯德哥尔摩综合症”(译注:来源于1973年发生于此地的一次银行抢劫案中,一个人质浪漫地被她的劫持者吸引住了)。
面向对象的流行部分原因也是这种心理作用造成的。有越来越多的程序员开始退后一步用整体的眼光认识Java,他们发现,作为一种编程模式,面向对象真的是相当的糟糕。然而,Java是最大限度的根植于面向对象模式,如果没有面向对象,Java寸步难行。即使是今天,你仍然能看到大学里的编程课程严重的偏向面向对象,大量的使用Java授课,相比起10年前、5年前要普遍的多。
虽然Java语言非常的流行,在企业软件开发里被普遍的采用,但这一点都无助于Java编程质量的提高。我坦白的说,你在各种企业产品里看到的大量的Java代码都是由非常低质量的程序员写出来的。
非常糟糕的是,这些问题并不是只体现在代码上,而是在整个Java生态系统上也是如此。不论是你使用的Java单元测试工具、依赖关系管理工具,还是模拟框架,即使是很小的Java程序,你也逃离不了它周边庞大的系统。Java程序员无能为力——让他们开发一个小功能,你必然会看到一个继承15层的类工厂(factory)的出现。
今天,我在学习Gradle框架,很显然是因为最近它在Android开发社群里很火。Gradle来自于Java世界,所以它继承了上面我说的所有的Java所具有的问题。正像Tim Bray 最近抱怨的:
“我的浏览器打开的是Gradle文档的一页:第50章.依赖关系管理。它有63个小章节,划归在10个一级章节下,这是第50章,文档一共有65章(包括五节附录)。”
Android——如果说除了那些开发企业软件的人,还有人会在意Java,那一定是因为它——它沿袭Java的老路,走的更远。你会习以为常的发现,在读一页Android API文档时,你根本不知道它究竟是在说什么。当然,最终你会弄明白,你需要绕道弄清楚其它17个类才行。什么?这让你吃不消?你显然不具备学习Java 系统API的百折不挠的精神。你会变成一个Loser
谷歌公司里开发Android的工程师忙于构筑伟大的系统框架,没有时间解决真正的问题。
我是一个Android程序员,我讨厌Java。它让我很受伤。
编者注:可以喷语言,但不要搞人身攻击! BTW:我也是一名 Java 程序员,哈哈!
Java程序员是有问题的。我使用Java编程已经有10多年的历史。同时,我还有过大量的使用其它语言开发的经历,比如C#, C, C++, Python, Lua, Objective-C等等,我认为这些经历在对我认识Java程序员的问题上起到了巨大的帮助。很多人说Java是一种很糟糕的编程语言。我不同意。 Java语言有它自己的缺点,但我想,很多时候,当你看到Java在有些地方让人很多人不爽时,那本质上不是Java语言的问题,而是它被错误的使用。
这些年来,在我见过的各种Java代码中,我发现这最大的问题是,写代码的人痴迷于把自己当作架构师。他们很喜欢这样,在我阅读他们的代码时,经常会发现这些代码与其说是去真正的解决一个问题,事实上更像是为了解决一个问题而规划的一个蓝图模板。这两者之间并不是细微的差别。你会看到继承很深的抽象层和成堆臃肿的样板式的代码。由面向对象而诞生的子类超生现象无以复加。你根本无法一眼看明白、理解这些代码是干什么的——你需要一层层深入 挖掘,你需要理解它的整套滥用的术语和折磨人的词汇(“AbstractAdapterFactory”),你必须要把自己当成系统的一部分。我已经记不起来上一次看到一个不是这种情况的Java项目是什么时候了。
导致在Java王国里代码最终总会变成这样的原因有很多。Java语言自身要承担一定责任。Java平台的API就是上面说的这些问题的典范,于是,善良的程序员们沿袭标准类库里体现出来的编码规范和风格,将之当作通用的好的编程原则,一下子就误入迷途。Java语言还会对程序员强迫施加一种上层的形式主义和啰嗦,以至于最后你不得不习惯了这样的风格,当看到其它语言的简洁语法时,反而感觉就像它们都是没穿衣服的裸体——这就是“斯德哥尔摩综合症”(译注:来源于1973年发生于此地的一次银行抢劫案中,一个人质浪漫地被她的劫持者吸引住了)。
面向对象的流行部分原因也是这种心理作用造成的。有越来越多的程序员开始退后一步用整体的眼光认识Java,他们发现,作为一种编程模式,面向对象真的是相当的糟糕。然而,Java是最大限度的根植于面向对象模式,如果没有面向对象,Java寸步难行。即使是今天,你仍然能看到大学里的编程课程严重的偏向面向对象,大量的使用Java授课,相比起10年前、5年前要普遍的多。
虽然Java语言非常的流行,在企业软件开发里被普遍的采用,但这一点都无助于Java编程质量的提高。我坦白的说,你在各种企业产品里看到的大量的Java代码都是由非常低质量的程序员写出来的。
非常糟糕的是,这些问题并不是只体现在代码上,而是在整个Java生态系统上也是如此。不论是你使用的Java单元测试工具、依赖关系管理工具,还是模拟框架,即使是很小的Java程序,你也逃离不了它周边庞大的系统。Java程序员无能为力——让他们开发一个小功能,你必然会看到一个继承15层的类工厂(factory)的出现。
今天,我在学习Gradle框架,很显然是因为最近它在Android开发社群里很火。Gradle来自于Java世界,所以它继承了上面我说的所有的Java所具有的问题。正像Tim Bray 最近抱怨的:
“我的浏览器打开的是Gradle文档的一页:第50章.依赖关系管理。它有63个小章节,划归在10个一级章节下,这是第50章,文档一共有65章(包括五节附录)。”
Android——如果说除了那些开发企业软件的人,还有人会在意Java,那一定是因为它——它沿袭Java的老路,走的更远。你会习以为常的发现,在读一页Android API文档时,你根本不知道它究竟是在说什么。当然,最终你会弄明白,你需要绕道弄清楚其它17个类才行。什么?这让你吃不消?你显然不具备学习Java 系统API的百折不挠的精神。你会变成一个Loser
谷歌公司里开发Android的工程师忙于构筑伟大的系统框架,没有时间解决真正的问题。
我是一个Android程序员,我讨厌Java。它让我很受伤。
   


来源链接: http://www.oschina.net/news/54018/java-programmer-fault?p=1

该用户从未签到

0

主题

240

回帖

480

积分

中级魔扣

Rank: 3Rank: 3

魔扣币
240
贡献
240
威望
0
发表于 2018-8-17 06:44:38 来自手机 | 显示全部楼层
楼下的接上

该用户从未签到

3

主题

240

回帖

483

积分

中级魔扣

Rank: 3Rank: 3

魔扣币
240
贡献
240
威望
0
发表于 2018-11-5 20:09:11 | 显示全部楼层
深深的思念,默默的祝福;魔扣源码论坛关怀的心永远不改变,问世间,何为贵?山以青为贵,水以秀为贵物以稀为贵,月以明为贵人以正为贵,友以挚为贵情以真为贵,我以你为贵。

该用户从未签到

2

主题

235

回帖

472

积分

中级魔扣

Rank: 3Rank: 3

魔扣币
235
贡献
235
威望
0
发表于 2018-12-30 09:46:54 | 显示全部楼层
即使不见面,不说话,不发信息,我也会在心里留一个位置,安安稳稳的放着一个人。',

该用户从未签到

1

主题

272

回帖

546

积分

高级魔扣

Rank: 4

魔扣币
273
贡献
273
威望
0
发表于 2019-4-20 11:39:36 | 显示全部楼层
我只是路过,不发表意见

该用户从未签到

1

主题

249

回帖

500

积分

高级魔扣

Rank: 4

魔扣币
250
贡献
250
威望
0
发表于 2019-5-20 11:25:24 | 显示全部楼层
男生没有主动找女生,那是说明他是真的不想理她了。女生没有主动找男生,是因为在等他找她。',

该用户从未签到

2

主题

262

回帖

526

积分

高级魔扣

Rank: 4

魔扣币
262
贡献
262
威望
0
发表于 2019-8-5 22:53:21 来自手机 | 显示全部楼层
看起来不错

该用户从未签到

2

主题

252

回帖

506

积分

高级魔扣

Rank: 4

魔扣币
252
贡献
252
威望
0
发表于 2019-11-13 12:52:10 来自手机 | 显示全部楼层
风爱上了云。本来就是不可能的事。我爱上了你。是我宿命中的悲伤。没有咖啡的早晨,就跟没有你的人生是一样的。当我的生命里面懂得什么叫LOVE的时候。我才知道什么叫爱。魔扣源码论坛,你能为我加上ING吗?

该用户从未签到

1

主题

252

回帖

505

积分

高级魔扣

Rank: 4

魔扣币
252
贡献
252
威望
0
发表于 2019-12-28 12:34:50 来自手机 | 显示全部楼层
一声问候,让我们不再陌生;一句祝福,魔扣源码论坛,让我们不再遥远;留言中有你,感觉温馨;交流中有你,感觉亲切;空间有你,感觉精彩。

该用户从未签到

0

主题

264

回帖

529

积分

高级魔扣

Rank: 4

魔扣币
265
贡献
265
威望
0
发表于 2020-1-12 18:07:27 | 显示全部楼层
第一次的爱,始终无法轻描淡写。我对你,只有放弃,没有忘记。',
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 联系我们
  • 新浪微博 :
  • 在线客服 :魔扣科技 
  • 源码QQ群 :魔扣源码论坛官方总群
  • 联系邮箱 :charlin#morko.net
  • 微信扫一扫
快速回复 返回顶部 返回列表