650) this.width=650; "src=" http://s4.51cto.com/wyfs02/M02/80/05/wKiom1c0TJfwz5SbAADS_yb12L0995.jpg "title=" 5.jpg " alt= "Wkiom1c0tjfwz5sbaads_yb12l0995.jpg"/>
Some people say that software technology changes too fast, now learning things after two years will be completely eliminated, right?
Do you know who said that? It must have been said by the people who have been eliminated. For example, Delphi, BCB, PB These development tools and language, have been a very beautiful, but now is completely replaced by Java and. Net. So will Java and. Net be replaced, perhaps not for quite a long time.
These eliminated programmers have some common features: only drag the control with the mouse, leaving the IDE do not know how to work, learn a bit of huaquanxiutui to eat for a lifetime, not interested in learning new technology, clock. Now look back at 1, in the entire software technology field, these fast-changing technology actually only accounted for a small piece, but become the whole housekeeping skills of these people, such people can not be eliminated?
Contrary to these popular development tools and languages, many techniques and ideas are seldom changed. For example, the POSIX and SUS standards stipulate the semantics of a set of system function interfaces and basic commands that can be called UNIX, so today Linux, Solaris, and Unix more than 20 years ago are basically consistent on the system functional layer. And the mathematical theory that guides the development of computer science, even the ancestors in the era of computers have not yet been born for us to think good: Boolean algebra published in 19th century, until a century later invented the computer and digital circuit to be useful; number theory appeared in the 17th century, has been the mathematician as a set of fun theory, But only fun, until the computer cryptography was born only to discover its practical use.
Although the various popular development tools and high-level language change quickly, but the underlying programming language is very stable, the kernel of various operating systems are written in C language, previously, and will not change. On the other hand, the design ideas of various programming languages are very stable. In fact, there are only two programming languages in the world, one is C, one is Lisp, the former is imperative, the abstract of computer model, the latter is functional, and the abstract of mathematical function model. Object-oriented is a kind of important software engineering thought, but it is not a new language model, it should belong to the class of C. The same kind of language is actually all the same, a proficient in C + + people learn Java How long it takes? Familiar with grammar one weeks, familiar with the library three weeks, one months is sufficient, the past experience can be set up in the new programming language. However, in order to acquire deep algorithmic skills, logical thinking and abstract thinking, can we really say what the "system" is, how to analyze and design the system, and how long it will take? I'm afraid it will take decades.
Confusion in the process of embedded learning--some people say that software technology changes too quickly, now learning things over two years will be completely eliminated, right?