Origins story of 12 programming languages

Source: Internet
Author: User
Tags naming convention zend joyent

Over the past few decades, a large number of programming languages have been invented, replaced, modified, or grouped together. Each language is always born in controversy and dies in evolution. And the creators of these languages, none of them are the iconic characters in the programming world, keep the banner of exploration moving forward. Admiration has prompted the creation of this article, which collects and shares the stories of the most successful and popular 12 programming languages and their creators in 50 years.

650) this.width=650; "src=" Http:// "alt=" 12 The origin story of the programming language "style=" height:auto;vertical-align:middle;border:0px; "/>

1, the Origin of Java

At the beginning of the 1990 's, James Goslin, a Sun company, began developing the embryonic form of the Java language, initially named Oak, which was set up in the programming language of small systems such as household appliances, and used in the control and communication of household appliances such as televisions, telephones, alarms, toasters, etc. As the market demand for these smart appliances is not expected to be high, Sun has abandoned the program. With the development of the Internet in the 1990 's, Sun saw the prospect of Oak's application on the internet, transforming Oak and formally releasing it in May 1995 with the name Java. With the rapid development of the Internet, Java has gradually become an important network programming language.

Unlike traditional patterns, Sun is introducing Java as an open technology. Tens of thousands of Java development companies around the world are required to design Java software that must be compatible with each other. "The Java language relies on the power of the community rather than the power of the company" is one of Sun's slogan, and has been recognized by the vast number of software developers. This is completely different from the focus on elite and closed models advocated by Microsoft, and Microsoft later launched the competing. NET platform and the C # language that mimics Java. Later, Sun was acquired by Oracle, and Java became the product of Oracle Corporation.

Java was created to complete the concept of Wora (write once, run anywhere), and its platform independence made it a great success in enterprise applications. So far, it has become one of the most popular application programming languages and is widely used in enterprise-level Web application development and mobile application development.

2. The origins of C + +

The idea originated from Stroustrup's experience in writing a doctoral dissertation. He found that Simula has a great advantage for large-scale software development, but Simula is too slow to work for real-world demand, bcpl is much faster, but it is too low-level to make it unsuitable for large-scale software development. When Stroustrup started working in Bell Labs, he had the problem of analyzing the UNIX core about distributed computing. Recalling his PhD dissertation experience, Stroustrup began to enhance some of the features of the C language similar to Simula. C is chosen because it is suitable for a variety of purposes, fast, and portability. In addition to C and Simula, it also draws inspiration from other languages such as ALGOL 68, Ada, CLU, and ML. At first, classes, derived classes, storage type checking, inline, and default parameter attributes are introduced into the C language through Cfront. The first commercial release appeared in October 1985.

