Matlab scripts have a cell-mode, where you can execute modules of code. Cells are delimited by %%, and you can run a cell by pressing ctrl-enter, run and progress, etc.
In my experience (15 years), Matlab has been the best for exploratory data analysis. If you change a script, you don't need to worry about re-importing issues like in python; you can even change code DURING a debugging session, EVEN with GUIs. I have been using python+numpy+pandas for a few years now, and python just feels like there is an impedance there that I don't get from Matlab, primarily with graphics/matplotlib. But, deploying and sharing python is easier. I admit it could just be my experience with Matlab that biases me. I usually find that people bitching about Matlab don't like the language, and that is usually because they are viewing Matlab AS the language (like python), and not as a data exploration and analysis environment.
There's an IDE kind of environment as x0x0 mentions, but I think you're referring to the ability to mix code and text and figures all in one document? ~~MATLAB doesn't have that to my knowledge, at least not yet.~~ Strike that, there's MuPad, like the other comment mentions, though it is indeed rarely used in my experience.
Relevant to the topic at hand, Julia does have that functionality already, and it in fact (afaik) uses the same engine that's behind iPython, the Jupyter environment. There's even a web-based community version for people to try stuff out: https://www.juliabox.org/
I'm not sure what you mean by that exactly, but matlab has a very usable gui / visual editor for mac and windows (and almost certainly linux, but I'm not sure).
If you mean a packaged script more like a mathematica notebook, I don't believe so.
They've had the mupad notebook (http://www.mathworks.com/help/symbolic/mupad.html) ever since they replaced the backend of symbolic math toolbox from maple to mupad, around 2008 or 2009. But I don't think it's too popular with Matlab users, there's a certain simplicity to just having a plot come up in a new standalone window that can actually be surprisingly hard to accomplish cross platform. Often have to pick your poison of depending on Tk, Gtk, Qt, Electron, or running in a browser (which still doesn't feel right to a lot of people, and for the non-Python languages supported by jupyter the Python server backend is a non-trivial dependency that can be messy to deal with).