建议在Matlab之后学习任何编程语言

4 matlab programming-languages

我在本科一年级的时候上过C++课程.然而,一旦它结束,我从未在任何项目或使用中使用它.在"链接列表"开始之前,我熟悉C++中的一些平均主题.一旦我有机会在二年级之后完成我的第一个项目,我的教授建议我.学习Matlab,它广泛用于数学和工程项目.但我经常听到人们认为Matlab不是一种语言,它不能取代任何编程语言,如C++,Java,Fortran等.我也担心它无法运行使用可执行文件,不像Fortran,C++等.

我想学习一门编程语言:

1)其中涉及上述以及Matlab在许多方面缺乏的其他问题.

2)在工业和研究中心广泛使用和可用.

3) Which is relatively easy and quick to code, and powerful in its capabilities.

Also please:

1) Give the advantages and disadvantages (over Matlab) for the language you suggest.

2) The best way to learn it.

3) The proper sequence of topics to learn knowing that I am familiar with the programming concepts.

4) A source, which is easy, good and interesting, to learn from.

Thanks for your suggestions.

Ste*_*hen 18

从matlab,我会去python.

首先,我想消除一个神话.MATLAB 用于工业.但是,它并不常见,而且非常具体.它通常用于原型设计和数学分析,而不是将系统部署到客户.一旦聪明的数学家在Matlab中证明他们的想法,开发人员就可以用它来构建一个真实的系统.真正的系统通常用C,C++,Java完成,并部署到客户手中.

但是,首先,问问自己为什么要学习这门语言.

  • 只是为了曝光吗?要了解有关编程的更多信息 几乎任何语言都能帮到你.
  • 你想能够快速发射一些脚本吗?Python会更好.
  • 您是否希望开发能够以牺牲开发速度为代价来利用每一盎司处理能力的大规模系统?C/C++/Java将是一条更好的道路.
  • 你想对招聘人员更具吸引力吗?Java可能拥有最多的"想要广告",其次是C++,然后是Python或C#.
  • 您想留在特定行业(例如科学计算)吗?挑选一些您感兴趣的公司,并了解他们在内部使用的内容.

请记住,语言本身并不是一个目标,它只是一个工具,可以让你到达目的地!:)

1)其中涉及上述以及Matlab在许多方面缺乏的其他问题.

是的,Python是一种行业可接受的编程语言,具有许多优秀的编程功能 - 列表推导,鸭子打字,强大的标准库.

2)在工业和研究中心广泛使用和可用.

它被广泛使用,并且在不断发展.特别是用于研究和原型设计.非常大规模的系统仍将主要使用Java或C++,但这些是难以学习的语言.

3)编码相对容易和快速,功能强大.

简而言之,这就是python.

和:

1)为您建议的语言提供优势和劣势(通过Matlab).

Matlab有一些非常酷的功能,但作为一种行业编程语言,我不会把它称为最重要的.但是,语法可能最接近python.Python可以为您提供真正的面向对象开发,并且拥有更丰富的标准库,超越matlabs墙.

2)学习它的最佳方式.

教程开始,继续编写小项目.从那里向上移动.通过实践学习.

我最近通过http://projecteuler.net上的问题来学习Scala(只是'cuz),这很有趣!(对于一个非常讨厌的乐趣定义)

3)正确的主题序列,了解我熟悉编程概念.

阅读代码,阅读StackOverflow上的问题.阅读有关编程概念的博客和书籍 - 如何构建代码,如何重构,如何设计等等.然后,只需解决遇到的问题.如果可以的话,找一个导师或在SO上提出很多问题.

4)一个简单,好,有趣的来源,可供学习.

堆栈溢出.导师,如果你有一个可以访问.开源也很好.

  • 谢谢!这个评论真的很可笑.虽然大规模计算确实是在C/C++/Java中完成的 - 例如谷歌的网络搜索服务器,Photoshop,MS Windows.世界上很大一部分不是优化空间和速度."快速完成"通常比"完成它所以快速"更重要.事实上,Python对于业余爱好者来说更容易学习,但这并不意味着它对专业人士来说没有价值.我在c ++中完成了大部分专业工作,但是使用了python作为_lot_. (2认同)

Nor*_*sey 17

我经常听到人们认为Matlab不是一种语言

你听到的是胡说八道. 对于那些受FORTRAN,C或C++约束的人来说,Matlab是一种非常好的语言.此外,在工程和许多自然科学中被大量使用.你的问题是说没有很好的理由,为什么你应该去别的东西,除了人们的模糊的反对谁听起来像他们有轴研.

我强烈建议您继续使用Matlab,直到它对您不再有效.那时你会遇到一个特殊的问题(规模,并行性,表现,等等),人们希望这也会代表你将来会遇到的问题.在那时学习一门新语言会比你猜测将来可能遇到的未知问题可以帮助你的语言好得多.


PS有很多关于将Matlab编译为包含本机机器代码的可执行二进制文件的论文.我不知道这项工作是否已经进入野外.

  • "完美的好"是对Matlab的不良描述,也许是"充足的":)它有其优点,但从CS的角度来看,它有其不足之处(尽管可能它们已经在过去的5年里得到解决,因为我已经用过它).我确实喜欢这种反思.大多数你说的,我同意:) (3认同)
  • @Stephen:也许那是因为很多人使用它并不是来自CS背景.Matlab很好地满足了大多数用户的需求,我认为这应该是任何语言的目标. (3认同)

ada*_*amk 5

蟒蛇.

语法与Matlab相似(不完全相同,但很容易习惯).
您还拥有matplotlibpython库,它在尝试提供相同的API(即函数名称等)时提供了一些Matlab的功能.这可能是您开始使用Python的起点,同时保持熟悉的基础.

要学习Python,我建议使用官方Python教程 - 哪个IMO对初学者来说非常好.

  • 如果来自Matlab,进行数值模拟,http://www.scipy.org/(和NumPy)也可能有用. (2认同)

Hig*_*ark 5

Matlab在工业中广泛用于科学和工程计算.当然它有它的缺点,但它为算法的快速开发提供了一个很好的平台.我和一个研究地球物理学家团队在石油工业工作; 他们都一直使用Matlab,开发计算电磁代码.国防,汽车行业,越来越多的生物科学,以及许多其他人都是Matlab的重度用户.查看招聘广告.

因此,如果你唯一关心的是找到一份工作,我建议你的下一个编程语言应该是Matlab - 它会击中你的3个desiderata中的至少2个.我怀疑你对Matlab缺陷的理解部分是基于你对产品缺乏深入了解.

说了这么多,你想学习另一种编程语言?如果你想继续开发sci/tech/eng程序,那么Fortran是一个不错的选择,C和C++也是如此.我会留下其他人来支持C和C++,因为我们在这里使用Fortran进行繁重的工作.

Fortran对Matlab的主要优势是执行速度; 我工作的地方很重要,我们的一些计算需要几天的处理器.这表明Fortran具有的另一个优势,即Fortran,通过OpenMP和MPI(以及类似)是最易于并行化的语言之一.

为了学习现代Fortran,我建议Ellis 等人写的"Fortran 90" 和Metcalf的"Fortran 95/2003 Explained"一书.然后,在你的情况下,我开始将我的一些Matlab程序翻译成Fortran.这将使您很好地了解这两种语言的相对优势和劣势.您的Matlab程序还为您的Fortran程序提供了一个很好的规范,因此您已经编写了测试.

  • Python适用于业余爱好者,C和C++(以及Matlab)适用于专业人士.现在让我们看看火焰开始:-) (3认同)