Introduction to common programming languages

Source: Internet
Author: User

Author: Felix Huang
Data: 20031002
Rev. 1.0
Programming languages can be divided into several types based on programming ideas:

========================
Classification

1. Register machine class

-------------
C/C ++
-------------

The C language is based on the register Turing Machine. Generally, it is currently popular.
Language. This language is quite traditional, and its thoughts are close to computers,
C is the most important among them. At first, Ken Thompson designed C to achieve
UNIX. Therefore, some people call C ''intermediate language ''. In fact, the advantages of C-like language
It is close to the idea of computer, so the execution efficiency is high. The disadvantage is that it is difficult to get started,
After all, the human brain is not composed of 0 and 1 (rather I think of the name of Donald knuth
Statement: rewriting the Bible in 0's and 1's ).

Before the 1980 s, generally * production systems were written by Machine Assembly codes or even machine codes.
Therefore, porting is very difficult. The most obvious example is the ITS system that RMS once worked on.
(Full name: Incompatible Time Sharing System, developed by the AI lab of MIT
Odd name), the system on the PDP-7 cannot be ported to the PDP-10 with the PDP-11, results
AI lab gave up. Therefore, when at&t's Ken was designed for UNIX,
For convenience of transplantation, a C is first developed, so since then the Unix line
Almost all machines can run Unix. You just need to recompile it.

C is characterized by closeness with the system and loose syntax. Therefore, it is not a good choice for beginners.

The international standard for C is iso c. The current version is ISO c99 and the previous version is C90. ANSI C
It is the name before ISO accepts the C standard. ANSI indicates that this is an American Standard.

C ++ is designed by at&t's Bjarne stroupe. The objective of designing C ++ is to put object-oriented
The idea is added to C to make it easier to abstract the model, and more convenient for large-scale code.
Reuse and code management. In fact, the code efficiency of C ++ is slightly lower than that of C. However, the strengths are extremely high.
Obviously, the development cycle of C ++ code is significantly shorter than that of C, especially for large projects.

The international standard for C ++ is Iso c ++. The current version is Iso c ++ 98.

Currently, common C/C ++ compilers include:
Visual c ++ compiler MS produces Win32 (expensive)
Borland C ++ compiler Borland produces Win32 (a free version is available for download)
Intel C ++ compiler intel, designed for Intel CPU service, Win32/Linux
(Free non-commercial license is available in Linux)
C compiler (GCC) in GNU compilers collection)
Win32/Linux/BSD /...... Free and Free Software

In Linux, there is also a super small C compiler tiny CC, which can take the C source file as a script
.

------------
Perl
------------

Larry Wall's work. This person is very powerful. He wrote Perl to solve the problem of website construction.
Write CGI. His work before Perl was patch. Non-
Often high, I think patch has contributed to the modernization of highly distributed by the Linux development model.
Development mode.

Perl is a messy language with no specific syntax rules. If you haven't seen it in a month
Perl code can even be hard to understand. But in fact, the efficiency of Perl
Very high. Most Web applications are written in Perl, including yahoo. Getting started
It is best not to learn programmer. You should start learning only after you are familiar with C.
Perl.

Linux and other UNIX * Operating systems generally come with Perl. Windows users
You can download ActivePerl from www.activestate.com.

-----------------------------------
PASCAL/Object Pascal/Delphi
-----------------------------------

Pascal is a very rigorous syntax language. Contestants generally come to contact it first.
Its strength lies in its rigorous syntax and type checks. Its weakness is platform-related hardware control,
Pointer support is weak. Borland developed Delphi in these aspects.
Added support for objects and Improvement for pointers. However, Pascal does not have a uniform
So the incompatibility between different compilers is quite serious. But this does not mean
Prevents Pascal from becoming a good entry language.

Pascal has several compilers. Currently, Borland's Delphi and GNU Pascal are common.
Compiler and free Pascal. The latter two are free software.

2. Oo class

-----------------
Smalltalk
-----------------

The originator of object-oriented language. Its degree of OO is more thorough than that of Java, and it is more suitable for oo
. Its syntax is quite similar to the natural language of English, and the message system is more reasonable,
It is helpful for understanding oo.

The compiler can be downloaded from www.gnu.org/software/smalltalk. There is a good copy above.
Getting started.

-------------
Java
-------------

I do not know much about Java. Java is a fully object-oriented programming language with its features
Cross-platform and widely used.

The Java compiler and library can be downloaded from java.sun.com.

--------------
Python
--------------

Python is a language that can compare the running efficiency with Perl, and Python integrates oo
With the advantages of some functional programming, it has developed rapidly recently.

The Python compiler can be downloaded at www.python.org.

3. Functional Programming

These languages are generally based on the lambda algorithm theory of the Church, and are interested in learning mathematics and computing.
Students cannot learn.

-------------
LISP
-------------

The most typical FP language is that it defines a data structure (table) and seven basic operations.
To indicate the running structure of all programs. A language with unlimited capabilities. Emacs
The reason is that Emacs is actually a lisp interpreter, its interface,
All functions are provided by the Emacs lisp subroutine, which is quite easy to expand.

There are several interpreter types, including GNU Common LISP, clisp and cmucl. The former can be used in sf.net
The two can be found at cons.org.

---------------
Haskell
---------------

A very professional language that does not require mathematics. Www.haskell.org

========================
Getting started
========================

Programming for Beginners should begin with a language with rigorous syntax. Therefore, Pascal is a good choice.
We should take Pascal as the basis to understand various data structures and algorithms and master certain mathematical bases.
. When you are familiar with data structures and algorithms, you can learn a series of other languages.

If you want to learn Oo, we recommend that you learn Java, but you should also look at the Smalltalk
Because Smalltalk is very helpful in understanding oo. And Smalltalk itself does
It is easy to understand.

For further study, we should have a certain understanding of the languages that bring different programming ideas. As mentioned above
The language is a programmer of different programming ideas, and they do not have to be proficient, but it is best to have
Be sure to understand.

When you can use any language quickly, you will become a real master.

 

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.