avatar
e*o
2
example please.
avatar
g*e
3
果树不知道。菜地里的我用水龙头浇水的时候就洗了叶子,至于该不该洗,不是很清楚。

【在 m***6 的大作中提到】
: 刚买了一个喷农药的罐子 http://www.amazon.com/gp/product/B002YNSAGM/ref=oh_details_o00_s00_i00 ), 觉得用它来清洗叶子蛮好.
: 问题是: 该不该偶尔洗洗, 以便让叶子们更精神气爽地进行光合作用? 住的地方几乎
: 不下雨, 叶子上好像有灰尘.

avatar
g*g
4
太符合人类思维,不适合装逼。

【在 e*******o 的大作中提到】
: example please.
avatar
m*6
5
不洗的理由是怕水冲下去把病毒带上来. 常看到有教诲说水要浇在根上.
洗, 并且尽量模拟下雨的样子也好理解: 在自然环境中雨水是从天上下下来的.
--- 看来我应该学农.
avatar
p*2
6
inheritance就是个例子

【在 e*******o 的大作中提到】
: example please.
avatar
T*4
7
八爷原来是来考刚刚的

【在 m***6 的大作中提到】
: 不洗的理由是怕水冲下去把病毒带上来. 常看到有教诲说水要浇在根上.
: 洗, 并且尽量模拟下雨的样子也好理解: 在自然环境中雨水是从天上下下来的.
: --- 看来我应该学农.

avatar
e*o
8
作为生物猥琐男,对inheritance 还是情有独钟的。
我看很多说继承坏的,实际上说的是overuse 坏。
二爷能否给个具体的例子看看?

【在 p*****2 的大作中提到】
: inheritance就是个例子
avatar
m*6
9
我只是爱思考的学生. --- 还在思考.
有老师真好, 喷农药的罐子就是刚刚要我洒农要才买的.
avatar
l*n
10
没有value type是一个。不能mixin是另一个。

【在 e*******o 的大作中提到】
: example please.
avatar
e*o
11
1. C# 是不是oop?
2. ruby 算不算 oop?

【在 l**********n 的大作中提到】
: 没有value type是一个。不能mixin是另一个。
avatar
e*o
12
装逼的太多,搞fp的尤甚。

【在 g*****g 的大作中提到】
: 太符合人类思维,不适合装逼。
avatar
d*i
13
Re. Actually no doubt that OOP is most suitable for human's way of thinking.
The only caveat is don't abuse it. Combine OOP with normal procedural
programming can solve all problems nicely, that's why C++ and Java and all
mainstream languages can solve all problems without much difficulties and no
bullshit obscure abstraction.

【在 g*****g 的大作中提到】
: 太符合人类思维,不适合装逼。
avatar
d*i
14
Java可以mixin,刚搞过一个。

【在 l**********n 的大作中提到】
: 没有value type是一个。不能mixin是另一个。
avatar
d*i
15
For physical world, inheritance is inherent and everywhere. Human being and
all specifies are inherited from their ancestors. Even the Earth and other
planets are inherited from the original Solar System. For computer world,
inheritance is also everywhere, C++ inherited from C, Java inherited from C+
+, C# inherited from C++, Perl inherited from shell script and C, PHP
inherited from Perl, Python inherited from Perl, Ruby inherited from Perl, .
... countless examples.

【在 e*******o 的大作中提到】
: 作为生物猥琐男,对inheritance 还是情有独钟的。
: 我看很多说继承坏的,实际上说的是overuse 坏。
: 二爷能否给个具体的例子看看?

avatar
l*t
16
装逼人士含笑不语
avatar
e*o
17
没有具体例子,都是耍流氓。

【在 l******t 的大作中提到】
: 装逼人士含笑不语
avatar
l*s
18
写出例子出来?

【在 d****i 的大作中提到】
: Java可以mixin,刚搞过一个。
avatar
c*e
19
who said that oop is bad? url link, please?

