How to become an excellent programmer?
A dear brother "said the program written by the program is not the 'algorithm grammar', but it is necessary to meet the tools to meet the needs of users." I am very
. To reach user needs, you must consider all aspects, such as business, human-machine interaction, efficiency, etc., not just one
Language (syntax) problem, language (syntax) is just a tool, I only know the grammar, I don't know, it is really a programming machine! Programming machine
After several months of high school students in India, they can be competent in accordance with rigorous software engineering methods. Big
Do home believe, I believe it!
I can't help but say that the problem of the "computer department graduates, especially undergraduate college).
Born to the end, how to adapt to social requirements ". Everyone also saw a lot of college students say" proficient in N languages, familiar
N kinds of tools, do not know other knowledge in the school to go there, willing to make programming machines, waste the people's tax, dry high school
It's a pity! This is the same in the country. Who does the domestic software development industry need? If only
Just encoding the machine, then I estimate that China Silicon Valley is still going!
Society seems to also need to encode machines, flip to recruit advertising, and do application development requires proficiency in a certain language, familiar with a certain tool.
Few people need to understand people who understand software engineering. In the idea that I personally biased, the national software industry should take off, and it is more necessary.
Manage people using encoding machines, namely managers. Domestic software industrial coding machine has been much more. I hope not to anger those
Programming expert! Which of the SYSTEM DEVELOP is in China? Can you feed you, can you make money? Ben
Brotherhood will also know, and have not found a few people with high levels of people. After all, OS, DB MS, Compiler is
I have made abroad; I don't talk to me Linux. After all, I still have a lot of people who burn money. I will feed my belly. I am going down
Many of the programs that engage in 4GL languages want to go to the so-called lower language such as VC, I always say "in the XX city, first use 4GL
The tool is survive, then learn the VC! ". Saying simple: first solve the stomach problem.
How do I determine if my programming machine?
1. Faced with demand is not considered by users, just consider which procedures techniques show their language syntax skills.
2. Learn N language.
3, never learn or practice software engineering.
4, the grammatical language level is far from everyone, especially some rare strange syntax. Done interested and creative,
Repeated and cumbersome labor, doing meaningful - the only meaning is to make money, and it is really a half pound, not enough eight. Last day
Tired, but you can't learn yourself. The end result is that the development of social science and technology is not aging. sorrow! ! !
The key to developing software is to have ideas, a good idea is more important than anything. This is especially the same about networks.
In fact, a programmer's ultimate technology needs and actual combination. When the programming level arrives at a certain level, the language is used
Is the biggest obstacle, grasp the entire project, the grasp of software engineering, the design of the database, and the analysis of the implementation effect, etc.
There is a further consideration! Otherwise, most companies have requested programming experience! These are not the programmers must learn. but
Software engineering, data structure, discrete mathematics, compilation principle, operating system principles, etc. are must be learned, English must also look more.
I can't understand computer English.
I used to learn machinery, (later learned computer), I know how the traditional manufacturing is specified, the designer design drawings, then review, then go to the workshop sample, then modify the drawings, so Repeated several times before it can be produced
Product order. And in the software industry, it is not so good. The leaders say that you do it, that he does, and has not been analyzed.
(Many domestic are like this), there is no system analyst here, everyone is a designer, but also a programmer. Although this
For individuals, you can learn a lot, but it is not conducive to the project. my country's software process level is indeed worrying, so far
It is a few more than a dozen people's small software, and it has not been able to get a large software.
As for the issue of the secondary application, I think as long as I enter this line, it will not be part of the undergraduate. Because there is no superiority for him
The academic conditions, then I have to fight hard, but this is adapting to the current rapid development of computer software. Promote can only represent the past
And the foundation. More needed is the ability to solve the problem, the person who is dry. I am also a middle school. Sometimes I am really a bit
Mince, no high school and universities (due to that era, I only know that I can reduce my parents a little burden), so I have been
Learning into effort (CORBA, UML, Java, Software Process, etc.), so far I didn't think my architecture ability and encoding water
Pradescence differences (just think that the english is too bad). So I feel that the middle school is not bad better than the general college (of course some heavy
Except for the school // HEHE, sometimes there is a greater pressure to force yourself to learn. The qualifications are not important, the key is a person
Quality. We cannot position targets on behalf of programmers or coders (CODER). What is the use of the light? That called "encoding"
",", In foreign countries, physical labor, unlike domestic, write procedures, is called high technology. Important is analyzing problems, solving
The ability, systematic analysis, system design and project planning of questions and planning are just right.
Programmers should not rely on development tools, and programmers should have a thinking, a spirit, a concept. Just like
Like Richard.m.stallman, there is your own spirit and struggle for free software. Just like seeking Bojun, for the revitalization of national software
struggle. This is a real programmer. It should be said that they pay more attention is not technology, but the software's thinking, the soul of the software! !
Everyone has its own learning method, perhaps this approach is useful for me, but it is useful to all people. and so,
Don't blindly follow the learning methods of others, think about your own learning methods. But the following principles are to follow:
1. Adhere to, stick to, and stick to it. First of all, there must be perseverance, and the madness of the programming can also help it in a certain program. I am
Such. At first, I learned that VC is three days of fishing two days, and the progress is very slow. Fortunately, the programming is persistent, so that I have
Hold up. There are a few people around me, they are more than half a year than I first learn, but now I still learn; and I am not very
It is amazing, but the basic application is not here. I just read the book every day, practice, almost all the time is in it,
Sometimes I am thinking, why? Because I really want to smash this hard bone, I don't want to waste halfway, I think I feel VC.
Not only learn more, the most important thing is to cultivate our own perseverance to overcome difficulties. 2. Practice, practice, and practice. When you have learned a new technology or knowledge, it is the best to consolidate learning.
the most effective way. This practice is not to do it in the example of the book, but to give yourself a question according to your own ability, then go
Complete it. Only in this way, you can find your own shortcomings, and increase programming experience. But be a qualified programmer, light
Write the code is far less than enough, more importantly thinking. It is the unchanging truth.
3. Master Programming Thoughts. Learn a language, you can't just be just a language, but also pay attention to the ideological methods behind the language.
Questions, analyze problems, solve problems, not learning for programming. See how it is to solve a problem, why do you want this?
If you go, he is always in line with objective facts, just like some words, there is some logic, data organization, information transmission,
Rely on your own mind, then look at how to express your ideas in programming languages. As long as you practice carefully, try
Do it, seek fun, will reach the goal.
4. Patient, careful, normal heart, teamwork spirit. In this era, the information is everywhere, no matter what advanced technology
Surgery, as long as the information is found, it will learn from a few days and two months. Now there is no program that can't write, write
Not because you have not finished writing it. I thought that now the programmer is not necessarily intelligent, but more needed to have a boring project.
Patience, find a careful care of Bug, the normal heart of money (don't rush to get the money as soon as possible), the last most important thing is
The spirit of the whole overall situation and teamwork.
If you have never been exposed to programming, the speed of learning VC may be slower than those who have been programmed for process,
Because you have to understand the meaning of commands and statements. But as long as you work, you can get the help of others, you will be VC in half a year.
Have a certain understanding.
Don't think that you can learn objects for object-oriented programming. The process and object-oriented object is really different.
Big. Take the word package, I thought about it right now. So don't learn to program, you will study
VC's channel is relaxed than others. Learning VC is a difficult hard learning process. In order to really use VC, you have to
First learn from OOP, maybe browsing a book of pure theory to be more interesting. You will examine OO thinking from another perspective.
Next, learn C , learn the Windows API, learn MFC, analyze MFC, expand MFC, create your own class library (don't enter
The figure writes a class library with the MFC equivalent. Then master the various parameters of the Microsoft C compiler, study Microsoft C / C
The evolution history of the language compiler (combined with various background knowledge). Mastering the idea of programming, conquering VC is just a problem.
Now there is a status quo to pay attention to it, I found that a big initiator thinks that VC is a language, C is another
A language. Some beginners still think why they don't have to learn C ! I think this problem is that many people have no attention.
Mean. It is the importance of C to VC learning. I have an example, telling you. I have a classmate, he contacts programming
As I have to be early, when I was still marked in VC, he learned C for a long time. Later, when I was slightly understood by VC, he also found that C will not follow the era of the times. I suggest him from C language, but he thinks
There is C's learning skills, and you don't need to learn C at all. The difficulties encountered in the study of VCs can really be significant.
Recently, he still went to buy a book of C , learn C from the head. I hope that through this example, I can make the majority of first
Scholars know that C is the importance of learning VC.
In my understanding, VC is just a programming tool, just like BC, BCB, Delphi, in fact, for programming the most fundamental
It is three aspects, language, development kits, operating system API, and three aspects should be said to be relatively independent.
Learning VC, must have a deep understanding of C . For example, for virtual functions, not only knowing such a stuff,
Know its memory mirror. In this way, many things in VC will be lifted against three, and it is half-time. I have learned VC for nearly 2 years.
But I consciously impetuous the first year, I went over and over again, but I couldn't go deep every time I only read it. straight
On the eve of graduation, the pain is in thought, overcome impetuousness, and seriously learned from the most basic beginning, put every water,
After three months of hard work, finally. Until now, I will get COM / DCOM in half a month, and I have a blessing of the day of the day, so advised to learn
Friends of VC, must stand the hardships of the beginning. Success belongs to a persistent person.
Learning VC, but also a deep understanding of the Windows running mechanism to become a master. This requires learning Microsoft technology,
WINDOWS programming, Win32 system (actually Win32 system implements a lot of things we can see on the screen, the most
The kernel of the code NT is not large) is to learn. In addition, COM (in-depth research, how to understand how the object across the process boundary,
Finally, it is only possible to realize your own interface in EXE. But this is a little less necessary), DCOM,
ActiveX, Windows DNA, etc. If you have your ability, learn.
I don't agree with ActiveX. I thought it was very problematic, it's really slow and unstable (maybe I am a bit.
Bother is biased), I have used it to use it. Your program is going to be taken by others in the future. Once I used a control piece, the program wrote
Big half, it gives me a contact, please pay 333 US dollars, I have more than two months of work, I am bothering? Now I don't use it as much as possible.
The source code written (I have collected 3-400MB of various code), it is as convenient to use it, but also use sideways, it can also be transformed.
VC is developed by MS, so that it is a Windows API, you can not use C or C
Write a very good program, of course, if you are more skilled in C , and if you are familiar with the development kaws MFC, you may have to be relaxed.
So in my opinion, the process of learning can be like this:
1. Learn C or C first, write less invested in the Windows console environment; 2. After basically mastering the syntax, start contacting the simple system API, learn the programming principle and mechanism of Windows;
3. When you write a simple menu program, you can simply operate the GDI function under WM_Paint, start learning MFC,
You can learn from Step Tourist, see the source code of MFC, understand the definition and implementation of several critical macros, especially
Message _map. In the process of learning, in order to add some challenges to yourself, try not to use the Resource Edit, try yourself
Encoding the control of the control, the response of the message. It is to see your own creation, do some small tools, especially yourself
What is needed, it should also be helpful to yourself. What we want is the result! Good analysis problem, high-efficiency
The ability of the problem is that we really have to learn.
For VC, I have some experience:
1. Technology-based, language is time.
2. Single class of MFC, DOC / view is careful.
3. OOP should be careful, use improper use of a lot of work and bad code.
4. If possible, consider choosing to use Delphi (CBuilder VCL).
5. Go to a certain level, you must learn COM.
Learning VC has a considerable content to learn, and the last depth looks at the individual's understanding and diligence.
1) Master the latest standard C . (2 months)
If you have thought of C / C in college, you also have dynamic_cast / static_cast / template / try / catch / throw / STL / ...
Feel unfamiliar, then you refresh a new ANSI C standard.
- This is not associated with VC , and G / BCB has supported.
2) Learn SDK programming. (6 months)
Pain is temporary, necessary, persistence is victory! It is recommended to write small and fine tool software with LCCWIN32 / MASM32 / TASM.
"Windows Programming Guide", "Advanced Windows Programming" 3) Research MFC source code. (6 months)
Don't be blinded by a big pile, Just TRACK AND DIG INTO IT! ! How to expand how MFC is extended, packaging
After the SDK, the self-sufficient power is gradually being surrounded by its MFC system framework.
("MFC INTERNALS") 4) Research OLE / COM technology.
COM / ActiveX technology is the core technology of MS, and only thorough insight into its theoretical essence, you can experience the current operating system.
The technical trend is changed to not change.
("Inside OLE 2")
*** Some suggestions ***:
1) Delphi / BCB / VB can quickly construct the interface, but for the real learning, understand the system is not a good platform,
But if there is time to read the source code to read the VCL, see how Borland encapsulates the system, and you can learn from a lot.
2) Learning ASM is a great benefit to understand C . Soft-ice is also a good tool that is combined with VC .
3) The language itself is a fur, algorithm is bone; no matter how the senior language is developing, it is constantly improving self-innovation capability on the basis of understanding the operating system. If the essence is native to the chest, what kind of development tools can be used to drive, and when they see it. Visual C Technology Development Link Microsofts VC Page http://msdn.microsoft.com/visualc/
Microsoft's Visual C Site, understand the best place for Visual C latest news.
Visual Studio Start Page http://msdn.microsoft.com/vstudio/
Microsoft's Visual Studio site, understand the best place for Visual Studio's latest news.
Mfc FAQ Home Page http://mfcfaq.stingray.com/
The best MFC FAQ collection site on the Internet is made by Stinggray Software, providing their EXE local version in our CD.
Reliable Software http://www.relisoft.com/index.htm
Reliable software company MFC Programmer's Sourcebook http://www.codeguru.com/
A huge MFC source sequence collection site, including content is very comprehensive, very fast, most interesting is that everyone can express their own opinions on the source program. Therefore, it has also become a gathering place for many programmers development. Producer: zafir anjum
Mfc Programmers' Resources http://www.pcmi.net/mfc/
A link to the source program site, discussions and use guides.
Mfc professional http://www.visionx.com/mfcpro/
A site that contains the source program and use skills.
Worldcom mfc library site http://users.aol.com/chinajoe/wcmfclib.html
Contains a lot of free MFC classes.
Visual C / MFC Resources http://www.r2m.com/windev
R2M's Windows development resources. The link is very rich.
Pj naughters home page http://indigo.ie/~pjn
PJ Naughters of the Personal Home.
Win32 Foundation Classes http://ourworld.compuserve.com/homepages/sam_blackburn/wfc.htm
Some MFC classes collected by SAM Blackburn.
Internet Wisdom - Windows Programming MFC http://www.kudonet.com/~ixfwin/winprog_faqs/wpw_mfc_index.html
Tony Lee Collect MFC programming data from the newsgroup. Microsoft Systems Journal Http://www.msj.com
Microsoft's system magazine, site contains the source program of the magazine.
Visual C Developers journal http://www.vcdj.com/
Very famous Visual C development magazine, the site contains the source program of the magazine.
Visual C Magazines http://msdn.microsoft.com/developer/bookmag/visualc.htm
Microsoft's Visual C magazine.
Dr. Dobb's journal http://www.ddj.comdr. The magazine hosted by Dobb contains a large source program.
Ask THE MFC Pro (Fawcette Technical Publications) http://www.inquysiry.com/techtips/mfc_pro/
FAWCette Technology Press MFC FAQ.
DEVCENTRAL Q & a http://devcentral.iftech.com/learning/qa/
Interface Technology Company's FAQ.
Mfc FAQ http://mfcfaq.stingray.com/
Michael Pickens made FAQ.
Tips for Visual C Developers http://www.pinpub.com/vcd/tips.htm
Pinnacle Press Tips Collected by Visual C Development.
ActiveX FAQ http://www.widgetware.com
FAQ on ActiveX technology. The mfc mailing list http://www.digiday.com/mfcpro/JOINMFCL.HTM
Mailing Lists (Miller Freeman) http://www.cuj.com/link/subject34.html
Mailing Lists and newsgroups (Microsoft) http://www.microsoft.com/Workshop/essentials/mail.asp
The Official MFC-L Mailing List Archive (THE MFC Professional) http://www.visionx.com/mfcpro/mfc-l/index.htm
Mfc@listserv.msn.com (l-soft international) http://www.lsoft.com/scripts/wl.exe?sl1=mfc&h=ListServ.msn.com
Archives of msvc-beginners@maelstrom.stjohns.edu (st. john's university) http://maelstrom.stjohns.edu/archives/msvc-beginners.html
WINDEV-L Mailing List mailto: WINDEV-L-REQUEST@Netcom.com
Deja news http://www.dejanews.com/
Very famous deja news, contains very rich content.
MSDN NewsGroup list http://msdn.microsoft.com/developer/newsgroups/newsgroups.htm
Microsofts MSDN's NewsGroup list.
Microsofts VC NewsGroup news: //msnews.microsoft.com/Microsoft.public.vc.language
Microsoft's Visual C newsgroup.
Microsofts MFC newsgroup news: //msnews.microsoft.com/microsoft.public.vc.mfc
Microsoft's MFC News Group.
Public mfc newsgroup news: //msnews.microsoft.com/comp.os.ms-windows.programmer.tools.mfc
Public MFC News Group.