For programming rookie-level characters, it is necessary to first learn the most basic knowledge! Today from Jiang teacher there learned a lot, let me this parallel imports really realize their shortcomings. It's OK, what's missing ... As long as willing to learn, there is nothing, as long as the hands-on, nothing. Correct your own mentality!
Here are some basic terminology about programming science, so you know exactly what the features are. Can not be that kind of ambiguity, must be clear! Otherwise the study will be very difficult! The following summary also has a lot of not comprehensive, I hope you correct, common learning, common progress!
1 Editor
The compiler generally accepts source programs written by any editor that generates standard files, such as ASCII files. Now, the compiler is bundled into an interactive development environment-ide with another editor and other programs. At this point, although the editor still generates standard files, it turns to the format or structure of the programming language being discussed. Such an editor is called structure-based (structure based), and it already includes some of the compiler's actions, so the programmer will know the error when the program is written, not at compile time. The compiler and the programs that are shared with it can be called from the editor, so programmers can execute programs without leaving the editor.
Five best programming text editors from: http://www.williamlong.info/archives/1387.html
In many cases we will use a plain text editor, Windows comes with a simple Notepad function, so we choose from the user's vote nomination of the top five best text editor (actually there are six). These editors are actually primarily intended for programmers to use, and their listings are as follows.
notepad++ (Windows)
A text editor that is superior to Windows Notepad, is completely free and open source, and can be highly customizable for different programming languages, such as syntax highlighting, code folding, and macros.
Emacs (All platforms)
The Emacs text editor is loved by advanced programmers, with built-in macros and powerful keyboard commands, which is a real treat for editing code, which is almost ported to every platform and has multiple distributions, the most popular being GNU Emacs and XEmacs, which are cross-platform, Completely free and open source.
UltraEdit (Windows)
UltraEdit is a $49.95 shareware, also offers a friendly interface programming editor, support for syntax highlighting, code folding and macros, and a whole bunch of other features, built-in support for syntax such as HTML, PHP, and JavaScript. and its similar to a shareware editplus also good.
TextMate (Mac OS X)
The $63 textmate feature is powerful and attractive, and its interface is attractive, with a large number of enthusiasts in just a few years. Windows users can try using the E-Text Editor like textmate if they like textmate.
Vim (all platforms)
Like Emacs, Vim is popular as a keyboard macro and as a descendant of the famous veteran Editor VI, VIM is well suited to the tastes of keyboard-operated programmers. Vim is highly customizable, and Windows users can try Gvim or Gvim portable, while Mac users have macvim. If you just need Vim's most distinctive part of the lightweight editor, you can try cream.
TextPad (Windows)
Windows-based shareware TextPad is priced at $32.5, it also has a variety of features for programmers, syntax highlighting, code blocking, and macros, and TextPad has a good search ability and ease of use.
English Original: Best text Editors
Chinese translation: William Long
Five best Programming text editors
2 compilers
A compiler is a computer program that translates a language into another language. The compiler takes a program written by the source language as input and produces an equivalent program written in the target language (the destination language). Typically, the source program is a high-level language (high-level language), such as C or C + +, and the target language is the target machine's target (object code, sometimes called Machine code), That is, the code that is written to run in the computer's machine instructions. This process can be expressed as:
source program → compiler → Target program ( It is easy to think that the source program is edited by our editor, and then we use the compiler to get the binary code that the computer can recognize, i.e. the target program)
Where the compilation principle:the AdvancedProgramThe design language transforms intoComputer hardwareThe machine language that can be recognized for the computer to process. The content includes language and grammar, lexical analysis, grammatical analysis, grammar-guided translation, intermediate code generation,StoreManagement, code optimization, and target code generation. Its theoretical foundation is solid, and its formal system is not only applied toCompiletechnology, but also a lot of applications in artificial intelligence, multimedia technology and databases and other fields. Although only a few people engaged in the work of compiling, but this course in theory, technology, methods to provide students with systematic and effective training, to improve the quality and ability of software personnelcompilers are available in a variety of ways, such as A/C + + compiler, GCC compiler, g++ compiler, etc. 3 linker A linker (Linker) is a program that links one or more target files that are generated by a compiler or assembler to an executable file, plus a library. The target file is a program module that includes machine code and linker information available. Simply put, the linker's job is to parse an undefined symbol reference and replace the placeholder in the destination file with the address of the symbol. The linker also needs to complete the organization of the address space of each target file in the program, which may involve relocation work.in theIBM mainframelikeos/360, the linker isLinkage Editor; inUnix-likethe commonly used linker on the system isGnu Ld.most modernOperating systemare providedStatic linksand theDynamic linkstwo different forms.
4 DebuggerHow the debugger works: based on the exception mechanism of the central processing Unit, and the subsystem (or module) distributed by the abnormal distribution of the operating system (or modules) is responsible for encapsulating it in a more friendly manner with the debuggerReal-time interaction.
Each time the debugger catches an exception \ event, it will determine whether it needs to take over the exception \ event based on the debugger's own logic and decide which function of the debugger to take over. When the debugger takes over this exception \ event, will be based on the user's needs for further processing, after processing the notification system has been processed, this time a new round of exception \ Event capture, distribution cycle began.
5 Integrated development Environment
Integrated Development Environment (Integrated development,ide). Its abbreviated form the IDE also refers to an "electronic integrated Drive".
The integrated development environment (IDE) software is an application for a program development environment, typically including code editors, compilers, debuggers, and graphical user interface tools. The program can be run independently or in combination with other programs. For example, the basic language is available in Microsoft Office software, and you can write WordBasic programs in Microsoft Word documents. The IDE provides users with the convenience of using modern programming languages such as Visual Basic, Java, and PowerBuilder. The IDE is used to develop HTML applications. For example, many people use the IDE when designing a Web site (such as HomeSite, DreamWeaver, FrontPage, and so on) because many of the tasks are generated automatically.
The integrated development environment simply integrates the editor, compiler, linker, and debugger. The integrated development environment that programmers often use: under Windows, vc++6.0, VS2005 series, Code::Blocks, Qt-creator, and so on; Linux is also availablecode::blocks,Qt-creator and some of them I didn't use.
PS: We often see header files. h and. HPP, where. h represents only the header file, while < Span style= "COLOR: #ff0000" >hpp, the essence of which is to mix the. CPP implementation code into the. h header file, the definition and implementation are all contained in the same file, then the caller of the class only needs to include the HPP file, no longer Add the CPP to project to compile.
Summary: To understand the compiler, compiler, linker and debugger each of the usefulness of programming can be a great help. The integrated development environment, while simple, reduces our workload, but is not conducive to programmer development programs.
Learning Summary (i)