--
I like python!
UliPad <<The Python Editor>>: http://wiki.woodpecker.org.cn/moin/UliPad
My Blog: http://www.donews.net/limodou
--
Yours, Zhongke Chen 陈忠克
欢迎访问温州本地Linux论坛:http://groups.google.com/group/linux-wz
请用czk19...@gmail.com与我联系,本人其它的邮箱已不再使用。如果要发word/excel/ppt文件给我,请先转成PDF格式。谢谢!PLEASE
contact me using czk19...@gmail.com from now on. Other mail boxes
have been deprecated. If you want to attach word/excel/powerpoint
files for me, PLEASE convert them to pdf. Thanks a lot.
如果用过matlab,就会感觉matlab比Python功能强大的多。
只是matlab仅仅用在工业控制和计算领域,即矩阵计算。
下面是matlab的一段程序
> x = [1 2 3];
> x(:)
[1 2 3]
>x * 2
[2 4 6]
总之,思想很象,具体实现有一些差异。
我的意思是,要是让matlab干Python的事情,简直很容易。
另外,毕竟是80年代的东西,matlab中没有import库的概念,而是toolbox,就工具箱。
Python毕竟是新东西,吸收了很多最新的编程语言技术。
我现在想来,Python一定是吸取了matlab的思想,同时发明人定然非常熟悉matlab。
不知实际情况如何,真想给Guido van
Rossum发封邮件问问。
呵呵。
matlab一开始不支持面向对象,最近支持的。
呵呵,这种猜测是有意义的。我们可以研究它发展和吸收了哪些思想,从而将以前学过的
语言知识进行一次归纳和总结。
我例举的相似性的确很少,那只是简单的几点。
实际上,大家如果学过matlab,不要说词典啦,对于matlab简直是小case。因为它操作的对象
是矩阵。
记得有一本刊物上说,建议程序员每年学习一门语言,这样可以吸收编程语言最新的技术。
我觉得有必要,所有经常比较语言发展的历史。
真要到了一年学一种语言,我想这个人除了学语言干不了什么事了。而且也无法深入下去。学得越多更容易混淆。我经常还敲错 dir 和
ls呢?而且为了学语言而学语言,感觉没有多大意义。
Python里面有词典,那是个什么东东?C++/Java里面叫做Hashtable。它叫做词典,就是
名词新一些。为什么呢?因为这样更加贴近现实,而Hashtable这种名词很晦涩,因此引入
词典一词是Python的成功之处。
你要说matlab没有词典,也对,好多语言都没有。可是matlab处理词典这样的事情,跟Python
没有任何区别啊。
> h.(['John') = 10
了解一下新语言的特点,对跟踪技术,对编写程序还是有好处的。
没有,我也只是讨论。
我反正不懂matlab。而且我也很少比较不同的语言。
哈哈,终于有人比较正视这个问题了。
我基本可以肯定Python采纳了MATLAB的一些技术特点啦。
请看Python的license中的Copyright申明:
Stichting Mathematisch Centrum, 1991-1995
注意是数学中心哦,要知道在国外,数学中心不会MATLAB的人是不可能有的。
语言的相互借鉴是很正常的,但未必因为matlab有,就是从matlab中学来的吧。而且到底是不是要去问Guido了,猜来猜去的没有多大的意思。而且我丝毫看不出,比较出什么东西来了。是为了证明什么呢?就是证明了python学了matlab有什么关系呢?是不是意味着你可以只学matlab而不是学python呢?还是为了证明python学了matlab从而python的用处更大?
当然,如果你只是出于好奇,可以不理会我这封邮件。反而不是学术研究,不必当真。我只是觉得这种话题与讨论哪种语言更好是一个性质而已。
你说的有些道理。
那么好啦,我们回到正题。
其实Python技术特点也就是格式和面向对象方面做了一些改进。
当然,发展都是站在别人的肩膀上的,这是无可厚非的。
而其所谓的动态面向对象技术,并没有甚么新鲜东西,MATLAB就是完全动态的。
而其所谓词典也只是数据结构名词的通俗化。
PowerBuilder也有词典吧。
所以,今后语言发展的方向是可读性强,面向对象,编程更简单等等。
兄弟,赌气是没有必要的,学语言也不是为了爱它,而是为了混碗饭吃。
每年,全世界有几十种新的语言诞生,我们知道的是那些比较成功的语言。
其实,不成功的语言,难道说不好嘛?
就像天下文章一大抄一样,语言也是你踩死我,他踩死你。
我倒觉得,成功的语言有一个方面就是宣传的比较厉害,比如到处的JAVA,人们就是
奔着它跨平台去的。事实上,JAVA跨平台也存在一些个问题,这些都是技术口号所淹没
的层面。
Python为什么比较成功?还不是它宣传的什么词典、动态面向对象嘛。
我的意思其实很简单,这些只是口号,真正的目的是要做欧洲成功的语言。
你想证明这一点是为了让别人学matlab,还是想做什么?与哪种语言更好的讨论有何区别。
看来我是在浪费时间了。些主题我决定不再回复。而且我看到你不仅在这里讨论这个问题,还在英文的邮件列表讨论这个问题。看来你的兴趣很大呀。我不陪你玩了。搞python去了。
好。从你的理解我是不是可以认为:你认为matlab的功能与python一样强大。那好,你完全可以继续使用matlab做你的事情。而我可以继续使用python做我的事情。反正我是不会去用matlab的。
Over six years ago, in December 1989, I was looking for a "hobby"
programming project that would keep me occupied during the week around
Christmas. My office (a government-run research lab in Amsterdam)
would be closed, but I had a home computer, and not much else on my
hands. I decided to write an interpreter for the new scripting
language I had been thinking about lately: a descendant of ABC that
would appeal to Unix/C hackers. I chose Python as a working title for
the project, being in a slightly irreverent mood (and a big fan of
Monty Python's Flying Circus).
"""
这是我所预料到的,他爱自己正在用的语言,我说了它的不是,当然心里有些想法。
正常的,也是我很尊敬他的原因。
>
> to Allen :
> 其实你比较的这些东西:字典,动态。。,都是些很基本的东西,有字典的语言随便数数一大堆(好像所有语言都有!),动态嘛,自然是动态语言都有了。
> 我们爱 python 不仅仅是因为它有字典和动态,python 还有太多太多可爱之处,等待你去发现 ;-)
> 虽然我不懂matlab,不过我相信matlab肯定也会有它吸引人的东西,而那些东西肯定不仅仅是字典和动态这么简单。
> 我也认为语言之间的比较是有意义的,不过总停留在字典和动态的层面上就没意思了。如果你可以说说matlab真正闪光的地方,我想会有多一些人愿意听。
>
其实,我正在用的语言不是Python,而是C/C++/JAVA。我学习Python的原因,也就是想跟踪Python的一些新技术,使自己不至于成为聋子和瞎子。而所谓的Matlab,那只不过是我研究生的时候用过的东西,MATLAB语言其实没有什么,它比较过人的地方就是矩阵计算,我天天用它就是要仿真计算,验证我的算法。我看了几天Python(请恕我在此耍大刀),感觉它所谓的动态技术,根本不能成为它的亮点。据我所知,Python是不断发展的。所以我认为好的语言、成功的语言需要的是象limodou这样的同志去爱。而我只是为了生活,老板说,明天上JAVA项目,我们就买本JAVA书开始做起来。把这些看穿了,学起来不至于那么吃力。
也不会因为接手新的东西,感到茫然。
谢谢大家的讨论。
我很愿意听到你们说Python的好处。
python 有一個對應 matlab 的庫叫 matplotlib,
刻意使用類似 matlab 的語法, 拿來計算, 畫圖都很讚,
也許還不及商業版的 matlab,
但您可以從這裡入手來瞭解 python 語言.
就像代碼大全(Code Complete)書裡講的, 新的隱喻(metaphor)
可以幫助我們透過已知事物的特性來瞭解新的東西,
matlab 裡的功能 c 甚至組語也可以做到,
但為甚麼很多人會要用高階語言來做? 因為用 matlab
能更快更方便地完成工作.
骨子裡是同樣的東西, 但學習/使用 python
字典花的時間比起學 hash 來相差不可道里記,
這就是進步的地方囉.
我很愿意听到你们说Python的好处。
上面那个用繁体字的兄弟很客观,他的知识面较宽,此之谓跳出了这个圈子,见解自然独到。
个人感觉,学习东西的方法很多,其中我喜欢的方法是讨论和比较,这样可以激起自己的兴趣。
回到正题。既然Python强调可读性,为什么内嵌的属性__name__,__doc__要用双下划线呢?这个可读性很差的。
既然Python强调可读性,为什么内嵌的属性__name__,__doc__要用双下划线呢?这个可读性很差的。
你说的很有道理,对我启发很大。
先前的软件基本都是这个模式,一个命令窗口,一个脚本语言。
这使我对Python有了重新的认识,并且就像机械行业的标准化一样,软件行业的工具平台、脚本语言等最终走向标准化,各行各业努力的方向是各自的业务流程,而不是工具。一个个能够独立开来的部件渐渐象冰山融裂一样,过多表面的、冗肿的东西逐渐被剥离,显现出来的将是核心部件。
这个帖子讨论的结果,真的是超乎想象了。
b =
2
>> [1 2 3](2)
??? [1 2 3](2)
|
Error: Missing operator, comma, or semicolon.
天天比较语言,有什么意思。看语言就像找女朋友,只要看她是不是你爱的那种类型就行了。难道你天天换女朋友,然后时不时比较各个女朋友之间的优缺点?
只要是语言,只看表面大家看起来都是差不多的,没有比较的必要。
天天比较语言,有什么意思。看语言就像找女朋友,只要看她是不是你爱的那种类型就行了。难道你天天换女朋友,然后时不时比较各个女朋友之间的优缺点?
On 12/10/06, ehu4ever <ehu...@gmail.com> wrote:
>
> http://groups.google.com/group/comp.lang.python/browse_thread/thread/e4c2b77517997645*
>
>
--
==========================================================
A student of Math in Soochow University in China.
Interested in Math, Python, Octave, Lisp, Maxima, Prolog and .NET/MONO.
HomePage: http://hoxide.googlepages.com
Blog: http://blog.sina.com.cn/blog/1142604745
http://www.cublog.cn/u/2015/
http://spaces.msn.com/hoxide
Mathblog: http://hi.baidu.com/hoxide
Wiki: http://wiki.woodpecker.org.cn/moin/Hoxide
douban: http://www.douban.com/people/hoxide