I wasn't aware of the GNU Octave project until I saw a post on Reddit that it had hit version 4.0.0. If you're not familiar with it either, here's a brief overview:
GNU Octave is a high-level interpreted language, primarily intended for numerical computations. It provides capabilities for the numerical solution of linear and nonlinear problems, and for performing other numerical experiments. It also provides extensive graphics capabilities for data visualization and manipulation.
So why is this exciting? Aside from a Windows installer for all you people too lazy to switch to GNU/Linux, it apparently finally got a GUI (kind of a must for "modern" software):
Octave 4.0 is a major new release with many new features, including a graphical user interface, support for classdef object-oriented programming, better compatibility with Matlab, and many new and improved functions.
You can also get the full list of user-visible changes here.
Share and enjoy!
(Score: 2) by physicsmajor on Monday June 01 2015, @10:00PM
If you like Julia but want more maturity/stability, check out the Scientific Python Stack (SciPy, NumPy, Pandas, Simpy, Matplotlib, and Nose) plus scikit-* for more specialized tasks like machine learning or image analysis.
(Score: 3, Funny) by kaszz on Monday June 01 2015, @11:42PM
And if you don't like Python tabulation nazism? ;-)
(Score: 4, Interesting) by physicsmajor on Monday June 01 2015, @11:58PM
For a language that deliberately decided to do away with braces or other markings of scope, using tabulation is just... prudent in Python. PEP8 isn't always a perfect standard, but simply having a standard makes the majority of code more readable/accessible/maintainable to the rest of the community.
I will admit I have a soft spot for standards that tell you to ignore the standard if you think it makes things worse ;)
I do understand those who don't like it, but personally I find the result incredibly clean and readable. The only valid criticism I've heard is that one can get "lost" with multiple tab levels, but with a quality editor you get a subtle mark at each stop. I know I'd much rather track indentation than attempt to hunt through and verify brace closures...
(Score: 3, Informative) by Anonymous Coward on Tuesday June 02 2015, @03:00PM
Scipy/Numpy/etc is really useful. However, the Julia syntax is much slicker for numerical tasks, since that was the original purpose. I've been using Julia for quite a bit of my own work. Since it can be nearly as fast as C, development is sped up by not having to write things in Fortran/C.
Critically, there is a package, PyCall, to call Python code. To do a simple plot with matplotlib:
using PyCall
@pyimport matplotlib.pyplot as plt
x=rand(10)
y=rand(10)
plt.plot(x,y)
plt.show()
You can barely tell the matplotlib parts are calling out to python. Lisp-style homoiconicity really allows for some pretty cool stuff.