Also talk about what the first programming language should learn __ programming

Source: Internet
Author: User


It's been a long time thinking about which programming language programmers should learn first, what programming languages they must master, and how to learn a sequence. Just to see Mr Kim is also studying the first programming language selected who (http://blog.csdn.net/bitfan/article/details/7939691), here also express personal views.

The first programming language that teacher Kim said must be "interesting, simple and useful" and I basically agree with it.

First of all, if the beginning is not interesting, can not inspire the interest of learners is difficult to enable students to continue to study, there is no first step of the introduction of the more hard to learn the language of programming. But in fact, "interesting" is not necessarily the programming language itself, but what to do with the programming language, such as a simple game, a simple application, so that beginners have a desire to learn, and through their own efforts to complete a finished application development, so that it has a sense of achievement. The assumption is C language, in fact, it may also be a combination of programming language and hardware, to control some led, to do a simple clock, but also to make beginners very interested in the use of VB to do some simple Tetris, calculators and other applications are also very interesting, and so on. In short, interest is not necessarily in the language itself.

Second, "useful" is not a simple question, of course, if the language learned such as MATLAB can do a lot of calculation, for an engineering students, future research workers, other research work may be very useful, but for a programmer is not very useful, it depends on the future of the career, Different career paths to learn things should not be the same.

In particular, the Kim teacher said that the first language "must be able to fully reflect the modern software development of the basic ideas and technical achievements" is not very much agree, because the first language learning process in the load of too much will make beginners indigestion, but will blow its enthusiasm, heart fear, retreat.

    In fact, when studying what the first programming language should be, we should first determine the purpose of learning the first programming language. Personally think that each programming language learning goal is not to learn how to develop the available engineering software, nor to really master the programming language, but should help beginners to convert thinking, understanding the way people communicate with the machine. A few days ago to help a Beijing university design mobile phone software Development course, a semester's course, 0 Computer Foundation, has not studied the operating system, the microcomputer principle, the digital circuit and so on, even if did not have learned a programming language, let me really have a headache, 96 hours to learn a programming language also to learn the handset software development related technology. The transformation of people's thinking mode is very slow, so the problem is to learn the programming language itself, while learning the development of mobile phone software, because the language itself is difficult to understand, leading to the whole course is very difficult. This reminds me to start learning the first programming language----C language, although the exam results are very good, but their feelings are not very thorough, the mind is always some things are not very understanding, such as functions, recursion, etc., but also later slowly understand through. For a student, a semester's course is enough to understand the basic concepts of a programming language as long as it understands how the programming language is going.

    The first programming language in practical engineering applications. Among programmers, the learning route is divided into two categories, one is to start learning C language, and then to learn to java/c# C + +, and then turn to the other language, the other is to start learning java/c#, and later because of work need also learn C language or C + +. The former, because of learning C language and C + + in the process of the basic knowledge of programming to learn very solid, it is faster and deeper to understand Java and C # because the entire knowledge chain from computer hardware to Java is complete, but for the latter, many of the underlying knowledge is not learned while learning Java, To the bottom of the understanding, and then to learn C + + will feel more difficult than Java, and because of the inertia of the people to C + + also learn bad. In terms of the art of War, the former belongs to "Burn the Bridges" one kind, because the rear is not the retreat, because the C + + post is not many and to the computer comprehensive technical request is high, wants to have the work or the promotion level must transform the study java/c#; for the latter is different, because will java/c#, the job opportunity also many, /c++ learning is not good, so there can be many positions to choose, not to play the greatest potential. As a result, the former is more likely to become a more advanced software technician, and the latter is more difficult. Moreover, once proficient in C + +, and then to learn java/c# has not been a problem, but only familiar with the coding rules, so, the former is also a more natural way of learning, but its entry threshold is higher, beginning to need a certain perseverance to pass that stage.

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.