Why Matlab price does not decrease?

Sounds like a good business idea :blush:

Someone should just rewrite Matlab in Julia :nerd_face:

I wouldn’t be entirely surprised to learn Mathworks was working on it :blush:

1 Like

I’m not sure that’s the case. Matlab’s performance has improved markedly over the past five years. They’ve also been hiring LLVM compiler experts (looks like they have two openings right now, in fact). I believe they’ve even specifically targeted the performance of some of our microbenchmarks. I attribute at least some of this to my impression that they’re feeling the heat from Julia.

So while Matlab users may not be able to thank Julia for a reduction in cost, I do think Julia is indirectly responsible for Matlab getting faster.

8 Likes

I’m pretty sure it is.

The main virtues I appreciate in MATLAB are not as polished in Julia.

Julia is superior language.
Yet it is still not a superior development environment for the classic use case of MATLAB.

@ChrisRackauckas,
I totally agree with you. The minute I hear someone says “Compile from source yourself…” I’m losing any interest. This is the model of Linux users and there is a reason it only has ~5% in the desktop world. People don’t want this experience from their tools.
The workflow and the user experience are very important. Currently, in my use case, they are more important then better performance. The nice thing as a MATLAB user is MATLAB getting better and better ta this as well.

@mbauman, Knowing some people who are after this.
The vast improvement in MATLAB isn’t because of Julia, it is because the world has made a vast improvement in JIT (I guess revolution started with Google’s v8).
I’d also more than assume MATLAB wants to keep this as an advantage compared to Python.

2 Likes

Clearly I don’t know what’s happening inside the board rooms at The Mathworks. This is just my reading of the tea leaves. I’ll also note that the student pricing at my university decreased from $15/year to free over the past five years and that Mathworks has sent employees to JuliaCon. Again, not evidence of Julia being a threat, but take it as you will.

3 Likes

I could do this on my first days with Julia (and python). Yet on Matlab i can’t understand most of the code.

True story , I’ve recently been trying to reverse engineer some matlab code from a book and it’s not at all intuitive. working code and yet i’m having a terrible time understanding how the syntax relates to what it’s doing.

also too, automatic extension of arrays is an AWFUL thing. talk about the potential for bugs.

for me the main hang-up is still the julia start-up time(I apologize for bringing this up). I have been in the position of demonstrating results real-time and a 5-8 second pause before anything happens is a bit annoying.

I don’ think that’s the language so much as the toolboxes that are available. if you are doing DSP work there is very sophisticated functionality available. at a price, of course. but in big business the price is not a problem. well unless you start multiplying it by 50x or 100x, then it’s not so trivial.

I doubt this seriously. the installed base in industry is just huge for matlab. more likely they simply see julia’s JIT/LLVM stuff as a good idea and are trying to figure out how useful it might be to their product.

however I could see them being a little worried about the academia market. remember they, like a lot of technology software companies use the drug dealer model, get them hooked in school for free so that they are asking for it when they are employed. or, even better, so that putting “matlab experience” on your resume becomes important.

3 Likes

I was a contact point for mathworks to my employer for some time and so i was part of some expert talks (on both sides) about “How can we make your MATLAB experience even better?”. To me it sounded (~2012) like they already had started to go into the JIT/LLVM direction. At least they were aware of ‘other’ JIT projects and the first time i mentioned julia (~2013) they were not surprised. In my and a lot of others’ opinions julia has the potential to grow in a matlab dominated field.

But.

As long, as i still can measure

julia> using Plots

julia> gr()
Plots.GRBackend()

julia> @time plot(rand(800,2))
 19.060756 seconds (44.71 M allocations: 2.171 GiB, 7.39% gc time)

i don’t really see julia (in the current form) as competitor (and the 19s isn’t even the full waiting time, it takes another 7s for the window to display).

9 Likes

In the long run, the pay-to-use/ closed source software business model fails in the most technologically advanced sectors. At least in free societies.

for me, Julia is better than Matlab because it is an exciting adventure, with free opportunities awaiting to think of completely new ways of doing things that weren’t possible before, the performance or speed is not the selling point for me, rather it is my preference for the collective cooperative language design

9 Likes

A pretty awesome package for system identification in Julia just got tagged:

And you can see and learn how it works internally, difficult with Matlab tools that have a nice GUI, but you don’t know what is happening behind the scene.

5 Likes

@tk3369

In Matlab

tic

plot(rand(800,2))

toc
Elapsed time is 3.384138 seconds.

In Julia


julia> gr()
Plots.GRBackend()

julia>  @time plot(rand(800,2))
 19.639205 seconds (46.48 M allocations: 2.267 GiB, 7.05% gc time)

But why plot.jl running so slow??

If we rewritten Matlab in Julia, how can we use Matlab complex build-in function?

Another open resource Octave, Octave

I shouldn’t do this, it’s really off-topic, but…

julia> using GR
julia> @time plot(rand(800,2))
qt5ct: using qt5ct plugin
  4.781961 seconds (10.73 M allocations: 541.670 MiB, 5.03% gc time)

julia> 

I hate to say this, but don’t use plot. use the backend you want to use directly.

Some packages are just terrible for start-up time and plot is one of them, and has been for some time…

3 Likes

It is running quite fast, but for the first time it is compiled, which takes time. This has been discussed at length, please search the forum archives. Also, note that compilation times improved markedly for what will be v1.2 (but I didn’t benchmark Plots.jl).

I don’t think @anon67531922 meant this comment seriously — it was a joke. That said, there have been various libraries in the initial history of Julia that tried to provide Matlab-like library functions, but AFAIK all are abandonned in the practical sense. I think the consensus may be that the benefits of having a consistent, modular, idiomatic API in Julia that is worth the transition cost.

2 Likes

could you elaborate on this? I have not seen any discussions on compile time improvements and thus it would be great if you could point to the relevant discussions.

julia> using PyPlot

julia> @time plot(rand(800,2))
  1.166039 seconds (1.54 M allocations: 77.209 MiB, 2.12% gc time)
2-element Array{PyCall.PyObject,1}:
 PyObject <matplotlib.lines.Line2D object at 0x13ca47a90>
 PyObject <matplotlib.lines.Line2D object at 0x13ca47be0>

julia> 

just don’t use Plots if you care for immediate plotting. PyPlot is a high quality plotting package that uses the famous Python package Matplotlib.

Time to first plot has indeed been discussed at length in this forum.

But generally, some reasons, why I think Matlab has still a strong presence in technical computing, has been posted some time ago in a similar thread about the Designated Target Audience of Julia.
https://discourse.julialang.org/t/designated-target-audience-of-julia-1-0/11804

Is Julia a direct competitor to Matlab and should Matlab be scared? In some areas, yes.
However, I see python/scipy/matplotlib and octave as more direct competitors to the common use case of base Matlab. And there the foss equivalents are a viable alternative.
What is often omitted in discussions, important functionality is fully or partly missing in all the contenders:

  • For industry use Simulink is really important (automotive, telecom and aviation). There is simply no equivalent in Python, Julia, R or Octave. Similar for toolboxes targeting real-time systems or formal code verification.
  • Tight integration with leading commercial software packages (e.g. LabView, Comsol etc)
  • Comprehensive and consistent documentation with example code for all functions
  • A beginner friendly, just working out-of-the-box, tightly integrated environment(ide/debugger/profiler)
4 Likes

your link points to : “Sorry, you don’t have access to that topic!”

Thanks, I corrected the link.