Math 对于简单但可定制的数学程序,哪种语言是开发的好语言?

Math 对于简单但可定制的数学程序,哪种语言是开发的好语言?,math,programming-languages,Math,Programming Languages,我写这封信的目的是寻求一些关于选择语言和学习编程的行动方针的指导。如果这类问题不适合交叉验证,我深表歉意,如果是这种情况,请将我建议到其他论坛 我见过一条接一条地问新手问题,问他们“最好的语言是什么?”然后总是会引发一场激烈的战争,或者有人只是回答,“没有最好的语言,最好挑一种开始学习。”我的问题比这更集中一点 首先,我一生都在编程,能力非常有限。我最深的训练是C++。在我的EECS学位课程中,我决心永远不要成为一名软件开发人员,因为我不能忍受长时间不与人交流。相反,我意识到我想成为一名数学教师

我写这封信的目的是寻求一些关于选择语言和学习编程的行动方针的指导。如果这类问题不适合交叉验证,我深表歉意,如果是这种情况,请将我建议到其他论坛

我见过一条接一条地问新手问题,问他们“最好的语言是什么?”然后总是会引发一场激烈的战争,或者有人只是回答,“没有最好的语言,最好挑一种开始学习。”我的问题比这更集中一点

首先,我一生都在编程,能力非常有限。我最深的训练是C++。在我的EECS学位课程中,我决心永远不要成为一名软件开发人员,因为我不能忍受长时间不与人交流。相反,我意识到我想成为一名数学教师,这就是我所走的道路

但现在我已经走上了这条路,我开始意识到也许我可以开发自己的软件来帮助我在课堂上。如果我想演示欧几里德算法,还有什么比用一个软件来分解这个过程更好的方法呢?学生可以在学习过程中运行该软件,高级学生甚至可以为自己开发程序。或者,有了Ipad,为什么不开发一款让学生自己出勤的应用程序呢?这肯定会简化课堂管理的一些需求

很明显,对于数学和教育来说,已经有很多很好的东西了,但是我想要一种更直接的方法来创造我演讲中特有的东西。如果我在教授一种计算百分比的特定方法,我想创建一个符合我教学风格的应用程序,而不仅仅是另一个需要学生学习两次的计算器应用程序

我现在在课堂上使用最多的是我的统计类的iWork Numbers/MicrosoftExcel。学生可以学习基本的统计函数,并将一些数据转换成图形

我曾涉猎过R,在大学里使用过枫树。我已经开始了OSX/iOS开发的基本教程,并且在制作一个OSX应用程序方面取得了很大的进展,该应用程序接收文本字符串,将其转换为数字,并使用模块化加法和乘法执行加密。我有时使用Wolfram | Alpha来节省自己一些时间,以便快速求解方程或进行基转换。我知道MatLab、Mathematica,最近有人告诉我要学习Python或Ruby。我也知道基本的HTML,虽然现在已经忘记了,但在大学里学习了Javascript和PERL

如果我继续走Obj-C/Cocoa的道路,我认为它将带来巨大的好处。不幸的是,我为Mac制作的任何东西都只能在Mac上使用,所以它不会对我所有的学生通用。也许学习一门网络语言会更好。第二,我想知道主要的用途是否是数学,那么也许我的时间应该花在学习Mathematica编程语言,或者R,或者一些不太基于GUI的东西,而更多的是简单的算法编码上,比如Python或Ruby

看来Mathematica已经有很多不同数学概念的演示,所以为什么要重新发明轮子也是我的一个问题。我认为总的来说,有更多的控制和设计我需要的东西会很好。然后,如果我真的想制作一个“考勤”应用程序或其他东西,我已经有了编程经验,可以更轻松地为我的iPad或MacBook设计一些东西

与此相关的问题是,什么是一种好的语言,可以教给我的学生?Conrad Wolfram在他的TED演讲中说,检查学生理解情况的最好方法之一是让他们编写一个程序。但是如果Mathematica几乎自动地为他们做数学运算,那么我不确定他们是否会像编写C或传统过程语言时那样,获得为自己计算逻辑的更深入的经验

我知道编程需要时间来学习,但我也知道,在这一点上,我的目标不是制作一款像“小翅膀”这样的应用程序。有了应用商店的便利,我的一些工作可能会带来额外的收入,但我认为我自己更像一个业余爱好者,现在,老师希望软件开发能够帮助我演示数学概念


我想我会继续推进OSX/iOS的Obj-C/Cocoa,但如果有人对所有其他可用内容有更好的指导,我将不胜感激。我不认为我想完全进入网络(我喜欢应用程序),但也许有人可以建议一种很好的方式,将我在XCode中生成的内容连接到通用网络版本。例如,如果您在obj-c中提出了一种算法,那么将其转换为ruby并在线运行是最简单的方法,还是有其他更有效的方法?

Mathematica对于您问题的第一部分非常棒。我使用互动模式(操纵[])向我的大学(和我自己)解释事情。它制作了非常漂亮的动态图形,并且非常有表现力(尽管您的代码最终可能看起来像线条噪音)。它是非常强大的,但它对你的作用远比你想象的要小。这很直观,这对教学来说是件好事

如果您想要一种“简单”的方法来制作特定于领域的教学语言,您可以使用Scala。Python作为第一种编程语言似乎让人感到困惑。对我来说,目标C似乎是一个完全随机的选择

那么,Mathematica。它值这个价。但是任何经过解释并具有交互式shell的语言都可能比编译语言更好。BBC BASIC?

没有什么比通用数学编程更好的了。维基内容非常广泛,IRC频道(Freenode上的haskell)非常适合提问。如果在comp上静态链接二进制文件