|
From: | Richard Crozier |
Subject: | Re: octave-4.0.0-rc2 windows binary seems to be uploded |
Date: | Fri, 27 Mar 2015 08:24:10 +0000 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 |
On 26/03/15 11:01, Jordi Gutiérrez Hermoso wrote:
On Thu, 2015-03-26 at 08:17 +0100, address@hidden wrote:I think that an early contact with calculus and programming is important for students' learning cursus.I think there are far better programming languages than Matlab and Octave. I see Octave's purpose as giving people the ability to run existing Matlab code, but the overall goal in my opinion should be to move to better programming languages. For teaching purposes, I would consider Python instead: http://hplgit.github.io/edu/uiopy/sphinx-fenics_minimal2/index.html If you must teach Octave to your students, I hope you really do teach Octave, and not Matlab. I deem it a great disservice to indoctrinate students to become Mathworks serfs. Bruce Schneier's commentary also applies here: https://www.schneier.com/blog/archives/2012/12/feudal_sec.html - Jordi G. H.
Having now used Matlab and Octave for some years, and now used python (2.x) for a few, my opinion is that for numerical work the syntax of Octave for matrices and arrays is far superior. Python is really clunky this way.
It's also a right pain that python does not reload modules when they are modified, you have to do it manually, and the easiest method for doing this has been removed in python 3, whereas my octave and matlab code changes are noticed immediately without me having to do anything (except occasionally 'clear functions'). This is what I expect from an interpreted language.
The lack of a built in structure like Octave's in python is also quite annoying (yes, I know you can implement it yourself, but then every little snippet you pass around using it needs the class definition, or it has to be imported into every file you use it in). By comparison accessing and creating python dicts which are the closest equivalent is clunky and long-winded.
Python's meaningful whitespace is also an awful idea that I hate.For these reasons, despite it's flaws I prefer to work in Octave/Matlab for engineering work, and prototyping algorithms.
Ideally you would teach both, because python is a much better general-purpose language, that's used everywhere. Also matlab now lets you call python code, the same way it does for java:
http://uk.mathworks.com/help/matlab/call-python-libraries.html?refresh=trueThis is something I would also like to see in Octave, and would help people transition to python if you believe this is the way forward.
Richard -- The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336.
[Prev in Thread] | Current Thread | [Next in Thread] |