5 ms·
What lessons have you learned from developing Octave that you think Julia could benefit from?
by thebooktocome 11y ago
What lessons have you learned from developing Octave that you think Julia could benefit from?
- jordigh 11y agoThat's a bit of a tough one. Julia is much newer software than Octave, and it also has a lot of knowledge already of what does and doesn't work. They're already well-staffed by programming language experts. I have learned a lot about how the Matlab language works, and also a lot about how Octave is put together. I don't have much to offer to Julia on technical terms. Octave's codebase started as pre-standard C++, and it's been a long and arduous job to very slowly modernise it. Julia has the advantage of starting modern. I think the biggest lesson I've learned is, don't underestimate Matlab. It may be old, it may be an ugly language, but it also is gigantic, very well-funded, and everywhere. Julia and Octave are approaching Matlab from different angles, Julia by providing a better language and Octave by providing a free drop-in replacement, but ultimately we are both trying to replace Matlab. Matlab users greatly value having a complete package with an editor, debugger, visualiser, profiler, and system modeller all in one. They don't generally see Simulink or the symbolic toolbox as being separate components, or indeed, as the completely separate programs that they really are. For the devout Matlab users, these conveniences greatly outweigh a better programming language. Going further, many Matlab users don't even consider their activity "programming" at all, and in recent years Matlab even writes the code for you if you just push a few buttons. We're seeing some academics slowly switching over to Julia. This is great. The Mathworks knows very well that captivating young, malleable minds in university is how you get loyal paying customers, namely, the future bosses of these newly-molded minds. Julia is doing a good job appealing to profs. I am optimistic that within five years or so, new generations of Julia-trained graduates will slowly spread the love of the new language.
- thebooktocome 11y ago> Matlab users greatly value having a complete package with an editor, debugger, visualiser, profiler, and system modeller all in one. That's a very good point. Julia's debugger and profiler are both horrifyingly bad.
- ViralBShah 11y agoThe debugger is one of Julia's top priorities, and here's a debugger roadmap that Keno recently posted. https://groups.google.com/forum/#!topic/julia-dev/-LTsBVRv1dU https://groups.google.com/forum/#!topic/julia-dev/-LTsBVRv1d...
- pkofod 11y agoDo you really think profiling is so horrifyingly bad in Julia with ProfileView? Imho, I cannot see what Matlab offers on top of that, but that may just be me.
- _Codemonkeyism 11y agoIf you don't understand other people, wonder then dig deeper. Don't make it an argument against those people.
- sgt101 11y agoerrm - if someone makes a point respond to the point rather than attacking the fact that they made it? What are the features that the Julia profiler should have? If you can say then I think that everyone will have made some progress.
- pkofod 11y agoA: "X is stupid, Y is much better!" B: "Are you sure X is stupid? How is Y better?" C: "Don't argue, B! Dig deeper." You figure out who's who. I was merely trying to understand why thebooktocome thought the profiler was so bad.
- _Codemonkeyism 11y agoYou're obviously the clever one.
- pkofod 11y agoI meant no harm, and as you can see, thebooktocome actually understood my comment, and has given me a useful answer. Have a nice day.
- dbcooper 11y agoDoes Matlab have something like iPython notebooks built in? That is something that would be really nice for academic work.
- x0x0 11y agoI'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.
- tavert 11y agoThey've had the mupad notebook (http://www.mathworks.com/help/symbolic/mupad.html 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).
- qpsk88 11y agowell, R2016a claims to have with the Live Editor something like this.
- sundarurfriend 11y agoThere'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/ https://www.juliabox.org/