Memoirs of an old programmer--the development of Chinese software in recent years "turn"

Source: Internet
Author: User

On a business trip, I was fortunate to meet a programmer. At first glance its appearance, about 30 more, call it "old" programmer. This guy's a bad man.
Words, but he talked about his experience of software development. I do not do this business, but according to my social experience, he is not in
To brag about oneself. Therefore, according to the words of the word is not bad, excerpts down, for interested people read the boredom:


"It has been more than 12 years since I entered the university in 1989 and now I have been studying for a doctorate. Although my major has always been software, but not one in
Into this profession can be counted as engaged in this profession. If you think the university is more naïve, from the master really into the field of software development
, it has been more than 9 years now. But what have I done over the years?

The rapid development of computer field is goes without saying. At the beginning of the 90 's, domestic was still the era of DOS prevalence. At that time, I was trying
Figure analysis This is really not called the operating system of small system. Often complacent about being able to control dos at will. Learn basic first, then the
PASCAL, assembler, C and other languages. I have also done some analysis on the binary codes in the BIOS system. Sometimes arrogant think, as long as is able to
Formal things can be expressed in software. And it's not difficult to put an entire PC in my place.

At this time, I came into contact with the real computer network. Say is the network, in fact most people refer to local area network. What's more, then
Novel network is actually synonymous with LAN. If you saw a book on computer network engineering and programming at that time at the bookstore.
, regardless of whether the title has novel these letters, nine out of ten is about novel net. At this time, I was busy studying and studying novel net
Principle of communication. Learn how to do peer-to-peer and broadcast communication on LAN by learning the protocols of NetBIOS, ipx/spx and so on. and write for yourself.
A tool for chatting on a LAN and is complacent. In addition, about the early 90, many people think that network programming is
Socket programming, privately considered a misunderstanding.

However, in the mind, those days are busy learning languages and using the lowest-level tools to disassemble the code of the system. For the network, also suddenly trapped in
The details of the programming using the specific protocol. The overall aspect of the software system is flawless. In a word, all day in the code to the end of the
There is no time for the overall situation of the computer system to take any consideration and thinking.

After entering the Windows era, although the WIN3.1 in the heart and action of irony and resistance, but due to external demand and gradually
The launch of Win95/nt, as well as the mania for technology, began to plunge into the analysis and development of Windows systems. At this time, we also learned the SDK,
VC, VB and Delphi. I'm always happy to be able to quickly master a tool like Delphi in a two-week period. Also for their own use
Delphi developed a development tool in a field similar to Delphi in a few months and was excited.

At this time, I have already recognized the development of language similarities and tools. All languages are just a few unique grammatical and keyword components.
Further, the use of a variety of language development tools, but only to provide a number of their own library/class library. Learning is not difficult. So, this
(about 1995) I also stopped buying books that simply explain how to use a language or develop tools (such as VB, VC, etc.).
Access to UNIX systems is something that comes after work. The refinement of the command-line design of the UNIX system and the ingenious structure of X window make me sigh not
Has. However, due to the relationship between work and interest, and the popularity of the Windows system, I quickly left Spring Snow Unix. That
So, I always fantasize about developing a set of tools similar to Delphi/vb for UNIX. However, for a variety of reasons, it has not been implemented
Now have similar products, make me heartache unceasingly, a little own children but by others brought the kind of ' bold ' sour.

About 95, Java was born. This is not simply called programming language language, I put it down. Because of its simplicity, it can be
Portability and robustness, and catered to the development of the Internet at the time, made me a part of it. Fortunately, I didn't just care about the details of the grammar.
, from the grammatical "almost sensational" general C + + to the "petite and delicate" Java, so that I have a cabaret to consider
What exactly is the object-oriented demeanor of this problem.

Object-oriented thinking I have come into contact since 1993. However, I still cannot claim to have mastered the essence of it until today. Broadly speaking
, the use of object-oriented language design and development is not necessarily the object-oriented design and development; Further boldly, using non-polygon
The design and development of object-oriented language is not necessarily not a design and development of object orientation. You're welcome to say that the current object-oriented developer
In most cases, the data and functions are simply organized in classes. I didn't really appreciate the face until I touched the design pattern.
The initial outline of the object's demeanor.

New technologies, new systems and new languages abound, extreme Programming (XP), refactoring (refactoring), design patterns, anti-patterns
(antipatterns), analytic mode, UML, RUP, middleware, RMI, Java EE,. NET, Linux, WinCE, WinXP,
Java, C # (some seem to be very new, in fact, but with the general public, especially when there is no internet in the information source of the poor);
The old but still popular systems and technologies such as CORBA, TCP/IP, object-oriented and so on we cannot but mention.

While I'm not too bad at following up on new technology, think about it, why didn't I launch a powerful work? Also, as if I was too
Emphasis on personal issues. So one thing to add is that today's human resources hype the ' team spirit '. This hype makes people have a mistaken
People have never considered the problem of co-operation. In fact, our ancestors had long left ' a monk carrying water to eat, two and
Still carry water to eat, three monks no water to eat ' classic review. They also considered the question of cooperation. In private, ' team spirit ' is not just
capacity, and to a large extent, a character problem. Further away, there was a previous book called "Who Moved ..." "The Book of foreign books, unfortunately sold
, but also let the Chinese people forget the wisdom of the ancestors have left behind ' mend ', ' rainy Day ' and other fables and idioms of the existence of.

Back to technical point: what else do we need to do as a software practitioner, in addition to a fanatical follow-up to new technologies? This is any one intended
A big problem that people who have been engaged in this technology for a long time must ponder. Although I can not answer this question, but my experience tells me, can no longer in the generation
Yards in the mud! Of course, I don't mean not programming anymore. But always remember to look at your code from a higher point of view. At the same time, should constantly
To analyze the architecture of successful systems, such as JDK, MFC, VCL, etc. ”

Slightly dull for a moment, he had quite a little underappreciated to say:
"Well, today's society says it needs to be able to sell itself, but what they say is a little ostentatious." But it's mine, too.
Opinion I don't know what's going on, and I haven't met the right opportunity so far. Although the software industry is now depressed, interviews are also one or two times
。 But somehow, there is no further. ”

As my experience has judged, its people are not talkative. But still quite a bit diamond, so I exchanged the contact method with him. Just so I'm going to encourage him.
, we had reached our destination, and when we packed our bags in a hurry, we separate ways in the crowd. I wish he could get a good chance.
and play their talents as early as possible.

Memoirs of an old programmer--the development of Chinese software in recent years "turn"

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.