Python论坛  - 讨论区

标题:[zeuux-py:186] Re: [CPyUG:110368] Re: 关于Pythonic哲学的一点思考

2009年11月26日 星期四 00:27

Zoom.Quiet zoom.quiet在gmail.com
星期四 十一月 26 00:27:12 CST 2009

2009/11/25 xrfang <xrfang在gmail.com>:
> 我同意Pythonic==大道至简的观点。而我对“大道至简”的理解是老子说的:为学日益,为道日损,损之又损,以至于无为。
>
很高兴有人对 Pythonic 的定义进行校真哈!

...
> 不是学术(道),而是工程(术)。比如python语言很简练,但python编译器却非常的复杂。这就是一个道、一个术。
嗯嗯嗯,这个逻辑很通...

...
> 约、函数式编程、MVC(或用Django术语称为MTV)等等这些”paradigm“(见仁见智,自己选了)。而框架是什么?是根据这些“道”发展
> 出来的“偷懒”的方法。一般来说,99.9%的框架使用者对框架的理解都不及框架的原设计者,其原因,一则可能是水平问题,但更重要的是,框架的创建者
> 是“七十从心所欲而不逾矩”,就是说,对道的理解已经到了非常高的水平,以至于写出来的框架能够随心所欲,使用的时候能够“人剑合一”

这里我有点体会:
- 外衍越小,内涵越大!
  - 好比数字0 和 3.1415926....
  - 0 的外衍极有限,但是可以拿来作N多事儿和比喻以及代言
  - 而 π 外衍极大,但是其含义和意义,以及作用就唯一了
对于框架,所有框架,都是创造者在过住经验中总结出来的决策集凝结成的一种禁止随心所欲的围墙;
web.py/CherryPy 一樣有限制,只是限制少到感觉不出来;
导致的结果是:
- 限制非常少的框架,意味着最丰富的外衍,开发者可以想作什么就作什么;从而在实际应用开发中,要面对一切决策:
    ? 用session,怎么实现/借用/引入?简单的?面向文件的?JSON的?DB的?
    ? 用ORM:怎么实现/借用/引入?简单的?面向MySQL only的?主流DB的?
    ...
- 限制非常多的框架(当然同时也得对应的给出相应的丰富内置功能),开发者必须理解框架的意识,在框架的意识允许领域中进行创造;
    但是,不用再面对一切决策了;
    框架已經事先作好了各种层面的决策,而且通过这些预设的决策,将整个基于自个儿开发出来的应用可以照顾的很好;
    开发者,反而可以集中精力用对象/过程/算法,在限制的框架中,实现功能,完成需求;
    反而,容易快速创造出想作的应用来...

这也好比男女交往没有什么限制的现在,大家都有N多选择,反而无从选择,导致离婚不育比较的升高;
反而在古代,重重限制中,有那么多美好的爱情故事和诗歌出现 ;-)
...
> 我1996年毕业就从程序员做起,杂七杂八用了很多语言、“框架”,真的是感觉到完全没必要再多一个框架了。这个世界是自由的,框架的诞生是由框架主自
> 由意志的决定。可是,旁人有没有必要去跟风?这是一个严重的问题。OK你说你拿Django当饭吃,我没话说,但是,任何人都不能说Django就比

是否跟风,和意志无关,多数是从成本考虑的:
- 一个契合需求,有同类成功案例和代码借鉴的框架,必须给工程的高速交付带来极大的保证
- 同时,也是对不同社区的信心不同的决择而已

>
> 我Ruby相当熟悉,本来不想学Python的,一个偶尔机会,学了一会,不巧就会了。一会,就去查查能否用Python写web程序,不巧就找到了
> webpy(在此过程中#python有很多大师级python用户介绍我看看Pylons和web2py,说webpy不好云云),不巧又学会了。于
> 是我心血来潮就喜欢上它了。

咔咔咔,原来如比,祝贺你被 Pythonic 了 ;-)

> "Django lets you write web apps in Django. TurboGears lets you write
> web apps in TurboGears. Web.py lets you write web apps in Python."
> - Adam Atlas

非常非常精妙的解释,这的确是用 web.py/CherryPy 的感觉;
但是,好比建水利工程,以前中国真的是用人堆出来的,现在是一堆专用机械快速批量建造了;
- 用 web.py 或是纯Python 我们一样可以创建各种 web 应用,但是,要堆大量的时间和精力来原创出所有功能来应对实现过程中遇见的需求;
- 用其它有很 术 的框架,却是在忍受了限制的同时,可以复用社区积累出来的大量稳定的模块来直接支持相关常见需求;

那种爽,的确是个人体验,
不过,就公司行为,一定是从会计角度进行重点分析的 ;-(



-- 
http://zoomquiet.org 人生苦短? Pythonic!
金山常年招聘Py/C++人才! http://bit.ly/UoTV 简历直投俺就成;-)

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号