In 1983, C with Classes was renamed C + +. New features are added, including virtual functions, function names and operator overloads, references, constants, user-controllable free-space store control, improved type checking, and new double-slash (//) Single-line annotation styles. In 1985, the release of the first edition of the C + + programming language, providing a focused language reference, is not yet an official standard. Release 2.0 was released in 1989. Multiple inheritance, abstract classes, static member functions, constant member functions, and member protection are introduced. In 1990, the annotated C + + Reference Manual was published. The book later became the basis for standardization. Templates, exception handling, namespaces, new coercion type conversions, and Boolean types are also introduced later.

The name C + + was recommended by Rick Mascitti in 1983 and was first used in December 1983. Earlier, the development language, which was still in the research phase, was called "New C", followed by "C with Classes". In computer science, C + + is still called the upper structure of C language. It is finally named after the "+ +" operator in the C language (which increments the value of the variable). And in a common naming convention, "+" is used to indicate an enhanced program. "This name symbolizes the natural evolution of the change in C language," Stroustrup said. The c+ is an early programming language that is not related to C + +.

3. The origin of ASP.

In 1997, Microsoft began to develop a new project for the shortcomings of the ASP, particularly the development of the Italian-face program, when the main leader of ASP. Scott Guthrie, who had just graduated from Duke University, worked with the IIS team's Mark Anders manager. For two months, the prototype of the next generation of ASP technology was developed, which was developed at Christmas in 1997 and given a name: XSP, the prototype product uses the Java language. But it was immediately included in the development of the CLR platform at the time, and Scott Guthrie later agreed that porting the technology to the then-CLR platform was a real risk, but the XSP team was the first team to develop the application with the CLR.

In order to port XSP into the CLR, the XSP team re-wrote all of the XSP's core programs in the C # language (the project code inside was "project Cool", but was confidential at the time), and was renamed Asp+ as a successor to the ASP technology and would also provide a A simple migration method to ASP developers. The asp+ Beta release and application were unveiled in PDC 2000, which was presented by Bill Gates by Fujitsu, demonstrating the use of the COBOL language to compose asp+ applications, and announced that it could use Visual Basic. NET, C #, Perl, Nemerle With the Python language to develop.

In the second quarter of 2000, Microsoft formally promoted the. NET strategy, and asp+ also changed its name to "ASP." After four years of development, the first version of ASP. NET was unveiled on January 5, 2002 (and, for the 1.0), Scott Gu Thrie also became a product manager for ASP (and has now developed several Microsoft products, like ASP. NET AJAX and Microsoft Silverlight).

4, the Origin of PHP

PHP originally referred to as Personal Home page, is Rasmus Loedorf in order to maintain personal web pages, and in C language developed some CGI tool assembly, to replace the original use of the Perl program. Initially these tools were used to display Rasmus Loedorf's CV, as well as statistics on Web traffic. He integrates these programs with some form interpreters, called PHP/FI. Php/fi can be connected to the database, resulting in a simple Dynamic Web-page program. Rasmus Loedorf released the PHP/FI in public on June 8, 1995, hoping to speed up the development of programs and find errors through the community. This release is named PHP 2 and already has some of today's PHP styles, such as Perl-like variable naming, form processing, and the ability to run embedded in HTML. Program syntax is similar to Perl, there are more restrictions, but more simple, more flexible.

In 1997, two Israeli programmers working for Technion IIT: Zeev Suraski and Andi Gutmans, rewritten PHP's parser as the basis for PHP 3, and PHP at this time called Php:hypertex T preprocessor. After months of testing, the development team released PHP/FI 2 in November 1997, followed by the opening Test of PHP 3, and finally the release of PHP 3 in June 1998. Zeev Suraski and Andi Gutmans began rewriting PHP's core after PHP 3, a parser published in 1999 called Zend Engine, and they also established Ramat Zend in Israel's Technolog Gan. IES to manage the development of PHP.

On May 22, 2000, PHP 4, based on Zend Engine 1.0, was officially released, and on July 13, 2004, PHP 5,php 5 was used for the second generation of Zend engine. PHP contains a number of new features, such as enhanced object-oriented functionality, the introduction of PDO (PHP Data Objects, an extended library of Access databases), and many performance enhancements. Currently PHP 4 is not updated to encourage users to move to PHP 5.

2008 PHP 50% for a stable version of PHP's unique maintenance. There are now more than 20 million websites and 1 million Web servers using the language, and internet giants such as Facebook, Wikipedia, Wordpress and Joomla are using it.

5, the origin of JavaScript

Originally designed by Netscape's Brendan Eich. is a registered trademark of Oracle Corporation. ECMA International has established ECMASCRIPT standards for the foundation. It can also be used for other occasions, such as server-side programming. The complete implementation consists of three parts: ECMAScript, the Document object model, and the browser object model.

Netscape initially named its scripting language LiveScript, and later Netscape renamed it after working with Sun. Originally inspired by Java, one of the purposes was to "look like Java", so there are grammatical similarities, and some names and naming conventions are borrowed from Java. But the main design principles are derived from self and Scheme. The approximation to the Java name was the result of Netscape's agreement with Sun Microsystems for marketing purposes. In order to gain a technical advantage, Microsoft introduced the scripting language that JScript is facing. For interoperability, ECMA International (formerly the European Association of Computer Manufacturers) created the ECMA-262 Standard (ECMAScript). Both belong to the realization of ECMAScript. Although it is promoted and advertised as a scripting language for non-program personnel, rather than as a scripting language for program personnel, it has a very rich nature.

6. Origin of the "Ruby" language

In 1993, Matsumoto started the development of the Ruby language, trying to integrate the best features of the scripting language, developed in the C language, but more powerful than Perl and more object-oriented than Python. In 1994, the first Alpha edition of Ruby was completed by Matsumoto, who was only 28 years old. As named it Ruby, and the name is a beautiful and precious ruby. Ruby itself is also very attractive-the explanatory scripting language, which has both the powerful string processing and regular expressions of the scripting language, and the dynamic nature of the explanatory language.

In addition, as also borrowed from the Perl language in the word processing advantages, the program written by Ruby can be directly run without prior compilation, so it is beneficial to realize the rapid feedback in the development process, greatly facilitates the debugging of the program. After the first version of the 1995 Ruby scripting language was released, it greatly increased the productivity of developers and made programming more enjoyable, and soon became popular in Japan.

Since 1997, as has served as a special researcher at the Network Applied Communications Institute of the company, focusing on the development of Ruby. In 2000, Dave Thomas introduced the Ruby to the English-speaking community for the first time and soon launched the Ruby language craze. Ruby's flexibility has injected new vitality into dynamic programming languages, gaining a worldwide fondness for programmers.

There is no perfect language in the world, and Ruby is the same. Although Ruby is great, many people still feel that his performance is less efficient. But fortunately later, developers also made some extensions to make up for Ruby's bottleneck. In 2004, the Danish David Heinemeier Hansson, a Web-framed ruby Onrails developed in Ruby language, was more than 10 times times faster than the development of the Java EE, and was seen by many as a "silver Bullet for Software development", and Ruby began to flow around the world. Yes.

7. The origins of Scala

Scala is a multi-paradigm programming language, a Java-like programming language designed to implement scalable languages and integrate various features of object-oriented programming and functional programming.

In 2001, Martin Odeski of the Federal Institute of Technology in Lausanne began designing Scala based on Funnel's work. Funnel is a programming language that combines functional programming ideas with Petri nets. Odeski previously worked on Generic Java and Javac. The Java platform Scala was released at the end of 2003/early 2004. The. NET platform Scala was released in June 2004. The second version of the language, V2.0, was released in March 2006. In April 2009, Twitter announced that it had migrated most of its back-end programs from Ruby to Scala, and that the rest was intended to be migrated. In addition, Wattzon has publicly declared that its entire platform has been written based on the Scala infrastructure.

In 2014, Martin Odeski announced that Scala 2.12 was going to simplify the grammar and launch the Scala "Don Giovanni" project, saying: "Scala is now created for the Wise, and later for the wise." "Unlike Python, which allows programmers to do everything in one way, Scala offers a complete set of tools that allow programmers to choose freely, whether it's mutable data structures, immutable data structures, parallel (parallel) data structures. Then, in these choices, Scala makes special optimizations for them at the algorithm level. Scala believes in the ingenuity of programmers, allowing programmers to choose the right structure to target the changing needs of the task, which is where Scala does well.

8, the origin of Python

During the Christmas of 1989, Guido van Rossum to spend time in Amsterdam, determined to develop a new script interpreter, as an inheritance of the ABC language. Python was chosen as the name of the program because he was a fan of the BBC TV show-Monty Python's Flying Circus (Monty Python's Flying Circus). ABC is a language of instruction designed by Guido. As far as Guido himself is concerned, the language of ABC is very graceful and powerful and is designed specifically for non-professional programmers. However, the ABC language did not succeed, the reason, Guido think is caused by non-open. Guido is determined to avoid this error in Python, and to get a very good result, a perfect combination of C and some other languages.

