关于语言的评价标准 -- 两个凡是

宏哥 发布于 2016/09/07 13:35
阅读 296
收藏 0

标准如下:

1: 目标性: 要能达到目标

2: 技术角度:可靠性, 性能,生存能力

3: 现实性:   编程效率,代码可管理性 -- 简单性

所谓的OOP之类是为上诉的目标服务

如果不能为上诉提供服务,比如C++比C复杂,但没有带来任何额外价值, 毫无意义

OOP 如果带来复杂性, 而不是可管理性, 也毫无意义



加载中
2
notreami
notreami
20年前,技术大牛讨论OOP,并总结了大量的文献。20年后,楼主啥文献都不查,就扯的脖子制定标准。
1
螃蟹大叔
螃蟹大叔
你是来刷存在感的
1
乌龟壳
乌龟壳

@eechen

别扯了,PHP写起来简单,别人读起来难,代码之间是弱关联的,得人工去找代码之间的关系。你网站写得多当然简单了,一个URL对应一个页面的,也就那几个地方找,当然PHP做网站也是很合适的。

但是如果你做一个比如socket服务,协议分析的逻辑夸四五个文件,每个至少500行,久了之后自己都不知道怎么回事了,得重新研究下代码。因为关联数组没有在语法层面维持结构的互相引用。

别老说我Javaer,我一直在用PHP开发好不。它的优点缺点我都感同身受才说出来的。之所以老和你说java的优点,是想纠正你对java的偏见好不。

另一个方面,王垠支持java比PHP更多些是事实。

fengzhang
fengzhang
是的
1
铂金小狗
铂金小狗
JAVA已死 , 有事烧纸 .
0
eechen
eechen
面向对象中,类的设计,类的关系设计,都需要花费时间.

人月神话指出,编写可重用代码要比编写普通代码至少多花三倍的工作量. 而面向对象模糊了代码的重用和使用,使被重用的代码的依赖复杂化,导致很多不适合被重用的代码被重用.

在面向对象主导的系统中,抽象,封装,继承被放在很高地位,对象间的交互只能指望设计模式来进行. 时间长了会发现这样描述问题还是有缺陷的,框架越来越多,抽象越来越复杂难懂.

Golang和Rust选择了不支持继承,而没有继承就谈不上面向对象,因此Golang和Rust都是反对面向对象编程范式的.

PHP在处理业务逻辑时,很多时候都是在面向数组编程. 数据库存储的是二维表,PHP二维数组就能承载这些表信息. Windows注册表在PHPer看来就是一个 $win = array();  全局作用域下的哈希表(多维数组),可以存储各种应用和模块的配置信息.

“编程最重要的事情,其实是让写出来的符号,能够简单地对实际或者想象出来的“世界”进行建模。 一个程序员最重要的能力,是直觉地看见符号和现实物体之间的对应关系。 不管看起来多么酷的语言或者范式,如果必须绕着弯子才能表达程序员心目中的模型,那么它就不是一个很好的语言或者范式。”

PHP既支持过程式,又支持面向对象,通过闭包还支持函数式, 使用PHP内置的关联数组,非常容易就能对现实世界进行数据建模, 按王垠的看法,PHP的确是世界上最好的语言.
Narky
Narky
回复 @eechen : 人家在美国过的欢实着呢。whatever,你开心就好
eechen
eechen
回复 @Narky : 还有,我可一点都不推崇yinwang,我喜欢的是他指出的Java的缺点,真实的美国,以此为据让Java脑残粉和美分狗醒醒脑.
eechen
eechen
回复 @Narky : 我真以为我不知道yinwang是个JAVAer以及对PHP等几乎所有脚本语言的不屑呀?我就是要以子之矛攻子之盾,他追求的好的东西,其实PHP都有.
Narky
Narky
你的脸还疼吗?http://www.oschina.net/question/96003_2142960?fromerr=rYkW138y 你推崇的王垠,实际上是喜欢微软和JAVA多一点的,http://www.yinwang.org/blog-cn/2016/01/18/java
返回顶部
顶部