【在 e*******o 的大作中提到】
: example please.
avatar
x*k
20
www.johndcook.com/blog/2011/07/19/you-wanted-banana/
Joe Armstrong, creator of Erlang, on software reusability.
I think the lack of reusability comes in object-oriented languages, not
functional languages. Because the problem with object-oriented languages is
they’ve got all this implicit environment that they carry around with them.
You wanted a banana but what you got was a gorilla holding the banana and
the entire jungle.
If you have referentially transparent code, if you have pure functions —
all the data comes in its input arguments and everything goes out and leave
no state behind — it’s incredibly reusable.
avatar
c*e
21
http://www.cnblogs.com/dasea/archive/2012/08/18/2644927.html
1。 Erlang是小众语言,使用它存在维护上的风险。(这个是缺点,但不是我最重要
的理由)
2。 Erlang的变量不可变,改变了程序员的思维习惯。
我个人原则上认可变量应不可变带来的好处,但是允许特殊情形下的可变(例
如for循环的自变量)。
3。 Erlang是动态语言。
我个人认为大型工程都应该使用静态类型语言,以获得更好的代码质量和性能
(静态类型语言更容易写出高质量少BUG的代码)。

is
them.
leave

【在 x****k 的大作中提到】
: www.johndcook.com/blog/2011/07/19/you-wanted-banana/
: Joe Armstrong, creator of Erlang, on software reusability.
: I think the lack of reusability comes in object-oriented languages, not
: functional languages. Because the problem with object-oriented languages is
: they’ve got all this implicit environment that they carry around with them.
: You wanted a banana but what you got was a gorilla holding the banana and
: the entire jungle.
: If you have referentially transparent code, if you have pure functions —
: all the data comes in its input arguments and everything goes out and leave
: no state behind — it’s incredibly reusable.

avatar
e*o
22
why do you want to reuse a method on time object to a dog?
if you want pure function, even in java, you have static method.
BTW, if all your input arguments is the same, it will be even better. you
can replace a program with another and it just works. it’s incredibly
reusable.

is
them.
leave

【在 x****k 的大作中提到】
: www.johndcook.com/blog/2011/07/19/you-wanted-banana/
: Joe Armstrong, creator of Erlang, on software reusability.
: I think the lack of reusability comes in object-oriented languages, not
: functional languages. Because the problem with object-oriented languages is
: they’ve got all this implicit environment that they carry around with them.
: You wanted a banana but what you got was a gorilla holding the banana and
: the entire jungle.
: If you have referentially transparent code, if you have pure functions —
: all the data comes in its input arguments and everything goes out and leave
: no state behind — it’s incredibly reusable.

avatar
p*2
23
strong coupling

【在 e*******o 的大作中提到】
: 作为生物猥琐男,对inheritance 还是情有独钟的。
: 我看很多说继承坏的,实际上说的是overuse 坏。
: 二爷能否给个具体的例子看看?

avatar
c*e
24
inheritance当然就意味着strong coupling.如果一对白人夫妻,生了个黑人孩子,那
还叫inheritance吗?

【在 p*****2 的大作中提到】
: strong coupling
avatar
l*s
25
a) static method is just window dressing, it is not really a method
b) Assume you are talking about java, a static method has nothing to do with
purity.

【在 e*******o 的大作中提到】
: why do you want to reuse a method on time object to a dog?
: if you want pure function, even in java, you have static method.
: BTW, if all your input arguments is the same, it will be even better. you
: can replace a program with another and it just works. it’s incredibly
: reusable.
:
: is
: them.
: leave

avatar
p*2
26
strong coupling 是软件开发大忌

【在 c*********e 的大作中提到】
: inheritance当然就意味着strong coupling.如果一对白人夫妻,生了个黑人孩子,那
: 还叫inheritance吗?

avatar
c*e
27
请详细说明。inheritance里面,比如interface是一个车,然后有honda,toyota,bmw之
类的inheritance,可以用interface里面的方法。没啥错啊。也没啥大忌讳啊。

