有人读过Roman Maeder的《Programming in Mathematica》吗?它对WM8的用户有用还是过时?请对这本旧书给我一些评价。
它仍然是关于Mathematica编程的最好的书之一,强调良好的编程风格和实践(选择1996年出版的第3版)。在这里,你可以找到我对这本书的一些更广泛的看法。
请注意,您将在Maeder的书中找到对核心语言的非常优雅的描述,但没有更多的现代添加。关于核心语言,你在找不到的重要内容包括:
- 压缩和稀疏数组
- 集成字符串操作操作
-
Reap
和Sow
- 现代处理方法选择:
OptionsPatern
,OptionValue
,FilterRules
. - Mathematica compiler (
Compile
) - 没有太多关于性能调优的建议(有一些,但这不是很强调)
- 没有太多的调试建议
而且,除了核心语言之外,它没有涵盖1996年之后添加到该语言中的任何内容(包括动态交互性,并行计算-这是具有讽刺意味的,因为这部分是由Maeder开发的,集成功能的新领域,Compile
的新功能等)。
这至少是不令人满意的,没有关于核心语言的新书,甚至没有Wagner和Maeder的书的新版本。三年前,我只读过一次《Programming in Mathematica》,因为我借了它两个星期,但我的纯粹印象是我真的需要这本顶级专家的书。严格地说:它不仅对WM8用户有用,而且我相信m -功能越大,人们就越需要阅读这本经典的书,因为它呈现了纯粹的m -基本原理,而不是处理具体实现的细节,这在今天对于这样一个全面的系统来说仍然更重要。
他(R.Maeder)的另一本《计算机科学与数学》非常好,几乎有12年的历史了,但不是针对M核心的。
我发现Sal Mangano的M Cookbook对于中级读者来说是一本不错的新书,它的缺点是有点混乱,而且它的风格不太便于深入理解。
s.w wagon的第三版Mathematica in Action是一本非常漂亮的书,但更多的是关于Mathematica的应用。有人说每一页都是金子,我也很赞同这个观点。
M.Trott的一本令人印象深刻的四卷书必须在6+版本中更新动态交互功能和其他新功能,但在其网页上可以读到"2008年8月:尽管Mathematica 6版已经发布,更新指南书所花费的时间比预期的要长。所以,新版本不是在2008年夏天发布,而是在2009年的某个时候发布。"到目前为止还没有更新的版本。
考虑到以上所有因素,我发现Leonid Shifrin的书对Mathematica社区是非常需要的,我希望也会有纸质版。
我发现在所有的M-books中,关于模式匹配和基于规则的编程的章节都过于简短,而普遍的观点是,只有掌握了函数式和基于模式的编程,才能充分发挥Mathematica的潜力,这两者甚至值得一篇专著。
如果你决定读Roman的书,你将有一个非常坚实的基础Mathematica。我读了其中的两个(PIM和CSM),喜欢它们的优雅和简洁的风格,无论是在编程还是语言上。我很高兴和Roman一起演讲,我知道很少有人对Mathematica语言有如此深入的理解。罗曼是这种语言的最初设计者之一。我的两分钱。不要走,要跑去拿。