q**j 发帖数: 10612 | 1 我承认我很老土,从来都是process oriented programming。现在在看一些obejct ori
tented 的书。可是我不论怎么想,觉得没有什么本质区别。请高手给解释一下好吗? |
k**l 发帖数: 2966 | 2 就是个不同职责的单位有效分工的问题
ori
【在 q**j 的大作中提到】 : 我承认我很老土,从来都是process oriented programming。现在在看一些obejct ori : tented 的书。可是我不论怎么想,觉得没有什么本质区别。请高手给解释一下好吗?
|
q**j 发帖数: 10612 | 3 不是很明白。是不是就是变量和函数多了的时候容易分得清楚一些?
可是吧这些东西都放在内存里面是不是会慢一些?
【在 k**l 的大作中提到】 : 就是个不同职责的单位有效分工的问题 : : ori
|
f*****y 发帖数: 204 | 4 encapsulation, inheritance and polymorphism. |
q**j 发帖数: 10612 | 5 encapsulation可以理解。inheritance就不明显了。函数也可以叫函数吗。polymorphi
sm什么意思?
【在 f*****y 的大作中提到】 : encapsulation, inheritance and polymorphism.
|
k**l 发帖数: 2966 | 6 These words are generalized after they found these neat ways to solve
programing problem. They are too conceptual. You won't understand them
unless you face/study the problem, then solution. There is no point
understanding them without real examples either.
Why do you need that if you don't write large scale program?
polymorphi
【在 q**j 的大作中提到】 : encapsulation可以理解。inheritance就不明显了。函数也可以叫函数吗。polymorphi : sm什么意思?
|
S*******d 发帖数: 51 | 7 主要是有利于大型软件的可维护性。
相对独立的components只对外expose interfaces。即使内部实现改变,但不影响与其
交互的其他components。
ori
【在 q**j 的大作中提到】 : 我承认我很老土,从来都是process oriented programming。现在在看一些obejct ori : tented 的书。可是我不论怎么想,觉得没有什么本质区别。请高手给解释一下好吗?
|
a******o 发帖数: 16625 | 8 本菜鸟认为,主要是可扩展性要强。
次要原因是,分工明确,减少全局变量,class就像一个个盒子把东西整理得很清楚,
你只要考虑逻辑关系,而不用太多考虑程序的物理结构,比如先后顺序。如果你写过那
些平面程序就会发现,一旦程序规模变大,变量来回出现几次就很容易出问题。所以古
代程序那些 call, goto 现在基本都不用了。
ori
【在 q**j 的大作中提到】 : 我承认我很老土,从来都是process oriented programming。现在在看一些obejct ori : tented 的书。可是我不论怎么想,觉得没有什么本质区别。请高手给解释一下好吗?
|
d*******d 发帖数: 2050 | 9 oop更符合人认识世界和与世界互动的自然模式。
【在 q**j 的大作中提到】 : 我承认我很老土,从来都是process oriented programming。现在在看一些obejct ori : tented 的书。可是我不论怎么想,觉得没有什么本质区别。请高手给解释一下好吗?
|
z******a 发帖数: 5381 | |
|
|
l******c 发帖数: 2555 | 11 fen keng
【在 z******a 的大作中提到】 : 这是一个坑,可惜你们都没看出来。呵呵呵
|
q**j 发帖数: 10612 | 12 没有挖坑,我是认真问问题的。
【在 l******c 的大作中提到】 : fen keng
|
x***m 发帖数: 1733 | 13 More manageable at modeling the world. if 100,000 lines is limit of your
mind to master process language, OOP, you can manage 1000,000 lines
【在 q**j 的大作中提到】 : 没有挖坑,我是认真问问题的。
|
c*****e 发帖数: 3226 | 14 oop都过时了,你还活在上上时代。现在流行的是function programming + oo。
硅公淘汰的太快了。
ori
【在 q**j 的大作中提到】 : 我承认我很老土,从来都是process oriented programming。现在在看一些obejct ori : tented 的书。可是我不论怎么想,觉得没有什么本质区别。请高手给解释一下好吗?
|
z******a 发帖数: 5381 | 15 求科普一下function programming + oo的核心精神是神马
【在 c*****e 的大作中提到】 : oop都过时了,你还活在上上时代。现在流行的是function programming + oo。 : 硅公淘汰的太快了。 : : ori
|
g*********e 发帖数: 14401 | 16 核心精神就是让编程从写machine code成为普通人也能干的活 |
n******h 发帖数: 2482 | 17 Go functional if you will. All respect if you are a master of lisp/scheme/
whatsoever.
Mixing functional with OO, however, blows up my mind.
Buzzword-listing doesn't make someone fashionable.
【在 c*****e 的大作中提到】 : oop都过时了,你还活在上上时代。现在流行的是function programming + oo。 : 硅公淘汰的太快了。 : : ori
|
M*****R 发帖数: 650 | 18 My understanding is that OOP gained popularity because it appeals to data-
centric applications, in particular if the data you are dealing with are
chunks of logically related information. Most business applications fall
into this category, they deal with business data (transactions, address
books, etc) that can be easily separated into entities that are logically
related (objects and relations) and categorized (object hierarchy)
OOP, and databases, they reinforce each other's popularity in last 20 years.
On the other hand, if you are dealing with application that is highly
process-driven, rather than evolving around a certain piece of logic
information, structured programming is sufficient in many cases. Socket
programming is an example.
Nowadays, people care a lot about scalability, and contrary to traditional
MPP thinking, due to the architectural limit of data storage, scalability is
now all about keep computation and data as close as possible. This lead to
the popularity in functional programming: lambda expression in C++/Java/C#,
Scala, Erlang, etc.
ori
【在 q**j 的大作中提到】 : 我承认我很老土,从来都是process oriented programming。现在在看一些obejct ori : tented 的书。可是我不论怎么想,觉得没有什么本质区别。请高手给解释一下好吗?
|
c****f 发帖数: 1102 | 19 很简单 对比ruby和perl就知道了
一个初级perl程序员写出来的代码 需要一个高级perl程序员去维护
一个初级ruby程序员写出来的代码 懂点ruby的都可以去修修补补
都是在有注释的情况下 |
s**********n 发帖数: 2343 | 20 就是纯粹的忽悠。
面向进程,面向对象,面向功能,。。。面向哪儿还不就是那么几行01010011。
ori
【在 q**j 的大作中提到】 : 我承认我很老土,从来都是process oriented programming。现在在看一些obejct ori : tented 的书。可是我不论怎么想,觉得没有什么本质区别。请高手给解释一下好吗?
|
|
|
q**j 发帖数: 10612 | 21 这个没有关系吧。python完全可以写成process drive or object driven,都很容易看
懂。你这个例子是perl比较难看懂而已。
【在 c****f 的大作中提到】 : 很简单 对比ruby和perl就知道了 : 一个初级perl程序员写出来的代码 需要一个高级perl程序员去维护 : 一个初级ruby程序员写出来的代码 懂点ruby的都可以去修修补补 : 都是在有注释的情况下
|
r******l 发帖数: 10760 | 22 程序变慢是有可能,但是现在编译器都优化得很好了,应该不会变慢多少。但是程序开
发和维护的难度大大降低了啊。
如果真的是十分注重运行速度,那还是直接上汇编吧。
【在 q**j 的大作中提到】 : 不是很明白。是不是就是变量和函数多了的时候容易分得清楚一些? : 可是吧这些东西都放在内存里面是不是会慢一些?
|
c*****e 发帖数: 3226 | 23 python 就是典型的oo + function program 的混合体。流行的技术不会只是buzzword
而已。你要不去找几个热门的start-up看看。
【在 n******h 的大作中提到】 : Go functional if you will. All respect if you are a master of lisp/scheme/ : whatsoever. : Mixing functional with OO, however, blows up my mind. : Buzzword-listing doesn't make someone fashionable.
|
c*****e 发帖数: 3226 | 24 well said.还有那几个好的function languages开发起来速度快,而且非常灵活,不要
再纠结synchronization 保护,内存leak,进程管理。比如scalar, erlang
years.
【在 M*****R 的大作中提到】 : My understanding is that OOP gained popularity because it appeals to data- : centric applications, in particular if the data you are dealing with are : chunks of logically related information. Most business applications fall : into this category, they deal with business data (transactions, address : books, etc) that can be easily separated into entities that are logically : related (objects and relations) and categorized (object hierarchy) : OOP, and databases, they reinforce each other's popularity in last 20 years. : On the other hand, if you are dealing with application that is highly : process-driven, rather than evolving around a certain piece of logic : information, structured programming is sufficient in many cases. Socket
|
s*******e 发帖数: 4188 | 25 Could you elaborate on "scalability is now all about keep computation and
data as close as possible"?
years.
【在 M*****R 的大作中提到】 : My understanding is that OOP gained popularity because it appeals to data- : centric applications, in particular if the data you are dealing with are : chunks of logically related information. Most business applications fall : into this category, they deal with business data (transactions, address : books, etc) that can be easily separated into entities that are logically : related (objects and relations) and categorized (object hierarchy) : OOP, and databases, they reinforce each other's popularity in last 20 years. : On the other hand, if you are dealing with application that is highly : process-driven, rather than evolving around a certain piece of logic : information, structured programming is sufficient in many cases. Socket
|
b*****e 发帖数: 131 | 26 个人认为:OOP是一种更好的建模方式。
把需要解决的问题拆分成对象,要比拆分成函数更简单,更直观,更容易理解,更不易
出错。从而带来开发效率和维护效率的极大提高。 |