The best Julia language

Source: Internet
Author: User

Work on data/machine learning for many years. Most familiar with C + +, Matlab/r/python/java/scala have been used. But the experience of each language always feels flawed.


One idea: If you're not a language expert, then programming languages are just tools to implement ideas. The more important thing is how to quickly and accurately implement functions and ideas, rather than consuming the tools themselves.

1. C + +

As with C, computational performance is universally acknowledged, and few languages are faster than they are. However, due to its closer to the principle of the machine, the subtle calculation of resource control (especially memory management, pointers, etc.) and other reasons, making its development and maintenance costs are high. C + + is certainly not the best choice to implement ideas quickly.

2. matlab/r

During the period of reading, many people will choose Matlab to do the experiment, because the function is powerful, have you to think, while R language is open source solution. But its charge and bloated environment, always let a person heart has a pimple.  And the performance is really not good. It's unbearable for those algorithms that are based on many or very big data for training and learning.

3. Python

Python's simple and powerful third-party features support, making it much more efficient to implement. It's really a good environment to validate ideas. But in the process of implementing a distributed system and deploying production, it is found that in many places there will be unknown pits. And its global lock makes the pursuit of high concurrency system very helpless, especially computing-intensive systems.

There is also an extremely non-endorsement is that must be aligned to the format requirements.

4. Scala

Scala's use is often the need to develop distributed big data algorithms, and spark is often the first choice, in the Spark interface, Scala is more comprehensive, and the logic and spark design implementation closer, so inclined to Scala.

But Scala's grammar is simply alien language, the numerous miscellaneous and the design way, simply let the head big.

This is a kaleidoscope, but for an industrial production environment that requires standardization and maintainability, choosing Scala may be the wrong choice.

Summarize:

Recently, in the process of understanding Lua, a language specifically designed for "parallel" numerical computing was discovered, and Julia

After the understanding and the trial, found that this is the best language for me.

1. Can call the C/python library, Smart way, can better inherit the existing results

2. Similar to MATLAB and Python syntax, the cost of learning to change languages is low, and the implementation is inherently as efficient as Python

3. Performance close to C + + is sufficient in many cases

4. Open source approach, so that the language has a strong package backup force, has begun to take shape in the ecological

5. Natural concurrency and distributed support, save a lot of things.

The best Julia language

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.