【在 p*****2 的大作中提到】
: strong coupling 是软件开发大忌
avatar
p*2
28
你说的是interface 还是inheritance?
interface没问题

【在 c*********e 的大作中提到】
: 请详细说明。inheritance里面,比如interface是一个车,然后有honda,toyota,bmw之
: 类的inheritance,可以用interface里面的方法。没啥错啊。也没啥大忌讳啊。

avatar
e*o
29
you can write pure function use static method and reuse wherever it fits
that is my point

with

【在 l*********s 的大作中提到】
: a) static method is just window dressing, it is not really a method
: b) Assume you are talking about java, a static method has nothing to do with
: purity.

avatar
p*2
30
static method 只是一个workaround
oo的理论基础是错误的

【在 e*******o 的大作中提到】
: you can write pure function use static method and reuse wherever it fits
: that is my point
:
: with

avatar
c*e
31
static method不好控制监控状态。谁知道刚才谁用过啊?

【在 e*******o 的大作中提到】
: you can write pure function use static method and reuse wherever it fits
: that is my point
:
: with

avatar
g*g
32
That's not true. Strong coupling is a problem for loosely-related modules.
Inside a module it's not a problem and it's called high cohesion.

【在 p*****2 的大作中提到】
: strong coupling 是软件开发大忌
avatar
g*g
33
The immutable can simplify concurrency in FP, that's one of the only few
strong points in FP I can see.

【在 e*******o 的大作中提到】
: you can write pure function use static method and reuse wherever it fits
: that is my point
:
: with

avatar
l*s
34
Moot point. You could make a rocket explode as well, how can I be sure there
is no surprise, other than reading your code?

【在 e*******o 的大作中提到】
: you can write pure function use static method and reuse wherever it fits
: that is my point
:
: with

avatar
p*2
35
我觉得用处不是特别大

【在 g*****g 的大作中提到】
: The immutable can simplify concurrency in FP, that's one of the only few
: strong points in FP I can see.

avatar
p*2
36
inside a module 是还可以
但是不用inheritance更灵活

【在 g*****g 的大作中提到】
: That's not true. Strong coupling is a problem for loosely-related modules.
: Inside a module it's not a problem and it's called high cohesion.

avatar
g*g
37
OOP里面inheritance只是一种选择,没有人逼你代码重用必需使用inheritance。 Java
里的接口就是让你可以选择composition。认为任何一个有用另一个没用都是极端。如
何能代码最少而且扩展容易就是最优的代码。

【在 p*****2 的大作中提到】
: inside a module 是还可以
: 但是不用inheritance更灵活

avatar
b*s
38
缓存不友好,纯oop在对象复制上代价太大,动态特性太慢
对数据密集的应用,oop是很笨拙的,而交互多的应用比较合适
avatar
c*e
39
你需要全部复制吗?有时候可以自己优化下。

【在 b*******s 的大作中提到】
: 缓存不友好,纯oop在对象复制上代价太大,动态特性太慢
: 对数据密集的应用,oop是很笨拙的,而交互多的应用比较合适

avatar
e*o
40
you can not make sure anything without reading code of a program.

there

【在 l*********s 的大作中提到】
: Moot point. You could make a rocket explode as well, how can I be sure there
: is no surprise, other than reading your code?

avatar
b*s
41
做过你就知道有多糟了,做得再好的java based hft系统,也要比对应水平的人做的cpp
的慢一百倍左右

【在 c*********e 的大作中提到】
: 你需要全部复制吗?有时候可以自己优化下。
avatar
b*s
42
OOP的优点在于互动场景描述,并不是万能的
avatar
c*e
43
java本来就是用来做web app的,比如netflix。做hft还是c++.
但是,现实是,没有这么多hft的工作机会啊。现在流行web app, mobile app.

cpp

【在 b*******s 的大作中提到】
: 做过你就知道有多糟了,做得再好的java based hft系统,也要比对应水平的人做的cpp
: 的慢一百倍左右

