Python is now so hot, some universities abroad are also python, why do domestic universities also teach C language?

Source: Internet
Author: User
Add: It seems that Python is really a very hot language, everyone's attention is so high! According to your friends, Python's easy-to-learn, easy-to-use features, as an entry-level language, give me such non-computer professional students as the language of interest or tool language, is very good. Not long ago and the students learned that many people are also in the use of Python to do calculations, although our hydraulics major is more inclined to practical FORTRAN programming calculation, but compared to Python, cumbersome basic programming is very time-consuming and laborious. Some classmates also use MATLAB to calculate the programming, I think this and Python have the same reason.
In fact, I mention the reason for this problem, also lies in the current language tools are many, and are useful, there are many people use. I am a freshman study C when I really feel the difficulty, one is my enthusiasm is not high, and secondly really can not arouse interest, the beginning of a few lessons did not understand, the back will not follow, also do not love to learn. You know friends of the analysis is indeed point in the key, ashamed to hide my face.
Another problem is that this year just learn Fortran, some people told me, because the calculation speed, do more scientific calculation, of course, our hydraulics has been used. However, some students also discussed that in fact, the calculation of speed is convenient, mainly algorithm optimization, such as MATLAB, as long as the less cycle, the faster the speed. Using its own function, the matrix calculation, the speed can also be very fast. Here also want to ask you all the almighty friend, Matlab, can use the self-band function, the matrix calculation, avoid the cycle, thereby improving the calculation of the speed of the example.
I am not only know the new, but also a novice programmer, ask questions such as low-level, pull down all the friends to force lattice, also hope forgive me!

Reply content:

Thinking too much, everything is progressive, and Python is not the only truth.
Chinese universities generally say that textbook updates are slow, and this is nothing to wash. But really the introduction of programming to Python is not equal to the level of teaching will certainly rise up, other do not say, to deny C is because difficult to learn, the idea is much worse ... Other schools I don't know, but as far as I know a few American schools, although Python is hanging under CS, is usually given to other students of the department. This is also why Python class number is very low, even lower than Java, so that everyone think this is CS introductory class, in fact, not AH. As you can see, many of the students with a Python class have no python at all in their compulsory form, starting with Java. Oh, by the way, C is really necessary, but C + + is not, C is mainly for the back of the Os,network and other classes. C + + is of little significance to education, and the lessons of American software development are written in Java.
In fact, it can be seen that the American undergraduate program is not to teach programming language for the purpose of teaching a language, teaching programming language is for the subsequent course of learning and laying the groundwork. If you think about it, you will understand that after the completion of the study of Python, there is basically no benefit to the post-CS course. Do you mean to use Python to learn data structure,system programming, or compiler? Python is really strong and very studious, but it's too high level, and the bottom is already out of line. The first response to the need for a Python person is to find a lib that is not ready and not write one, but this is not advisable for undergraduate studies. I am a faithful python powder, faithful to the beginning and end to see through the CPython interpreter source code, the work can use Python as far as possible in Python solution. However, I do not think Python is suitable for the CS introductory instruction language. A person who does not have C so close to the hardware layer language knowledge and C++/java this kind of object language knowledge is impossible to really master Python.

The basic concept of Python is the simplest object implementation, with memory management using a unified counting GC, which limits almost all underlying operations to improve development efficiency. This is an artifact that improves productivity as a programmer and researcher who is clear about the concept of the object, is clear about the memory management logic, and applies the appropriate algorithms to the algorithm.

However, the object of introductory education is ordinary students, most of which do not say the principle, even the object, heap space and stack space, data in memory of the form of the most basic concepts are not. Getting them to learn how to get started with Python is like having a child who doesn't have arithmetic to take calculus directly.

Python is also very ambiguous: it is to explain the language, but can load C-compiled module, it is dynamic type, but also strong type, it is full-object, but for a number of basic types through "immutable" implementation of similar variables operation ... This means that people with unclear concepts can write Python code without understanding their execution logic, and encounter errors that they do not understand for unknown reasons.

Using Python to do introductory teaching, the advantage is nothing more than the beginning of the learning gradient small, high feedback, easy to mention interest, for non-computer professional students when the introductory materials may have some meaning. But CS does not learn the basic principle of the foundation to climb to the modern language of the high shelf, it is just waiting for students to fall to death. Thank you for your invitation.

Maybe the Lord is blinded by some illusion or hearsay ... As far as I am concerned, if a student is a non-CS professional, it is a relatively popular basic course for science and engineering python. But for CS majors, this ... I remember the grammatical characteristics and so on is the second, when doing data Mining, library learning is based on mathematical models, the focus is number! Learn! Built! Mode! It has nothing to do with language, so for Python it's a second too ... If you do not start with C + + in the first place, you will have to fill out the pit back.

Finally add: many novice to! For! Programming is simple (not just the grammar and common library)! For! Write similar code to be able to work alongside the Master, to! For! Look at some of the project's source code is actually so much, in fact, behind a layer of layers of architecture, framework, modularity, business logic and optimization of the logical thinking of the abstraction, is what you want to learn. Language is just a tool to realize this kind of logical thinking, please do not tangle in which language the best, this will expose IQ. Please choose the most suitable one.

Mobile phone hit the word, time is more hasty, there is inappropriate place please forgive me.

Above you are learning hydraulic, also want to use Matlab??? Here, let's give you a fluid field simulation.
The bottom is written in Fortran, after countless optimization of the ansys, every day to calculate a few days to finish one, you told me you use Matlab???
Matlab is a scientific computing artifact, but can not be large-scale calculation!!!
Matlab is a scientific computing artifact, but can not be large-scale calculation!!!
Matlab is a scientific computing artifact, but can not be large-scale calculation!!! The biggest problem with the C language as an introductory course is not that it is difficult to learn, but rather that there is no fun.
Most of the students do not have the ability to learn CS courses. It was a loss of interest from the start.

The advantage of using Python as an introductory course is to reduce difficulty and, secondly, to cultivate pleasure.
It's easy for us to do something fun.
After having fun and wanting to do something, learning other CS courses will be more purposeful. Ha? Java and C are the hottest bars? Ask first, don't you?
Beijing University's non-computer-specific programming classes have all changed to Python most of the school C is to speak the grammar of a sense of the meaning of Python grammar and a lot of languages are very far ... For example, the indentation instead of the delimiter and as a dynamic type of language is not good to use problems and difficult to debug so it is not suitable but now this kind of TC to teach C + + vc++6.0 The practice is not advocated
Actually, in our profession, C C + + is not very deep. Introductory course for basic courses in science is Python R bash script numerical analysis is C and MATLAB C # and / http vb.net Choose a user interface and database connection behind the lesson like bioinformatics Algorithm machine learning Computational genomics basically belongs to the language irrelevant what to use what so we hand in the homework from Matlab Python (2 and 3 have ... Perl Ruby R to c C # can see ... I feel that the ta is poor = and when we work together to finish the big homework ... The communication of various languages is also a big pit ah ... Finally still have to go to do C don't understand C words python and other language communication how to do ...
Of course... I have never seen anyone write Java ah haha what, you say C difficult to learn?????
  • 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.