请教python有什么用啊?



QUOTE:
原帖由 limodou 于 2006-8-1 21:40 发表
谁说python的精髓在FP,python并不是一个FP编程语言,它的确有FP的一些功能,但你完全可以不用。曾经在python3000中甚至要把lambda去掉,但有许多人反对,因此保留了。去掉的原因就是它还是不够清晰,虽然它很方便 ...

窝猜你肯定是一个webber, 做MIS的人是无法体会。 对于处理逻辑,计算逻辑复杂的系统, 面向对象是渣,FP才是王道。 当然python尽可能的全面支持所有的编程方式。 还有lambda跟FP有关系但是没啥必然关系
不敢苟同啊。

无论是FP,还是面向对象,还是面向过程都有其自身的适用范围。没有什么所谓的“王道”。请问C语言算什么,它没有面向对象,也没有FP,不是一样用得广嘛,unix就是用它写的。FP的好处就是描述算法。但并不是编程就是为了描述算法。编程的范围很广啊。对于文本处理,图像处理,网络处理,数据库等许多领域来说,FP的用处不大。用不用FP一方面看个人的喜好,另一方面要看要处理的问题。至于我是否是一个webber,跟这个问题有什么关系。而且和做MIS有什么关系。对于不同的问题领域采用不同的方式方面才是正途,但也不能说在这处这个问题上用不上它就是“渣”,用上了就不是“渣”。你的主观臆断也太强烈了,而且你并没有举出你的理由。为什么复杂了,面向对象就不行了,FP就行了。而且面向对象是许多人发展起来的,也是大家广泛采用的方法。你可以认为不好,但它并不以你我的意志就说好,还是不好。不管怎么样,在我的编程中能用就用,不管别人有什么评论。

lambda就是从lisp中借鉴过来的,我也并没有说有必然的关系。只是说明FP在python虽然有应用,但完全可以不用。对于这样的东西,怎么能说是精髓呢。而我认为精髓是精华应该是无可替代的。但许多python中的FP方法都可以通过别的方式替换,甚至你完全可以不知道python中有FP的功能。因此它并不是必须的。

也许python的精髓在于它的pythonic的思想。

import this


QUOTE:
原帖由 zengjin8310 于 2006-8-1 19:45 发表
python的精髓在于FP, 不是什么P面向对象

我不太清楚你对 FP 的理解是什么,
Python 里面的 FP 语法真的不多。
只有那么一点点。

如果你非常喜欢 FP 的话,
可以就 Haskell/Lisp/Perl6 来发挥一下,而不是用 Python。
支持 limudou 的意见。
Python 中的 FP 是可有可无的。绝对不是什么精髓。


QUOTE:
原帖由 limodou 于 2006-8-2 08:56 发表
不敢苟同啊。

无论是FP,还是面向对象,还是面向过程都有其自身的适用范围。没有什么所谓的“王道”。请问C语言算什么,它没有面向对象,也没有FP,不是一样用得广嘛,unix就是用它写的。FP的好处就是描述算法 ...

窝索FP是王道的时候加了限定条件咧。
做MIS面向对象当然更好。
FP强项是处理逻辑的描述, 并不仅是算法

你可以试着改写一个处理逻辑复杂的系统, 用webber的话就是业务逻辑负责的系统(不是流程复杂), 你就可以体会一下FP的强项

另,并不是好的东西就能成为主流的……
别光说啊,举个例子说明一下。你所说的处理逻辑是个什么样?用python的FP又是什么样。

不管怎么说python只是支持FP的一些用法,但可以通过其它的方式来替换,并不是非用不可。再有你的措辞,什么“渣”之类的。也许如你所说的“处理逻辑”可能面向对象并不好(目前我还不清楚到底哪里不好,你没有说清楚),但只可能只是不适用,那你完全可以不用,也不必说它是个“渣”吧。

至于主流什么的,我并不在意,我只用我喜欢,适合我的。而好的东西能否成为主流也不是一个人说了就算的。“并不是好的东西就能成为主流的”这句话不错,但等于没说。


QUOTE:
原帖由 flw 于 2006-8-2 10:19 发表

我不太清楚你对 FP 的理解是什么,
Python 里面的 FP 语法真的不多。
只有那么一点点。

如果你非常喜欢 FP 的话,
可以就 Haskell/Lisp/Perl6 来发挥一下,而不是用 Python。

Lisp也不是纯FP语言,Perl6更不用说, 不过对FP表达上的确比python有很多强的地方, hashkell这种纯FP语言窝是用不习惯滴, 写成序不仅仅是处理逻辑啊, 多种编程方法都要结合, 所以python是非常合适的选择

Google为啥写出如此强的程序? 不管是web还是分布式计算方面, 这主要是FP的作用
PS. javascript做FP的话, 写的web程序会更好, google很大一部分就是这么做的



QUOTE:
原帖由 limodou 于 2006-8-2 10:42 发表
别光说啊,举个例子说明一下。你所说的处理逻辑是个什么样?用python的FP又是什么样。

不管怎么说python只是支持FP的一些用法,但可以通过其它的方式来替换,并不是非用不可。再有你的措辞,什么“渣”之类的。 ...

你没有发现面向对象在这方面的弱点, 只能说明你碰到的处理逻辑不够复杂……

PS. 窝也用面向对象, 仅仅是MIS系统, 数据处理系统我都用FP, 窝说是渣仅仅指在复杂处理逻辑……


QUOTE:
原帖由 flw 于 2006-8-2 10:20 发表
支持 limudou 的意见。
Python 中的 FP 是可有可无的。绝对不是什么精髓。

Python比较好的支持FP而已, 怎么能说有FP呢?

如果不能用python做FP, 最先倒闭的公司恐怕是Google……
如果lisp不算纯的FP,那python就更不是了。既然不是,说明你做的东西可以是FP的,也可以不是FP的。而且你所说的FP的处理,举个例子让我看一下,说了半天也不明白你是怎么在Python中FP的。而且面向对象一般是指整个系统的设计方式是采用对象编程的,在具体的细节处理仍然需要使用过程方法,如果原意也可以使用FP的方式。我所了解的FP只是在局部使用。全局范围内如何运用FP?

google的东西我是没机会看到,无法判定它的程序强就是因为使用了FP的缘故,你有什么东西可以证明吗?javascript一样是面向对象的。FP也象python一样只是其中一部分。用上它有些地方处理是方便,不用它一样可以实现。怎么用,用什么,看个人的理解能力和使用习惯。