Four languages to challenge Python: Swift, Go, Julia, R

Source: Internet
Author: User
Nothing is permanent--including programming languages. Many may seem to be the best in the future, and in the end they may be forgotten. Whether because of irresistible reasons, or because of their own development reasons.

Python is now on the top of the list of programming languages and seems to be an immortal language. But now, many other languages are showing some of the advantages of Python: Easy programming, powerful processing power for math and science computing, and a huge third-party library.

Here are some of Python's potential challengers and discuss how Python can keep its first seat.

Swift

What it is: Apple's programming language, primarily for native iOS development, is now open source and has a tendency toward server-side development.

Its advantages: Programming with Swift is an experience without obstacles! It is more like a scripting language (like Python) than a compiled language (for example, its indirect predecessor, OBJECTIVE-C). The decisive advantage of Swift is its speed--it is compiled by the LLVM compilation framework into machine code, so it has real multithreading. Python is still struggling in this area.

If development speed is more important than execution speed, Python has an advantage. But Swift has the "Playground" mode of the Xcode IDE.

The advantage of Python: On the one hand, Swift is a new programming language compared to Python, and Python has a bit of all the mature languages--lots of user base, lots of libraries, and mature multiplatform support. Swift is not even able to support Windows now (if not the third party libraries), although this is a feature that will inevitably be implemented in the future. Swift also generates a reliance on the Apple toolchain (such as Xcode), which is less dependent on python.

Go

* * What it is: **google's "strong, concise, clean and efficient" language, from Docker and its related projects to the INFLUXDB database, Ethereum bad-chain systems and canonical snappy package management tools are written using go.

Its advantages: Like Swift, the Go language is also compiled into platform-related machine code, so it can be much faster than python in multitasking, and can also be run without generating additional targets like python. The go code compiles very fast and develops quickly, so it's more like an explanatory language.

The advantage of Python: Although Go is not as new as Swift-it was released in 2009 and has an advantage over the number of users and libraries in the--python. In addition, go syntax and error handling are far from Python. Therefore, it is difficult for Python users to move to go now, but will not prevent new users from choosing such a language. At this stage, Python's installers make it easy to use and build Python applications--not to mention systems like Linux--Python has become a standard.

Julia

What it is: Released in 2012, is a programming language for technical applications, such as data analysis and linear algebra.

Its advantages: Python is a great use for math and science applications-thanks to libraries like NumPy and interactive ipython editing programs. Julia's target audience is the same group, and like go, swift, it is faster than Python. It also has an expanding package that includes not only scientific and mathematical computing applications, but also many Python features, such as getting data from a cloud provider.

Python's advantages: Julia has a library similar to Python, but Python is not content with the status quo, and is constantly optimizing the language's core and development environment. The speed of Python is not necessarily less than that of Julia (or other Python competitors), as long as the appropriate library for different jobs is chosen to complete, the speed is still objective.

The Julia language itself has some controversy. For example, Julia's array subscript is starting from 1, not 0--This is not only a disadvantage for python, but also for other languages. (Many third-party package indexes also start at 1, but they are still very unaccustomed.) )

R

What it is: It's a very old language, both in terms of the development environment and the language itself. It is designed for statistics.

Its advantages: R has a lot of advantages of python, such as a rich third-party library and so on. But r is specifically for statistics and is still focused on this in the later development. Python can also do mathematical and statistical calculations, but in this respect it is completely crushed by the R language.

The R language has also attracted the attention of many large companies, and Microsoft has acquired an R language standard implemented by developers to serve its cloud data. Hewlett-Packard has developed a distributed R language computing product that can run across multiple nodes at the same time. This product will be able to completely squeeze python out of this field in the future.

The advantages of Python: Sometimes, as a multi-purpose language, it has its benefits. The function of R language is limited to statistical calculation. Because of the limitations of the development environment, it is also cumbersome to build R language applications, and it is easy to create apps using Python. And with packages like RPy2, it's easy to combine the R language with Python.

Microsoft has invested a lot in the R language, but Microsoft also has a lot of support for Python, so both languages can work well on azure.

Original: 4 languages poised to Out-python Python

Related Article

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.