avatar
N*n
44

Nah, inheritance is a fine way to reuse code.

【在 p*****2 的大作中提到】
: inheritance就是个例子
avatar
b*s
45
做app的多数也就十万出头点,没什么意思

【在 c*********e 的大作中提到】
: java本来就是用来做web app的,比如netflix。做hft还是c++.
: 但是,现实是,没有这么多hft的工作机会啊。现在流行web app, mobile app.
:
: cpp

avatar
c*1
46
inheritance + interface.

【在 p*****2 的大作中提到】
: strong coupling 是软件开发大忌
avatar
l*s
47
you can, just not in java.

【在 e*******o 的大作中提到】
: you can not make sure anything without reading code of a program.
:
: there

avatar
N*n
48

让你设计一个抢族,有长步枪、短步枪、机枪、狙击步枪。你难道还每把
枪之间都DECOUPLE,零件不通用,到战场上后勤维护还得准备好几套?写
CODE也一样,能通用REUSE是好事。

【在 p*****2 的大作中提到】
: strong coupling 是软件开发大忌
avatar
c*e
49
right, DRY

【在 N********n 的大作中提到】
:
: 让你设计一个抢族,有长步枪、短步枪、机枪、狙击步枪。你难道还每把
: 枪之间都DECOUPLE,零件不通用,到战场上后勤维护还得准备好几套?写
: CODE也一样,能通用REUSE是好事。

avatar
d*e
50
OOP的问题是太繁琐。
简单问题有最笨的方法实现。
特别是纯的设计模式。
所以现在人们试图用更加简单的方法来改进,
那么比对象简单的是什么呢。就是函数。

【在 e*******o 的大作中提到】
: example please.
avatar
n*l
51
1. non-transparent control flow. some smart asses will over abstract and
create thick glue layers that make software maintenance much much harder.
2. idiotic open/close principle. again, this is to do with transparency.
sometimes you simply cannot construct reliable softwares based on pure black
boxes.

【在 e*******o 的大作中提到】
: example please.
avatar
p*2
52
只是给lz举个例子
你说的没错

Java

【在 g*****g 的大作中提到】
: OOP里面inheritance只是一种选择,没有人逼你代码重用必需使用inheritance。 Java
: 里的接口就是让你可以选择composition。认为任何一个有用另一个没用都是极端。如
: 何能代码最少而且扩展容易就是最优的代码。

avatar
p*2
53
你太狭隘了

【在 N********n 的大作中提到】
:
: 让你设计一个抢族,有长步枪、短步枪、机枪、狙击步枪。你难道还每把
: 枪之间都DECOUPLE,零件不通用,到战场上后勤维护还得准备好几套?写
: CODE也一样,能通用REUSE是好事。

avatar
p*2
54
how about higher order functions

【在 c********1 的大作中提到】
: inheritance + interface.
avatar
p*2
55
在工作中很少有问题有明显的oo关系
硬套oo代价很大

【在 N********n 的大作中提到】
:
: 让你设计一个抢族,有长步枪、短步枪、机枪、狙击步枪。你难道还每把
: 枪之间都DECOUPLE,零件不通用,到战场上后勤维护还得准备好几套?写
: CODE也一样,能通用REUSE是好事。

avatar
b*s
56
OO is useful, but pure OO is stupid

【在 p*****2 的大作中提到】
: 在工作中很少有问题有明显的oo关系
: 硬套oo代价很大

avatar
c*9
57
软件是为了解决问题,而不是把问题物体化。

【在 e*******o 的大作中提到】
: example please.
avatar
p*2
58
支持

【在 b*******s 的大作中提到】
: OO is useful, but pure OO is stupid
avatar
p*2
59
实在

【在 c*******9 的大作中提到】
: 软件是为了解决问题,而不是把问题物体化。
avatar
e*o
60
你说的是 vertical inheritance
还有 horizontal inheritance 这个在生物界也是存在的 有些语言中叫 trait 有些叫
role haskell 中是 class

