Like SOME languages. Perhaps the ones you know. But certainly not all other languages.
In general, yes, it is not unreasonable to make your functions separate m-files. However, if your main function calls functions that are specific to it, then they can be nested functions or sub-functions, both of which can be contained in the main. These functions are in general not callable from the outside, although that can be accomplished if you return a function handle from the main function.
The use of separate functions has some virtue in that they can then be easily written in advance, then debugge, all as separate functions. As well, those separate functions can now be used to solve multiple problems.