octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: octave-4.0.0-rc2 windows binary seems to be uploded


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=true

This 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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]