Want to learn programming, ask from which start better: C/c++,python or Lisp?

Source: Internet
Author: User
Science and engineering chemistry/Materials major, have a certain mathematical foundation but no programming experience.

Reply content:

I think it's python.

More than once I have said to people, non-computer professionals, learning programming the most important thing is to keep the interest, rather than the problem of tangled skill tree. Python is easy to get started (although the language itself is not as simple as it is), has an interactive development environment, and many third-party libraries, and fun to learn is much more fun than C + +.

I also agree that every professional programmer should learn, or more or less, C. However, c is too low-level, strong in memory operation, the function is very complex, not suitable as the language to get started.

In addition, you are a student of science and engineering, Python has a scientific computing library like NumPy, SciPy, and a data presentation library such as Matplotlib, and from a research perspective, Python has the potential to become a powerful tool for you. Are you sure sister paper really wants to write a string of characters and maybe encounter a variety of smelly bugs and strange environment settings instead of just watching the hacker empire get hot? If it is used to set near, what others learn, what you learn.

Really learn programming do not think of yourself as a sister, how others learn you should learn. Programming should be independent of the language, language is the description of tools, are similar, not a lifetime of things, do not chap. Four words: please contact me

^_^ Schemepython

Not to say that Python is not objective. You look at my avatar. Pascal
Mmix in addition to C + +, others are really not easy to learn.
C#
Python
Why doesn't JavaScript consider Java? All right... Every language has its scope of application, see what you want to do ... C basically is specially for the programmer to customize the language, how handy to be more handy. But, the point is, learn Python, do a lot of direction of development, learn C, can write in addition to algorithms, data structures and console programs, nothing else can do. If you want to use C to do more direction of development, with Windows to learn WIN32 API, or GUI with a variety of third-party interface library, network programming with sockets sockets and so on, but also learn a lot of operating system principles, computer networks, algorithms, and so on!!! Even string processing is not handy! But want to directly manipulate memory and afraid of assembly language trouble, please use C! C + + is too complex, not afraid of the words on it, although also with C almost finished also can not do anything too much, or to learn a lot of other. But in general, there are more third-party libraries available. Python is much more comfortable than C + + and does not have to manage memory. In addition to poor performance, others are good. The syntax is not as flexible or complex as C + +! It's a little bit harder to learn than C, really just a little bit. If the next step is to learn the algorithm or data structure, C is the best choice! There's nothing to spare! Lisp is a good thing that can not see the output in the short term and benefit from the latter. Look at your question to add, seems to be science and engineering students, like mathematics, Matlab has learned? Scientific computing, modeling, simulation, signal processing, image processing, data analysis and mining, motion control, with MATLAB and Python can be. If you do desktop software development, I still recommend you to learn C/C + +, the algorithm with Python,lisp, other decisive can be a hobby to slowly cultivate. This completely depends on your future direction, as I understand, science and engineering chemical class if it is for scientific research, of course, it is necessary to try some numerical computing has the advantage of the language, first recommended MATLAB, this almost does not need any programming experience, and you have the basis of mathematics, and then back, this thing on the mathematical understanding is required. Secondly, Python,python is a foreign scientific research institutions and universities recommended language, with a simple grammar but more important is a wealth of numerical classes and various disciplines of their own library support, absolutely let you do more, the disadvantage is to run a little slow, after all, is the scripting language, of course, if the algorithm is excellent, In fact, the operating costs of language itself can be negligible, especially for scientific research procedures. Many domestic colleges and universities in the numerical calculation (such as when I go to school) using FORTRAN, in my opinion is completely unnecessary, the first Fortran too deviate from the mainstream, and from the efficiency is not very high, and even grammatical strange, but there is no way many of the domestic predecessors use the program library are FORTRAN, But the teachers don't have time to change the history.Code, a generation left behind, as expected, many schools will use FORTRAN in the future, this is a tragedy, so you can only rely on yourself to learn the others. If you are not for scientific research, the pursuit of a code farm work (completely regardless of whether you are a male or female), to subdivide, but I propose to learn from the C language, because for a yard if you have to rely on the language of the GC to do memory-related processing, I do not understand the underlying, it is not possible, Although most people learn from C, most of the work is using C + +, because the development efficiency will be higher, as for Lisp, if the time is abundant, and so you learn a process-oriented language and an object-oriented language, and then the Holy language is not allowed to, the other said, You read more reading direction also came out, work hard.
  • 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.