maple比mathematica好的一个地方
maple定义子函数的时候,默认的把所有的变量弄成局部变量,而mathematica却把默认的变量弄成全局变量(除非你指明是局部变量!)
所以我觉得这是maple好的地方 maple的处理方式与mathematica是一致的 本想把这个也移动到回收站。但感觉倒是可以作为反面材料的:
楼主自己Mathematica用的不精,却妄出狂言,难道不怕误人子弟?
默认的设置都可以修改的:
2# mathematica
上面的是输入错误!
maple与matlab一致,而不是mathematica!!!! 本帖最后由 mathematica 于 2012-9-4 11:25 编辑
3# wayne
谁妄出狂言呢?明明是你没看清楚我写的内容。
我明明说的是定义子函数,你却搞的是一个notebook管一片变量!
又说要把别人当成反面教材,还说啥误人子弟,有你这么说话的吗? 我先保留几天再移动到回收站吧
给楼主一点缓冲时间 5# mathematica
我是标题党,一看这种主题就知道楼主太嫩,欠揍,所以我也没细看。
楼主的意思其实就是函数的封装性。这个跟软件是没关系的,由程序员自己实现。只有垃圾的程序员在设计函数时才会引用大量的全局变量。
===============
几乎所有的编程语言,默认情况下,在用户自定义的函数里面都是可以读取外部变量的,这是因为编程语言的设计者往往要留给程序员尽可能多的编程自由。
而作为一个合格的程序员,恰恰相反,自己在定义函数时,要清楚高内聚,低耦合这个一般性的准则。
============== maple也好,Mathematica也罢,比来比去的,却不考虑设计者的思路是很没头脑的。
软件就好比人一样,都是有个性特征的,有出身背景,有设计需求,有目标用户。
每一个细节的设计都是有它独特的考量,
我们这些用户应该多去想想,这些细节这么设计出于什么考虑,
而不是对比其他软件,草率下结论,所以我才说你妄言。 7# wayne
function ab=fun(a,b)
c=a+b;
ab=c;
end
这个是matlab写的子函数,当中的中间变量c,
如果不指明是全局变量,那么都是局部变量,
但是mathematica如果不指明是局部变量,那么全是全局变量,
如果中间变量很多,那么特别麻烦!
maple的处理方式与matlab相同。 7# wayne
不和你讨论了,反正我不喜欢mathematica那种一个一个指明局部变量的方式,
我喜欢matlab与maple那种,默认全部是局部变量,需要的话,就指明是全局变量!
页:
[1]
2