回 帖 发 新 帖 刷新版面

主题:[讨论]张亚飞对目前开发领域内普遍的基础性错误和混乱深感担忧。。。

张亚飞对目前开发领域内普遍的基础性错误和混乱深感担忧,在很多开发领域内都存在致命的问题,而且这些问题都非常基础,正是因为非常基础,所以显得非常显眼,例如在OOP的认识上。

对于JavaScript OOP,现在仍然有很多人沿袭错误的认识,仍认为JavaScript 是基于对象的语言而不是面向对象的语言,这错误如果不剪除,那么就不可能有真正的JavaScript开发。大部分人都认为,并且很自以为是地认为使用Class才叫面向对象,特别是初学者。这是不正确的:目前原型链和类链是两个不同的面向对象开发的体系。按照ECMA262 V2实现的语言(最流行的当是Javascript和Actionscript1.0)都是使用原型链来实现面向对象开发的。

张亚飞提醒大家,不要认为使用类链就可以没有问题了,因为Java可以说是目前最流行的OOP语言,所以很多人都对他很放心,认为学习Java OOP就能对面向对象开发更了解,其实不然,只要看看对接口和抽象的混乱认识就知道有多肤浅了,从译自老外写的Java垃圾图书,到国内的垃圾,几乎都是错的。他们似乎不想让用户知道“接口是规范,类是实现”这样一个基本的显而易见的规则,或者他们自己也根本不知道(后者的可能性最大)。PHP也不例外,存在同样的问题,虽然PHP OOP发展没几年,但是大多数人仍沿用了和Java OOP同样的思维。这都是最基本的OOP知识啊,同时也是整个软件世界相互通信的基本规则,没有想到,虽然OOP诞生了几十年,尚还有如此肤浅的错误。

再举一个事实,看一看Java开发中的JSP+JavaBeans问题吧,你就知道灾难有多深重了,出现这样的灾难,企业的信誉变会荡然无存,软件用户的利益就没有办法保障,到最后,责难肯定会有落到我们这些开发者身上。

更多的实事:很多开发者就知道使用IIS或Tomcat中的基本验证模块、摘要验证等模块来对用户进行验证,它们就认为这就是所谓基本验证、摘要验证,并且还都很自以为是,因为书上就是这样讲的。把实现当作是知识的根基,这是最大的悲哀,亦是混乱之根源。

在Flash Actionscript 3.0开发的领域有些错误更是显得好笑,连基本的变量作用域都尚未搞清,这个就不说了,太浅了。

 
如果有任何问题都可以通过张亚飞的BLOG与其交流:

[url]http://cn.zhang-yafei.com/[/url](简体,奥运期间访问可能稍有问题,繁体没有问题)
[url]http://tw.zhang-yafei.com/[/url](繁体)

回复列表 (共3个回复)

沙发

而问题是:更多的错误又有多少尚未发掘出来呢?

让我们一起努力!

板凳

理解需要不断进阶,不可能都是一下子就看到了核心原理

3 楼

这有这样一个帖子,也值得看看:

Java中常犯的错误,你知道吗?

地址:
http://news.csdn.net/n/20080618/116775.html

我来回复

您尚未登录,请登录后再回复。点此登录或注册