In this way, Python was born in the hands of Guido. In fact, the first implementation is on a MAC machine. It can be said that Python evolved from ABC and was largely influenced by the Modula-3 (another rather beautiful and powerful language designed for small groups). And a combination of Unix shell and C habits. Currently Guido is still the main developer of Python, determining the direction of the entire Python language. The Python community often calls him a benevolent dictator (BDFL), meaning he remains focused on Python's development process and makes decisions at the necessary moment.

Python's design philosophy is "elegant", "clear", "simple". The Python Developer's philosophy is "in one way, it's best to have only one way to do something." When designing the Python language, Python developers tend to reject the fancy syntax when faced with a variety of choices, and choose a syntax that is unambiguous or rarely ambiguous. These guidelines are called "Python maxims."

9, the origin of Go

Go, also known as Golang, is a programming language developed by Google that is statically strong-typed, compiled, and hairstyles, and has a garbage collection function.

Robert Greysmore, Rob Paik (Rob Pike) and Ken Thompson began designing the Go language in September 2007, and later Ian Lance Taylor, Russ Cox, joined the project. Google has started research on Go as a 20% project, which allows employees to spend 20% of their time outside their jobs and put them on the project. In addition to Parker, members of the project and other Google engineers are also involved in research and development. For the cause of the development of this language, Parker said: "We have developed go because software development has been frustrating over the past more than 10 years."

