MATLAB has the Live Editor which allows you to create live scripts that combine code, output, and formatted text in an executable notebook. Code can be divided into manageable sections that can be run independently. Output and visualizations appear next to the code that produced them. Code and results can be enhanced with formatted text, headings, images, and hyperlinks. Equations can be added using the interactive editor or created using LaTeX. Live scripts can be exported to HTML, PDF, LaTeX, or Word.
Live scripts can contain interactive controls to allow others to experiment with parameters in your code. You can choose to hide the code to create simple applications and dashboards that can be shared with others.
The Live Editor provides contextual hints for function arguments, file names, and more. Figures and tables in the output are interactive. Those interactions generate MATLAB code automatically. That code can then be added back to your live script. Refactoring tools allow you to select blocks of code to create reusable functions. The Live Editor provides a fully integrated debugger to troubleshoot code.
In R2019b, we've added Live Editor Tasks which are apps that can be embedded in a script that allow you to interactively explore parameters and options, immediately see the results, and automatically generate the corresponding MATLAB code for the completed task and for the display of results.