What Is Programming? All Need You Know

What Is Programming? All Need You Know

Programming is the national abbreviation of programming, which is the process of letting computer code solve a certain problem, specifying a certain operation method for a certain computing system, so that the computing system runs according to the computing method, and finally obtains the corresponding result.

What Is Programming? All Need You Know.webp In order for the computer to understand human intentions , human beings must tell the computer the ideas, methods and means of the problem to be solved in a form that the computer can understand , so that the computer can work step by step according to human instructions to complete a certain task. . This process of communication between people and computing systems is programming.

Programming: Designing a "controllable system" with logical flow function [Note: Programming is not necessarily for computer programs, but for systems with logical computing power, programming can be considered.

Programming language

Machine language

In a computer system, a machine instruction specifies a specific action of the computer system. When a series of computers are designed and manufactured, a number of instructions are used to specify the basic operations that the series of computers can perform, and these instructions together constitute the instruction system of the series of computers.

In the early days of computer applications, programmers used the machine's instruction system to write computer application programs, which are called machine language programs. For programs written in machine language, since each instruction corresponds to a specific basic action of the computer, the program occupies less memory and has high execution efficiency.

The shortcomings are also obvious, such as: the programming workload is large, and it is easy to make mistakes; it depends on the specific computer system, so the generality and portability of the program are very poor.

Assembly language

In order to solve a series of problems caused by writing applications in machine language , people first thought of using mnemonic symbols to replace machine instructions that are not easy to remember. This mnemonic notation to represent computer instructions is called a symbolic language, also known as assembly language .

In assembly language, each assembly instruction represented by a symbol corresponds to a computer machine instruction one by one; the difficulty of memory is greatly reduced, it is not only easy to check and modify program errors, but also the storage location of instructions and data can be automatically allocated by the computer.

A program written in assembly language is called a source program . The computer cannot directly recognize and process the source program. It must be translated into a machine language that the computer can understand and execute in some way. The program that performs this translation is called an assembler .

Assembler

Assembler Using assembly language to write computer programs , programmers still need to be very familiar with the hardware structure of the computer system, so from the perspective of programming itself, it is still inefficient and cumbersome.

However, it is precisely because assembly language is closely related to computer hardware systems that in some specific occasions, such as system core programs and real-time control programs that require high space-time efficiency, assembly language is still a very effective programming tool so far. But it has irreplaceable characteristics. For example, some microcontrollers or some programs that directly control the hardware must use assembly language.

high-level language

A high-level language is a general term for a class of programming languages ​​that are close to human natural and mathematical languages . According to their different starting points and methods of programming, high-level languages ​​are divided into process-oriented languages ​​and object-oriented languages, such as Fortran language , C language , Chinese programming language , etc. which are all process - oriented languages; Object-oriented languages ​​represented by it are different from procedural languages.

These languages ​​support "programs are collections of discrete objects that are interconnected", such a new way of thinking about programming, with encapsulation, inheritance and polymorphism , etc. feature.

According to certain grammar rules, high-level languages ​​are composed of operation objects and operation methods that express various meanings. The advantages of using high-level languages ​​to write programs are: programming is relatively simple, intuitive, easy to understand, and not prone to errors.

High-level languages ​​are independent of computers, so computer programs written in high-level languages ​​have good versatility and good portability. A program written in a high-level language is called a source program, which cannot be directly understood and executed by a computer system. It must be converted into a target program that the computer system can recognize and understand through a language processing system before it can be executed by the computer system.

Execution principle

The computer cannot directly recognize, understand and execute the source program other than machine language , and must be converted into something that the computer can directly execute.

There are two ways to convert a source program written in a high- level programming language into a machine object program: interpretation and compilation.

In the interpretation mode, the computer executes the source program written in the high-level language while interpreting it, and cannot form the target file and the execution file.

In the compilation mode, the source program is first processed by a compiler corresponding to the programming language used, and the processed source program is converted through the stages of lexical analysis , syntax analysis , semantic analysis, code generation and code optimization of the source program.

It is a target program represented by binary code , and then embeds the function calls and system function calls used in the program into the target program through linking program processing to form a binary executable file that can be executed continuously. Calling this executable file can realize the corresponding function specified by the programmer in the corresponding source program file.

What Is Programming? All Need You Know.jpeg

Language evolution

1946 Konrad Zuse, a German engineer, independently developed Plankalkul while he was hiding in the Alps near Bavaria . He applied the results to other things, such as chess .

1949 Short Code, the first computer language actually used on electronic computing devices, although it is a purely hand-compiled language.

1951 Grace Hopper, working for Remington Rand, started design work on the first well-known compiler, Ao. When Rand released the language in 1957, it was called MATH-MATIC.

1952 Alick E. Glennie, who used his spare time at the University of Manchester to invent a programming system called AUTOCODE, an unfinished compiler.

1957 FORTRAN - the mathematical formula conversion system (FORmula TRANslating, the origin of the FORTRAN name) - appeared. The development team was led by John Backus, who also contributed to the development of ALGOL and the Backus Paradigm (BNF).

1958 FORTRAN II appeared, which was able to handle subroutines and link assembly language . Design work started on LISP-LISt Processing by John McCarthy of MIT. The original ALGOL specification appeared. The specification does not describe how data is input and output; these issues are left to the independent implementer.

late 1960s Pascalwas designed and founded by Professor Niklaus Wirth of Switzerland. It has a concise syntax, structured program structure, and is a structured programming language . Pascal is taught in computer language classes in many schools .

Create COBOL

1959 LISP1.5 appeared. COBOL was created at the Conference on Data System and Languages. The compiler appears

1960 ALGOL 60, the first structured language appeared. It is the root node in the family tree of structured languages ​​and eventually produces languages ​​like Pascal. ALGOL became the most popular language in Europe in the mid to late sixties. In the early 1960s, Kennet h Iverson began work on languages ​​that eventually resulted in the APL-A programming language. It uses a special character set , and in order to use it correctly, you also need APL-compatible I/O devices .

1962 APL is written into Iverson's "A Programming Language" book. FORTRAN IV appeared. SNOBOL, a product named after the "initial spelling", was an absolute success in the early days of work, SNOBOL - the StriNg Oriented symBOlic Language language. It spawned other products named after the initials: FASBOL, a SNOBOL compiler (1971), and SPITBOL - Speedy ImplemenTation of snoBOL - also in

1971. 1963 ALGOL 60 to make corrections. Work on PL/1 begins.

1964 APL\360 is implemented. At Dartmouth University , Professors John G. Kemeny and Thomas E. Kurtz invented BASIC. The original implementation was a compiler . The first BASIC program ran at 4pm on May 1, 1964. PL/1 released.

1965 SNOBOL3 appeared.

1966 FORTRAN 66 appeared. LISP 2 appeared. At Bolt, Beranek and Newman started work on the logo. The head of the group is Wally Fuerzeig, but it also includes Seymour Papert. The most famous LOGO is "turtle drawing".

1967 SNOBOL4, SNOBOL with greatly enhanced functions, appeared.

1968 ALGOL 68 is a monster compared to ALGOL 60. Some code committee members - including CARHoare and Niklaus Wirth - have endorsed the plan. ALGOL 68 proved difficult to achieve. ALTRAN, a variant of FORTRAN appears. COBOL is formally defined specification by ANSI. Niklaus Wirth starts work on Pascal.

1969 500 people attended the APL meeting at IBM headquarters in Armonk, New York. The distribution of APL was so in demand that the event has since become known as "The March on Armonk". Programming

1970 In the early 1970s, Charles Moore wrote the first meaningful programs in his language Forth. Work on Prolog began around this time. Also one day in the early 1970s, Xerox PARC, led by Alan Kay, started Smalltalk design work. Earlier versions included Smalltalk-72, Smalltalk-74 and Smalltalk-76. An implementation of Pascal on the CDC 6000-series computer appeared. Icon, a descendant of SNOBOL4, is launched.

1972 Konrad Zuse's manuscript on Plankalkul (see 1946) is finally published. Dennis Ritchie designed the C. But the final reference manual was published in 1974. The first implementation of Prolog - credit to Alain Colmerauer and Phillip Roussel.

1974 Another ANSI specification for COBOL appears.

1975 Tiny BASIC, designed by Bob Albrecht and Dennis Allison (implemented by Dick Whipple and John Arnold), ran on a microcomputer with 2KB of memory. A 4KB machine is more suitable, which will have 2KB of memory applied to the program.

A BASIC version written by Bill Gates and Paul Allen was sold to MITS (Micro Instrumentation and Telemetry Systems) on a per-copy royalty basis. MITS produces the Altair, a microcomputer of the 8080 architecture.

Scheme, a "dialect" of LISP, designed by GL Steele and GJ Sussman. Pascal User Manual and Reports published, written by Jensen and Wirth. It is still considered by many to be the definitive reference book on Pascal.

BW Kerninghan describes RATFOR - RATional FORTRAN. It is a preprocessor and allows the use of C-like control structures in FORTRAN. RATFOR was used in Kernighan and Plauger's "Software Tools", which appeared in 1976.

1976 The Design System Language appeared, which is considered a precursor to PostScript.

1977 An ANSI standard for MUMPS emerges— Massachusetts General Hospital Utility Multi-Programming System. MUMPS was originally used to process medical records, and it can only recognize string types. It was subsequently renamed M.

A design competition will lead to the creation of Ada. The Honeywell Bull team, led by Jean Ichbiah, is about to win the race. Kim Harris and others established FIG, a FORTH interest group. They developed the FIG-FORTH, which sells for about $20.

One day in the late 1970s, Kennet h Bowles designed the UCSD Pascal, which enabled Pascal to be used on PDP-11 and Z80-based computers. Niklaus Wirth began designing Modula, the forerunner of Modula-2 and the successor to Pascal. language program

1978 AWK - a text processing language named after its designers Aho, Weinberger and Kernighan. The ANSI standard for FORTRAN 77 appeared.

1980 Smalltalk-80 appeared. Modula-2 appears. Franz LISP appears. Bjarne Stroustrup developed a language set - collectively known as "C With Classes" - which became the breeding ground for C++

1981 Effort started out as a "common dialect" of LISP, often referred to as Common LISP. Japan began the fifth generation of computer systems engineering . The main language is Prolog.

1982 ISO Pascal appears. PostScript appeared.

1983 Smalltalk-80 announced: It was done by Goldberg et al. Ada appears. His name comes from Augusta Ada Byron, Countess of Lovelace, daughter of the English poet Byron .

She is credited as the first female programmer for designing a program that understood Bernoulli's equation on a Babbage analyzer . In 1983, the new "Mission Assessment" application directed by the Department of Defense was written in this language.

In late 1983 and early 1984, Microsoft and Digital Research jointly released the first C compiler for microcomputers .

In July, the first C++ implementation showed up. The name was taken by Rick Mascitti. In November, the "shock" of Borland's Turbo Pascal was like a nuclear storm, thanks to a BYTE magazine ad.

1984 The reference manual for APL2 is available. APL2 is an extension to APL that allows nested arrays .

1985 Forth controls the submersible to locate the wreck of the Titanic . The PC version of Vanilla SNOBOL4 is released. Methods, line-oriented Smalltalk on the PC appeared. Microcomputer version

1986 Smalltalk/V appeared - the first version of Smalltalk to be widely used in microcomputers. Apple released Object Pascal for Mac machines. Borland releases Turbo Prolog. Charles Duff releases Actor, an object-oriented language for developing applications for Microsoft Windows . Eiffel, another object-oriented language appeared. C++ makes an appearance.

1987 Turbo Pascal 4.0 is released.

1988 CLOS specification - Common LISP Object System - published. Niklaus Wirth completes Oberon, his follow-up to Modula-2.

1989 ANSI C specification published. C++ 2.0 formed the first draft of a reference manual. Version 2.0 added features such as multiple inheritance and member pointers .

1990 C++2.1, the book "Annotated C++ Reference Manual" by authors such as B. Stroustrup was published. This release adds template and exception handling features. FORTRAN 90 includes many new elements such as case statements and derived types. Kennet h Iverson and Roger Hui presented the J language at the APL 90 conference .

1991 Visual Basic received the Best of Show Award from BYTE Magazine at the COMDEX Spring Show.

1992 Dylan - named after Dylan Thomas - a Scheme-like object-oriented language released by Apple.

1993 ANSI releases X3J4.1 Technical Report - First Draft Object-Oriented COBOL Proposal. The real standard is expected to be completed in 1997.

1994 Microsoft integrated Visual Basic for Application into Excel.

1995 In February, ISO accepted the 1995 revision of the Ada language. It's called Ada95, and it includes OOP features and support for real-time systems .

1996 The first ANSI C++ standard pre-release.

language cataloge

  • C language is the Chinese version of the C language [1]
  • O language O language is a Chinese computer language (or set: O assembly language, O intermediate language, O high-level language)
    • AAuto is a new hybrid programming language dedicated to the rapid development of desktop software ,
    • APL , A+ and J
    • Ada is a general-purpose programming language with strong expressiveness
    • AWK AWK is an excellent text processing tool
    • Basic is a programming language designed for beginners
    • Brainfuck is a minimal computer language
    • C++ , C# : C languageis a process - oriented computer programming language ; C++ is a general-purpose programming language that supports multiple programming paradigms with static data type checking . It supports a variety of programming styles such as procedural programming, data abstraction, object-oriented programming , and generic programming such as making icons . C# is an object-oriented high-level programming language released by Microsoft and running on the .NET Framework.
  • *CSSCascading Style Sheets Cascading Style Sheets
    • Clipper is mainly used in computer communication network for commercial activities
    • COBOL is an English-like programming language suitable for business and data processing
    • dBASE was the first database management system (DBMS) to be widely used on microcomputers
    • Assembly Language is a machine-oriented programming language
    • Easy language is the most powerful programming language in all Chinese language programming
    • HTML is a hypertext markup language , an application under the standard general markup language .
    • Forth developed by Charles H. Moore is a computer automatic control system and programming language used in the observatory , allowing users to easily combine the existing simple commands of the system and define them into higher-level commands with more complex functions.
    • Fortran is translated as " formula translator ", which is the earliest high-level computer programming language in the world and is widely used in the field of scientific and engineering computing .
    • FoxPro is a databaseproduct launched by Fox Software in 1988
    • F# is a programming language developed by Microsoft to provide a runtime environment for the Microsoft .NET language
    • Fava language is a small interpreted language , it is mainly oriented to the field of system testing and small embedded devices .
    • IDL is a data analysis and visualization application and programming language
  • *Go language is the second open source programming language released by Google in 2009. The Go language is optimized for programming of multi-processor system applications. Programs compiled with Go can be as fast as C or C++ code, and are more secure and support parallel processes.
  • *Java is a Java programming language launched by Sun Microsystems in May 1995. It is an object-oriented cross-platform language that can run on multiple platforms. Open source is supported. Extensive class library. Tons of open source projects. is a very powerful programming language!
    • JavaScript is a scripting language developed from Netscape's LiveScript
    • J# , Visual J# is a tool for Java language programmers to build applications and services that run on the .NET Framework
    • LISP is a functional programming language based on lambda calculus.
    • Lua is a small scripting language
  • *LOGO is an early programming language and a programming language that is very close to natural language. It learns programming by "drawing"
    • Module in software engineering refers to a unit or module used by a higher-level program or module
    • Nuva language is an object-oriented dynamic scripting language Nuva language is designed for template-based code generation
    • Objective-C is usually written as ObjC and less commonly used Objective C or Obj-C, is an object-oriented programming language that extends C
    • Perl is generally known as "PracticalExtraction and ReportLanguage", but also " PathologicallyEclectic Rubbish Lister"
    • PL/I is short for Programming Language One. The "I" in it is actually the "one" in Roman numerals. It is a third-generation high-level programming language invented by IBM in the 1950s
    • Prolog (short for Programming in Logic) is a logic programming language
    • Python is an object-oriented interpretive computer programming language and a powerful and complete general-purpose language
    • PASCAL , Delphi : Pascal is a general high-level programming language for computers; Delphi is a brand-new visual programming environment and a convenient and fast Windows application development tool
    • QBasic QBASIC is a variant of BASIC (Beginner's All-purpose Symbolic Instruction Code, Beginner's Universal Instruction Code) language, developed by Microsoft Corporation of the United States
    • R is a language and operating environment for statistical analysis, graphing
    • Ruby , a scripting language created for simple and fast object-oriented programming (object-oriented programming)
    • Scheme is a system design language developed from the LISP language and belongs to a dialect of lisp. Unlike other lisps, schemes can be compiled into machine code . A major feature of Scheme is that function calls can be manipulated like data
    • Smalltalk , an object-oriented programming language, a programming environment, and an application development environment (ADE)
    • Tcl/Tk is a scripting language
    • Visual FoxPro , formerly known as FoxBase , is a database product launched by Fox Software in the United States
    • Visual Basic (VB) is an event-driven programming language developed by Microsoft Corporation that includes an auxiliary development environment
    • VBScript is the abbreviation of Visual Basic Script, namely Visual Basic Scripting Language
    • . NET is a revolutionary new platform created by Microsoft in 2002 for developing applications
  • Language rankingedit broadcast
  • The top three languages ​​in July 2015 are: Java , C and C++ [2] .
  • development toolsedit broadcast
  • About C++ : CFREE (for beginners), VC , MyC++, Magic C++ , DevC++
  • About JAVA: JBuilder , Eclipse , NetBeans IDE, JCreator + J2SDK , JDK , Tomcat , Weblogic , JRun
  • About C# : VS Studio series ( VS2003 , VS2005 , VS2008, VS2010 , VS2011), SharpDevelop (open source free software )
  • About Delphi : delphi2005
  • Visual Basic
  • Visual Basic (3 photos)
  • About C : Turbo C 2
  • About PHP : Dreamweaver_CS5, Notepad++
  • About VB: visual basic 6.0
  • About assembly : VisualASM
  • About VBS: Button Wizard 2014

visualization

Visual programming is also becoming more and more important. The so-called visual programming is different from Visual Basic or Visual C++ . IDEs that support visual programming allow developers to directly move program units to create flowcharts and structure diagrams, and then compile or interpret directly. , this type of flow chart is usually based on UML.

Such an interface became popular because of Lego's Mindstorms, and some companies began to work on this through the browser Mozilla and distributed programming (LabVIEW). Beginning in the 1980s, the first visual programming system, Max, was modeled after the design of analog synthesizers and was used to develop instant music performance software.

This approach is also used in professional software, such as Openlab, where users need the flexibility of a full programming language and don't want the traditional learning curve. Visual programming language has another semi-free and open source alternative - Mindscript, with encryption system and linked database and so on.

smart phone

The biggest new craze in the app development industry is apps for smartphones, "devices that typically require developers to use a specific language as an app platform that maximizes the functionality of the device, at least in an officially sanctioned way."

A nascent industry of smartphone development systems is emerging, namely apps that allow developers to write their own code in languages ​​not native to the smartphone platform and then convert them into native languages. Because there is no need to learn the official application development language of any particular smartphone platform, web applications have also dipped their toe as a method of smartphone application development.

Another option for choosing language over platform is to use a device like Nokia's N900, which runs a Debian distribution of Linux and can run a wide range of software -- including a lot of software not designed for smartphones. With the continuous expansion of the range of Android and ios smart phones, there is an urgent shortage of Android and ios programmers in enterprises. 3G DreamWorks Software Academy is the first to offer 3G smart phone programming related courses in central China , providing a program for those interested in programming. Learning platform.