2005年07月12日 星期二 17:35
当你把高版本的环境下写出的代码拿回到低版本环境时,兼容性问题就会很突出了,一个是加入扩展库,一个是修改对象的结构,哪个更容易些显而易见。 string的对象化有其特殊性,如效率优化等,对于数值这种传统上的轻量级类型未必适合。如果说函数绑定到对象是大势所趋,那C++的STL、 Boost、C#2.0的匿名委托,Java1.5的静态方法混入又怎么说?这实际上都是对重型OO的一种反思。 在05-7-12,shhgs <shhgs.efhilt at gmail.com> 写道: > > 青菜萝卜,个人喜欢。 > > 不过我想指出,扩充接口并不会影响语言的兼容性,缩减接口才会。 > > 我认为把函数bound到对象上是大势所趋。Python 1.5.2的string并没有split, > lower等方法,当时也要用string.split(s)或者string.lower(s)。既然string可以,为什么int不可以呢? > > 顺便说一下,Python 3000的range是返回iterator的,而string模块将被取消。 > > On 7/12/05, March Liu <march.liu at gmail.com> wrote: > > > 这方面我和limodou的看法比较接近,语法还是简单些好。过度OO和没有OO一样不是什么好事情。就像3000里计划取消一些函数化功能,我一开始不理解,后来读了一些相关的资料,感觉这样反而可以用更优雅易懂,更Python化的方式实现。我将这个观点拿到IronPython社区讨论时,也得到了 > > Jim Hugunin > > > 的支持。比如现在我们固定了int的内置方法,以后发现有其它的,也是针对int的操作,那是不是要加进来?如果这样扩充下去,新旧版本的Python又会出现比较大的不兼容,而现在这样,对一些通用操作以函数单独处理,就不存在这个问题,因为对象和对象的非关键性操作(比如这里提到的迭代算法, > > > Python的标准做法是range/xrange)是正交分离的,这才是动态语言的魅力之处。如果把算法也看成对象(Python中正是这样),那这种模式更为OO化,而且抽象的更彻底。如果你和STL的作者一样,认为"这个世界不是完全面向对象的,算法就不是对象",那也没问题,他老人家本来就是纯 > > OO理论的反对者…… > > ruby为了避免这类问题,采用了一种开放的对象模型。它的对象可以动态扩充,比Python的还要灵活,这种风格我个人感觉还是很漂亮的,可以说是 > > > ruby的亮点之一。不过每种语言都有自己的个性之处,如果拿到Python中来,感觉和Python现有的这种"数据与算法正交分离"的风格不太一致,当然Python是一种很开放的语言,我想在我们需要的场合,用Python实现这样的技术并不困难。至于纳入标准,我还是持保守态度。 > > > > 在05-7-12,shhgs <shhgs.efhilt at gmail.com > 写道: > > > 看过了 > > > > > > 这个ERP感觉还是很漂亮的。不过这种应用类的产品对技术的影响不会很大,倒是可以宣传一下Python的强大。 > > > > > > > > 其次和limodou商榷一下。3.times绝对是一个很好的语法。3是一个对象,这个对象有一个方法叫times,这个方法可以返回一个 > > iterator。这些东西Python都有,不过没有整合而已。如果Integer也能subclass,用Python实现也应该没什么难度。 > > Ruby里面所有的东西都是对象,而Python的int,float还不能算Python语言的对象。我觉得有可能Python > > > > > > > > > 3000会把Integer,float这类primitive都做成对象。string在1.5.2的时候就不是对象,很多string的方法,当时都得调用string类的函数处理。那么integer会不会步string的后尘呢? > > > > > > On 7/12/05, limodou < limodou at gmail.com> wrote: > > > > ror只是一个快速开发web的一个框架,与erp不是一个概念的东西吧。 > > > > > > > > 在 05-7-12,清风<paradise.qingfeng at gmail.com> 写道: > > > > > http://www.erp5.org/ > > > > > 相当于一个erp的基础设施,还提供了很多商业逻辑模版,我觉得应该比ROR有前途的多:) > > > > > > > > > > 2005/7/12, shhgs <shhgs.efhilt at gmail.com>: > > > > > > 我就觉得ruby有一点挺让我眼热的。 > > > > > > > > > > > > 3.times do |i| > > > > > > puts i > > > > > > end > > > > > > > > > > > > 如果python也能写 > > > > > > for i in 3.times() : > > > > > > print i > > > > > > > > > > > > 那就完美了。 > > > > > > > > > > > > 我对RoR并不看好,完全同意清风的观点-- "其实我觉得ROR只是简化了最基本的crud而已"。 > > > > > > > > > > > > 只是有点不明白,Python怎么有多出一个ERP5了。这是什么应用? > > > > > > > > > > > > > > > > > > On 7/12/05, Qiangning Hong <hongqn at gmail.com> wrote: > > > > > > > shhgs wrote: > > > > > > > > 前两天有一个哥们要一个统计一个文章里有几个单词的程序,我写了一段。 > > > > > > > > > > > > > > > > ARGV.each do |filename| > > > > > > > > words = 0 > > > > > > > > File.new(filename).each {|line| words += > > line.split.length } > > > > > > > > puts words.to_s + "\t\t" + filename > > > > > > > > end > > > > > > > > > > > > > > 翻译成python,呵呵: > > > > > > > > > > > > > > import sys > > > > > > > > > > > > > > for filename in sys.argv[1:]: > > > > > > > words = 0 > > > > > > > for line in file(filename): > > > > > > > words += len( line.split()) > > > > > > > print words, filename > > > > > > > > > > > > > > > > > > > > > 或者变态一点: > > > > > > > > > > > > > > for filename in sys.argv[1:]: > > > > > > > print sum(len( line.split()) for line in file(filename)), > > filename > > > > > > > > > > > > > > 呵呵,python的list/generator comprehensions还是很handy的。 > > > > > > > > > > > > > > > > > > > > > > 显示的内容类似wc命令,不过只显示word > > > > > > > > > > > > > > wc -w 就可以显示word数。 > > > > > > > > > > > > > > > > > > > > > > > > Ruby是一门很不错的语言,不比Python差。但是它的社区实力比较弱,类库有点单薄,而且类似CPAN式的类库也有点乱糟糟。 > > > > > > > > > > > > > > 同意。 > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > Qiangning Hong > > > > > > > > > > > > > > I'm usually annoyed by IDEs because, for instance, they don't > use > > VIM > > > > > > > as an editor. Since I'm hooked to that, all IDEs I've used so > far > > have > > > > > > > failed to impress me. > > > > > > > -- Sybren Stuvel @ c.l.python > > > > > > > > > > > > > > Get Firefox! > > > > > > > > > <http://www.spreadfirefox.com/?q=affiliates&id=67907&t=1> > > > > > > > _______________________________________________ > > > > > > > python-chinese list > > > > > > > python-chinese at lists.python.cn > > > > > > > http://python.cn/mailman/listinfo/python-chinese > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > python-chinese list > > > > > > python-chinese at lists.python.cn > > > > > > http://python.cn/mailman/listinfo/python-chinese > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > Blog:http://www.donews.net/changzheng > > > > > > > > > > _______________________________________________ > > > > > python-chinese list > > > > > python-chinese at lists.python.cn > > > > > http://python.cn/mailman/listinfo/python-chinese > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > I like python! > > > > My Donews Blog: http://www.donews.net/limodou > > > > New Google Maillist: > > http://groups-beta.google.com/group/python-cn > > > > > > > > _______________________________________________ > > > > python-chinese list > > > > python-chinese at lists.python.cn > > > > http://python.cn/mailman/listinfo/python-chinese > > > > > > > > > > > > > > > > > > _______________________________________________ > > > python-chinese list > > > python-chinese at lists.python.cn > > > http://python.cn/mailman/listinfo/python-chinese > > > > > > > > > > > > > > > > > -- > > 欢迎访问: > > http://blog.csdn.net/ccat > > > > 刘鑫 > > March.Liu > > > -- 欢迎访问: http://blog.csdn.net/ccat 刘鑫 March.Liu -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050712/97b65445/attachment.htm
Zeuux © 2025
京ICP备05028076号