首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Maple中高效编程

在Maple中高效编程
EN

Stack Overflow用户
提问于 2016-06-11 16:10:40
回答 2查看 568关注 0票数 1

我需要一些在Maple中高效编程的技巧(就像在计算机代数软件中一样)。我所说的高效并不是指让我的程序/代码更高效(性能方面),而是更有效地使用Maple代码。这是具有讽刺意味的,但我很喜欢为C/C++等语言编程而开发的软件和工具,例如: IDE、调试工具(手表、断点等)、编译器和语言结构本身(面向对象、更灵活的过程、重载、通过引用或值传递等)。从这个意义上说,我觉得用C/C++ (我使用visual studio)甚至用python这样的脚本语言编程更舒服(不是真正的调试,但我更喜欢控制和纪律工作)。

另一方面,Maple是为数不多的几种我觉得自己没有纪律的语言之一(不知何故,我在其他CAS上也有类似的问题,但可能程度较低)。我尝试简单地处理一些文本文件(大多数人称其为.mpl文件),然后在maple中读取文本文件,然后从maple中加载文本文件,例如read("some.mpl"),这允许我在使用svn或git这样的版本控制时比较我的更改( .mws或其他maple文件格式对版本控制不是很友好)。在运行中,编程可能真的很麻烦,IDE通常需要很长时间来加载,并且感觉非常繁重。因此,我只是用Notepad++编写代码(在windows中工作),并在Notepad++菜单中定制了一个"Run“来调用cmaple (maple的控制台版本),并动态读取我的.mpl文件。这是我采取的几个步骤来帮助我更有效率地工作。但我认为我可以做更多,我会感谢任何提示。举个例子,现在我感觉自己像是maple (不像C、python、java等编程语言)。当一个人有许多过程时,它不能很好地工作。在C/C++或任何类似C的语言中,我几乎可以将我的所有代码作为过程内联并单独调用它们,有时如果你在Maple中这样做,你会得到奇怪的行为。有时,函数和maple命令在过程中的行为也非常不同(例如,当我想要在过程中进行SVD或LU分解时,我就有过这样的经历)。在处理嵌套循环(例如,当你在过程中达到嵌套循环的某一级别时,打印命令的级别不会出现,以及我确信我仍然不知道的其他事情)和许多其他令人恼火的事情长期运行时,也必须小心。

因此,我想我有了一个想法,当在maple中工作时,应该使用什么工具/软件来使编程更容易。但我仍然不知道如何在maple中正确和高效地编程。对于入门的C程序员来说,许多事情在maple中是非常不直观的,甚至是令人讨厌的。在用maple编程时,有没有其他我应该注意的事情(例如,读取另一个.mpl文件中的几个.mpl文件时的异常行为,不同类型的全局/局部变量,保存工作表中的所有变量,maple版本之间的向后兼容性等)。最好也要一本提供这些建议的参考书/书。仅供记录:我已经在maple (认真地)编程超过2年了,我仍然感觉不像我第一次学习用C语言编程时的前6个月那么舒服。

EN

回答 2

Stack Overflow用户

发布于 2016-07-30 12:06:10

如果你正在寻找书面指南,Maple Programming guide可能是目前最好的入门资源(如果你已经在Maple编程几年了,你可能已经超过了它)。它是由Maplesoft发布的,在他们的文档中心是available。我也听说过关于“了解Maple”的好话。

也就是说,你可以从StackExchange上标记为Maple的任何东西中学到更多东西,或者更重要的是从mapleprimes.com上的Maple用户社区中学到更多。您在您的帖子中涵盖了各种主题,因此您可以尝试在MaplePrimes添加一个简短的代码示例,以便与那里的Maple专家进一步探讨该主题。

票数 2
EN

Stack Overflow用户

发布于 2018-07-14 18:59:20

根据我的经验,最有效的流程是在Maple中解决数学上繁重的部分,然后使用这些结果生成可以嵌入到任何地方的C代码,从科学项目的C++数值模拟器到JavaScript电脑游戏中的代码片段。

Maple最强大的一面是符号数学和代码生成,它很好地补充了你在C++方面的专业知识,甚至是Java,在这些语言更好的地方,甚至没有雄心壮志要取代它们。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37761468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档