MatLab is a predictive analytics and computing platform based on a proprietary programming language. MatLab is used across industry and academia.
$49
per student license
Oracle Java SE
Score 8.5 out of 10
N/A
Oracle Java SE is a programming language and gives customers enterprise features that minimize the costs of deployment and maintenance of their Java-based IT environment.
N/A
Pricing
MATLAB
Oracle Java SE
Editions & Modules
Student
$49
per student license
Home
$149
perpetual license
Education
$250
per year
Education
$500
perpetual license
Standard
$860
per year
Standard
2,150
perpetual license
No answers on this topic
Offerings
Pricing Offerings
MATLAB
Oracle Java SE
Free Trial
No
No
Free/Freemium Version
No
No
Premium Consulting/Integration Services
No
No
Entry-level Setup Fee
No setup fee
No setup fee
Additional Details
—
—
More Pricing Information
Community Pulse
MATLAB
Oracle Java SE
Considered Both Products
MATLAB
Verified User
Engineer
Chose MATLAB
The commands and coding language of MATLAB reads a lot more in plain English as opposed to all the periods and other special characters that are needed when typing in Python or Java. Additionally MATLAB has several different function packages that can solve all different …
Have used Python, Java, and R as free open source tools, but because MATLAB is available for students to use it is recommended they use this over R. This tool seems to be simpler to use and there is a wide range of tool and help materials for new concepts.
MATLAB really does best for solving computational problems in math and engineering. Especially when you have to use a lot of functions in your solving process, or if you have a nonlinear equation that must be iteratively solved. [MATLAB] can also perform things like integration and derivation on your equations that you put into it.
Oracle Java SE is well suited to long-running applications (e.g. servers). Java Swing (UI toolkit) is now rather outdated, lacking support for modern UI features. JavaFX, the potential replacement for Swing, has now been separated out of Java core. Ideally, there would be a path to migrate a large application incrementally from Swing to JavaFX, but due to different threading models and other aspects, it is difficult. At this point, it is probably better to use an embedded web browser (e.g. JxBrowser) to provide a modern UI in HTML/Javascript and keep just the business logic in Java.
Commercial Licensing in 2019. Oracle will charge commercial organizations using Java SE for upgrading to the latest bug fixes and updates. Organizations will now need to either limit their implementation of Java SE or may need to drop it altogether.
Slow Performance. Due to the all of the abstraction of the JVM, Java SE programs take much more resources to compile and run compared to Python.
Poor UI appearance on all of the major GUI libraries (Swing, SWT, etc.). Through Android Studio, it is easy to get a native look/feel for Java apps, but when it comes to desktops, the UI is far from acceptable (does not mimic the native OS's look/feel at all).
MATLAB is pretty easy to use. You can extend its capabilities using the programming interface. Very flexible capabilities when it comes to graphical presentation of your data (so many different kinds of options for your plotting needs). Anytime you are working with large data sets, or with matrices, MATLAB is likely to be very helpful.
The language is fluent and has good support from a number of open source and commercial IDEs. Language features are added every 6 months, although long-term service releases are only available every 3 years. It would be nice if some of the older APIs were depreciated with more pressure to move to the new replacement APIs (e.g. File vs. Path), but transitions to new features are generally well implemented.
The built-in search engine is not as performing as I wish it would be. However, the YouTube channel has a vast library of informative video that can help understanding the software. Also, many other software have a nice bridge into MATLAB, which makes it very versatile. Overall, the support for MATLAB is good.
Java is such a mature product at this point that there is little support from the vendor that is needed. Various sources on the internet, and especially StackOverflow, provide a wealth of knowledge and advice. Areas that may benefit from support is when dealing with complex multithreading issues and security libraries.
How MATLAB compares to its competition or similar open access tools like R (programming language) or SciLab is that it's simply more powerful and capable. It embraces a wider spectrum of possibilities for far more fields than any other environment. R, for example, is intended primarily for the area of statistical computing. SciLab, on the other hand, is a similar open access tool that falls very short in its computing capabilities. It's much slower when running larger scripts and isn't documented or supported nearly as well as MATLAB.
Chose to go with Java instead of Python or C++ due to the expertise on the ground with the technology, for its ease of integration with our heterogeneous setup of production servers, and for the third party library support which we've found was able to address some challenging aspects of our business problem.
MATLAB helps us quickly sort through large sets of data because we keep the same script each time we run an analyzation, making it very efficient to run this whole process.
The software makes it super easy for us to create plots that we can then show to investors or clients to display our data.
We are also looking to create an app for our product, and we will not be able to do that on MATLAB, therefore creating a limiting issue and a new learning curve for a programming language.
The different versions make it harder to work with other companies where some use newer versions while some use older versions, costing time to make them compatible.
Licenses are getting to be costly, forcing us to consider OpenJDK as an alternative.
New features take time to learn. When someone starts using them, everyone has to take time to learn.