【在 p*****2 的大作中提到】
: 只是给lz举个例子
: 你说的没错
:
: Java

avatar
c*1
61
vertical inheritance + horizontal interface

【在 e*******o 的大作中提到】
: 你说的是 vertical inheritance
: 还有 horizontal inheritance 这个在生物界也是存在的 有些语言中叫 trait 有些叫
: role haskell 中是 class

avatar
p*2
62

我说的是OO经典的classical inheritance
编程的哲学未必适合生物的规则

【在 e*******o 的大作中提到】
: 你说的是 vertical inheritance
: 还有 horizontal inheritance 这个在生物界也是存在的 有些语言中叫 trait 有些叫
: role haskell 中是 class

avatar
k*n
63
+ independent injection,
说oo 不好的都太绝对了.
没啥事是完美的.

【在 c********1 的大作中提到】
: inheritance + interface.
avatar
k*n
64
嗯, 不需要OO 时硬套是自找不快.
能用oo 时当然用.

【在 b*******s 的大作中提到】
: OO is useful, but pure OO is stupid
avatar
c*1
65
hardware control, simulation fit oo well.

【在 p*****2 的大作中提到】
: 在工作中很少有问题有明显的oo关系
: 硬套oo代价很大

avatar
q*c
66
your brain cell mutates every second.
how can you be sure you do not die next second? You dont. You just live with
it.

there

【在 l*********s 的大作中提到】
: Moot point. You could make a rocket explode as well, how can I be sure there
: is no surprise, other than reading your code?

avatar
q*c
67
当元首是最有意思的,不过下面躺着 100 万失败者的尸体呢。
你要试试? lol

【在 b*******s 的大作中提到】
: 做app的多数也就十万出头点,没什么意思
avatar
c*9
68
目前3d游戏还是适合OO,以后不好说。一些智力游戏适合FP。

【在 c********1 的大作中提到】
: hardware control, simulation fit oo well.
avatar
j*x
69
oop里也就inheritance被证明是言过其实
其他的encapsulation information hiding interface 都被证明是完全合理有效的方法
哪里来的oop is bad?
avatar
j*x
70
inheritance是短枪套个长管 加个长弹夹 枪机外加增利器变成了个班用机枪
你所说的枪族部件通用那是composition。。。

【在 N********n 的大作中提到】
:
: 让你设计一个抢族,有长步枪、短步枪、机枪、狙击步枪。你难道还每把
: 枪之间都DECOUPLE,零件不通用,到战场上后勤维护还得准备好几套?写
: CODE也一样,能通用REUSE是好事。

avatar
p*2
71
encapsulation 也有问题

方法

【在 j********x 的大作中提到】
: oop里也就inheritance被证明是言过其实
: 其他的encapsulation information hiding interface 都被证明是完全合理有效的方法
: 哪里来的oop is bad?

avatar
j*x
72
毛主席也有问题
抓住主要矛盾就可以了
oop里面
inheritance可以说是弊大于利
其他都是毫无疑问利大于弊
问题有没有
当然有
没有问题的东西确实存在
这个东西叫“虚无”

【在 p*****2 的大作中提到】
: encapsulation 也有问题
:
: 方法

avatar
g*g
73
inheritance is not bad, abuse of inheritance is bad.

【在 j********x 的大作中提到】
: 毛主席也有问题
: 抓住主要矛盾就可以了
: oop里面
: inheritance可以说是弊大于利
: 其他都是毫无疑问利大于弊
: 问题有没有
: 当然有
: 没有问题的东西确实存在
: 这个东西叫“虚无”

avatar
j*x
74
这是废话
坏的是坏的
不坏的是不坏的。。。

【在 g*****g 的大作中提到】
: inheritance is not bad, abuse of inheritance is bad.
avatar
t*n
75
OO都不懂的人,根本就没有发言资格。一看就是刷题刷的,没有实战经验。请写个100k
代码以后再来。
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。