The Go language was developed based on the Inferno operating system. The Go language was officially launched in November 2009 as an open source project and implemented on the Linux and MacOS X platforms, followed by the implementation under Windows. January 10, 2010-The Go language picks up TIOBE's 2009 annual award, which is awarded to the programming language with the largest increase in market share in 2009

10, the Origin of Android

In October 2003, Andy Rubin (Andy Rubin) created Android Inc. (Android Inc) in the United States, and with Litch Minar (Rich Miner), Nick Shales (Nick Sears), Chris White (Chris White) to develop this company together. The Android system was originally developed by Andy Rubin (Andy Rubin), who originally developed the system to create a digital camera's advanced operating system, but later found that market demand was not large enough, coupled with the rapid growth of the smartphone market, so Android was transformed into a smartphone-oriented operating system. Speaking of the reasons for creating an Android technology company, Rubin said: "Smart mobile devices can be better aware of the user's hobbies and requirements." "Although the founders and employees of Android technology have had their own technological achievements in the past, Android technology is only showing off its smartphone software, and Rubin spends all his money on Android technology companies.

August 17, 2005, Google Low-key acquisition of the establishment of only 22-month high-tech enterprise Android and its team. Andy Rubin became vice president of engineering at Google and continues to be responsible for the Android project. Google officially unveiled the Android operating system on November 5, 2007, and on the day Google announced the creation of a global alliance of 34 handset makers, software developers, telecoms operators and chip makers, together with 84 hardware manufacturers, Software developers and telecom operators form the Open Handheld Devices Consortium (open handset Alliance) to jointly develop improved Android systems.

September 24, 2013 Google developed the operating system Android ushered in the 5 birthday, the world's adoption of the system has reached 1 billion units of equipment.

11. The origins of Swift

In July 2010, Apple Developer Tools Division director Chris Ratner began working on the design of the Swift programming language, and after a year of completing the basic architecture, he led a design team to participate. Swift has been in development for about 4 years and was published in June 2014.

Apple claims Swift is characterized by fast, modern, secure, interactive, and significantly better than the Objective-c language. Swift is compiled with LLVM and can use the existing Cocoa and Cocoa Touch frameworks. The Xcode Playgrounds feature is the biggest innovation that Swift brings to Apple's development tools, which provides a powerful interactive effect that allows swift source code to display its running results instantly in the writing process. Ratner himself stressed that Playgrounds was largely inspired by the idea of Brettes Victor (Bret Victor).

On June 8, 2015, Apple announced on WWDC 2015 that Swift will open its source code, including compilers and standard libraries.

December 3, 2015, Apple announced open source Swift, and support for Linux, Apple on the new website and hosted site Github Open source of Swift, but Apple's App store does not support open source Swift, only support Apple's official swif T version, the official version will be regularly synchronized with the open source version on the new website

12, the Origin of node. js

node. js was invented by Ryan Dahl and some other developers working in Joyent in 2009. node. JS was first published in Linux in 2009. Development and maintenance work is hosted by Dahl, whose work units Joyent at the same time sponsoring these efforts.

Dahl design node. JS is inspired by an upload progress bar on Flickr, and the browser doesn't know how much of the file content has been uploaded, unless you query the server. Dahl then designed a simpler approach. This project, which integrates the Google V8 JavaScript engine and an underlying I/O API, is presented to the public by Dahl in inaugural European jsconf.

node. JS already has hundreds of thousands of modules that can be downloaded for free through a manager named NPM.

This article is the OneAPM engineer to arrange the present. OneAPM can provide you with end-to-end application performance solutions, and we support all common frameworks and applications servers to help you quickly identify system bottlenecks and pinpoint the root cause of the anomalies. Minute-level deployments, instant experience, and performance monitoring have never been easier. To read more technical articles, please visit the OneAPM Official technology blog.

This article was transferred from OneAPM official blog

Origins story of 12 programming languages

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: 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.