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!
I work in a research environment and I see more of my colleagues moving away from Matlab and IDL because they very expensive, and they are a real PITA dealing with the licenses and license servers. If you are in an academic environment, cost might not be an issue, but they really nail you for a non-academic license. And don't forget the back support they'll charge you. Of the people I know that are moving their code, most seem to be moving in the Python direction.
I've always seen the toolbox part of Matlab as a detriment, not an advantage. I get inundated with brochures about all the wonderful and great things Matlab can do for me, but it always boils down to whatever wonderful thing it is, you need to purchase yet another toolbox to do it. I've even gone to one of their day-long free courses (on signal processing or image processing, or something like that) and the whole thing was "if you purchase a license for this toolbox, this is how you use it".
I don't know about Matlab, but IDL has started putting Python hooks in so that you can call IDL functions from Python. They're doing this because they see users converting/rewriting their code.