How are Python and C + + selected?

Source: Internet
Author: User
Junior dog, want to find a first-tier city work, the main direction is the Linux programming, has the Linux C programming experience, recently has been in the tangle is to learn C + + or Python, ask you to answer, little brother humbly ...

Reply content:

There is no time to wait for the answer, Python is finished. Basically, as long as the company is not looking at you now what language to want you.
Basically look for work when also don't hold "I will xxx" on the delusion that this life only rely on this language work. Learn all two, and also learn Python's C API. So that you can adjust to each other. 28 Principles 80% Energy Learning C + + 20 Energy Learning a scripting language
Mainly look after the landlord direction bar if it is network security Python certainly need if the game can learn Lua first
Light Learning language is not good to see the excellent source of Openresty Skynet STL
For Python, you can take a few days to finish a high-level topic, such as the adorner iterator co-Chengyuan class

Learn a study tired to see the Csapp algorithm introduction very good to complete a number of scale projects, software architecture and performance are essential. This is why C + + provides the functionality required for high-level abstraction without sacrificing performance. After all, C lacks of namespaces, high-level data structures, etc., so that it is difficult to complete large-scale projects.

However, C + + is not the only solution to the problem. Many other scenarios do not focus on ensuring two points at the same time, but instead focus on better software architectures and acceptable performance. This is true for many languages, such as Python, Lua, and more. At the same time, for the requirements of higher performance parts, or the integration of the system is closely related to the C module to deal with. Such ideas are good for large projects, and architecture is better abstracted by the support of high-level languages, which makes it easier to implement complex logic. The number of cycles is given to C to deal with. In particular, the introduction of high-level languages can force people to pass the data to a high-level language rather than using global variables everywhere in C.

So, in a practical sense, python+c is a better choice. In addition, C + + to seek a compromise between performance and architecture has to introduce a lot of concepts, these concepts make C + + more complex than C, and its ability to support the architecture is higher than the high-level language check.

In general, my advice is:

1. Learn python, anyway soon
2. Learn C, combine the specific system and function library
3. Learn how Python works with C, such as Python's C module, Cython, Swig, and more.
4. To learn a little C + + syntax, after all, there is a certain probability of using the C + + library, but do not be in those strange C + + function of wasting time language what is the use? Language does not have any value without attaching to platforms, requirements, and project.
So don't be obsessed with what to do with C + +, Ruby, Python, PHP or whatever, it depends on your career planning, your needs and your projects. From C + + into Python easy, from Python into C + + difficult "Life is short, I use Python." However, do not impetuous.
---------------------------------------------------------
Language is just a way of doing things, you have to focus on the things you want to do. You should choose the right technology to learn according to the actual needs. If you want to do website backstage, do crawler, do system management ... Certainly Python is better. If you want to do the game, do operating system-level programming, obviously C + + much better.
And, Python and C + + are not incompatible. Both are of the C language system, the basic syntax is not very different, and the key part of Python can be embedded in the C/c++/java program fragments. If you remember correctly, Python is also called a "glue language."
-----------------------------------------------------------
Pick a few words from the Notebook for reference:
    1. "You should not" marry "to any particular technology, but should have a sufficiently broad technical background and experience base so that you can choose a good solution for a particular scenario. --"The way of the programmer's cultivation"
    2. "I will never use my own technology to locate myself, but to use what I have done and what I am going to do to position myself." Technology is just a way of doing things. 』
    3. "There are many such superficial professionals in the software development community who use the" professionals "as an excuse to know only one technology. "-The Passionate Programmer"
    4. "As a qualified programmer, a solid foundation + fast Learning ability is your most reliable weapon. As for what technology, don't worry, but it's a breeze. 』
    5. "Programmers are programmers, and writing programs is programmers." Programmers do not put too much on their forehead, what C + + programmers, what Java programmers, what Windows programmers, what Linux programmers, these modified programmers, in fact, not easy to survive. 』
    6. "Learning programming a bit like cultivation, calm publications can make learning more efficient, impetuous." ...... Do not can chew, must be proficient in a certain aspect. 』
    7. Apply
    8. "Learning is a lifetime thing, don't worry." 』
Now that you have a Linux C experience, learn python.

C and C + + have "developers too much focus on man-machine dialogue" problem, and Python better, code logic is more dense, oo is also easier than C + +. Language is not a girlfriend, you can have two ~
  • 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.