The history of Programming)

Source: Internet
Author: User
Tags couchdb

The history of computer programming technology changes can be summarized into the following phases:

Analytic engine-> electronic computer-> mainframe-> PC-> Internet-> mobile Internet-> cloud services and Big Data

The earliest machine capable of executing specific computing was generally considered invented by Babbage in the middle of the 19th century, and Ada compiled several mathematical computing programs for it, ADA (the poet's daughter) can be said to be the first programmer;

In the decades since the 20th century, the program was mainly prepared in the form of punched cards.

1940 s, produced a real electronic computer,

It is mainly driven by military purposes, such as encryption and decryption, and ballistic computing. In this period, due to limited memory and computing capabilities, languages are all using hardware-related assembly languages;

1950s ~ 1960 s, with the advancement of electronic technology, computers entered the mainframe era, and some advanced languages were gradually developed.

It is mainly used for system-level programming and mathematical computing,

FORTRAN(S mathematical computing language invented by the IBM team ),

COBOL(Financial and business system development language (s) promoted by industry leaders such as IBM ),

LISP(Used in the AI field, the main data structure is linked list. The full name is the list process language. It introduces many advanced features such as recursion, dynamic type, and automatic memory management)

Algol(Used in algorithm description, academic field, introduction of nested structure, syntax scope, etc., greatly affects bpcl, B, Pascal and other languages

Basic(It was first written for non-scientific students and the predecessor of Microsoft VB)

1970 s, produced C language and some early Object-Oriented Programming Languages

C (the 1970s system programming language developed for Dec machines, formerly bpcl and B, invented by Dennis Ritchie and Brian kernighan)

Simula (the first object-oriented programming language)

Smalltalk (the first programming language that fully implements object-oriented features)

1980 s, transition to the PC era, merger, optimization, and development of language features

C ++ (combining the object-oriented features of smalltalk and the C language syntax, one of the most widely used object-oriented languages)

MATLAB (industrial field, engineering computing LANGUAGE)

Objective-C (IOS programming language, already one of the top 5 languages)

Erlang (Multi-paradigm programming language, functional, concurrent, and distributed. It was invented by Ericsson in 1980s for communication network programming and has been widely used in the Internet high concurrency distributed computing field, the most famous works include couchdb/rabbitmq)

Perl (a dynamic language derived from UNIX scripts. It was originally designed to make reports easier to process and draws on C/SH/awk and SED)

TCL)

1990 s, the PC era, and the Internet era sprout, produced a lot of Dynamic Language and Visual Programming integrated environment ide

Windows monopolized the PC market, and its VC/Vb-based desktop application development was once the mainstream of client development technology,

Subsequently, a large number of windows SDK-based client applications were created. MFC is one of the most well-known C ++ class libraries.

Python/Ruby/Lua/PHP/JS

Java (three systems have been developed: j2se, J2EE, and J2EE. Some enterprise features such as JDBC, JPA, JTA, JMS, and EJB are available in mobile versions)

Visual Basic/Visual C ++/Delphi (Object Pascal)/Power Builder

JavaScript (browser client script, invented by Netscape, contains three parts: ecmascript core script, Dom Document Object Model, and BOM browser Object Model)

2000s ~ In the Internet/mobile Internet era, the C/S mode has evolved to the B/S mode. Java/PHP/. NET is widely used, and parallel computing and distributed computing become increasingly important.

ActionScript (an object-oriented flash development language invented by Adobe)

C #/Visual Basic. net

Groovy (supported by vmvare, based on the dynamic language of the Java platform, supports metadata programming metaprogramming, and dynamically extends object data, such as reflection,

Also, for example, model programming (such as C ++ STL, which is implemented by HP in the earliest version) can provide runtime-determined dynamic type features for the language, greatly simplifying coding)

Go (the parallel computing language invented by the father of C language)

Node. js (JS runtime environment on the server side, JS Language extension on the server side, with single thread, high concurrency)

Currently, the development of programming languages has not changed much. corresponding to the improvement of agile development mode and engineering level, each language system has developed a rapid development framework,

In addition, many basic service products have been developed and widely used to meet the challenges of high concurrency, distributed and big data in the mobile/Internet field.

Quick Development Framework: PHP-based yii/Ci/cake/smarty, Java-based sping/struts/hibernate/tapestry, ruby-based rails, and Python-based Django

Basic services: includes full-text search engines written in Java, Sphinx written in C ++, couchdb developed by Erlang, and hbase/mahout compiled in Java.

In terms of applications and proxy servers: httpd/nginx written in C language, Tomcat/jetty written in Java, resin written in C and haproxy written in Java

In parallel development: GitHub written in C Language

As you can see, the front-end language is becoming more and more dynamic, while the back-end basic services are dominated by C/Java. At the same time, you need to understand go/node. JS is a new programming technology specially designed for concurrent computing.

By iefreer

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.