Listen to the founders tell Quora why Choose Python

Source: Internet
Author: User
Tags mssql server


I recently registered with Quora and read a lot of interesting articles on it. As one of the top foreign social networking sites to experience without FQ, and especially a knowledge quiz community, Quora is really a site that deserves to be experienced by people. Although the domestic knowledge of such a community has developed very well, but in some areas (such as computer programming, economics, psychology and other specialized areas of development is still lagging, foreign overstack\vanilla and other professional communities).


Back to the point, the most recently read article was Quora founder Adam D ' Angelo to answer why Python was chosen for development. (The following translation is Adam's first person)


Although Facebook is still using PHP for some legacy reasons, PHP is certainly not the best option for the time being, so we've ruled out PHP. From our past experience, it is important to know the choice of programming language, because the cost of changing the programming language of the enterprise is enormous.
Charlie and I both think that Python is a very familiar language (though I might know better than him). We also had some time to think about choosing C #, Java, or Scala to develop languages. The biggest problem with Python is its low speed and lack of type checking.


1. C # seems to have a promising future, and it is a very powerful language, in its own view, but:
(1) We do not want to develop on the Microsoft platform. Because we were learning some new technologies that use a lot of open source code, although MSSQL server is good, we need to integrate only for. NET provides two-level support for open source code. Moreover, most top engineers use open source technology.
(2) We do not want to risk using mono (a c#/. NET open source project), and I was not sure how long it would take to support the Mono project, understand the various performance issues of mono, and it would create a problem similar to the C # ecosystem-dependent Microsoft platform.


2. Compared to Python, the same problem is written in Java, the code is longer, and Java's many small problems make the writing process more painful. And Java is more difficult to interoperate with other languages. Despite the negative aspects of Java and the JVM, Scala is better than Java, but using Scala as a new language may pose unnecessary risks (who knows what it will be like to support it in the next 10 years?). )


3. We have also briefly considered OCaml and Haskell (neither large enough ecology nor a good enough standard library, and it is too difficult for some designers, data analysts, and non-engineers to write code for these languages).

  
4. We decided to choose Python primarily because it was fast enough and capable of doing most of the work (because we pushed the key performance code to the backend server in C + + to write as much as possible). As for the type checking problem, we can compensate by the detailed unit test, which also can accomplish most targets very effectively. By observing the developments of the last 5 years, we are very confident that Python will evolve in favor of our coding library.
So far, we have been very pleased with our choice. Despite some minor biases, all of our early employees were happy to move from other languages to Python, especially those that used to use PHP. It is also gratifying to note that:
(1) When Python 2.6 was released, most of the libraries we used were compatible, which made it very easy for us to complete the upgrade.
(2) Tornado (web framework) is open source, we immediately migrated the live update part of the Web service to the Tornado implementation.
(3) PyPy seems finally to have usability. This will bring us a great performance boost.
All of this makes us believe that Python and its ecosystems are developing in the right direction.

Quora the founders gave me a few revelations:
1. As he said: it is important for enterprises to choose the language of development, and the cost of changing the development language is very high. It is also important for developers to choose a development language, but the cost of learning other development languages is not high, and programmers should try new techniques.
2. Embrace open source, Microsoft's technology stack is very advanced but the reason Adam rejects C # is largely non-open source, for programmers say open source must be the first choice.
3.C and C + + are still important, although JavaScript (because Nodejs) is known as the Overstack full-stack development language, Python in addition to the foreground of the development of the background in the big data, but also the advantages of the same, but the C + + in the core code writing status is still unshakable.

Listen to the founders tell Quora why Choose Python

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.