The History of Computer Programming

In 1946 :Konrad Zues, a German engineer, develops the worlds first programming language Plankalkül, while hiding in the Bavarian alps waiting for the war to end.
He uses it, amongst other thing as a chessopponent on his Z3 computer.
The language has even tables and data structures.
Plankalkül is however buried in some German archive.

In 1949 : The first commonly used programming language, Short Code, is developed. It is to be compiled to machinecode by hand. Despite the name, the nights tended to grow long using this method.

In 1951: Grace Hopper begins developing the A-O-compiler, which is also known as AT-3.

In 1952 : Alick Glennie, develops, on the side of his studies, the AutoCode-compiler, which compiles symbolic assembler language on a Manchester Mark I computer.

In 1954 : IBM begins the development of FORTRAN based on A-O.

In 1957 : A-O is published with the name Math-Matic, and becomes the first commonly known programming language.
FORTRAN (FORmula TRANslator) is published. The roots of this language is still used with mathematic expressions. To the languages good parts belongs its easy Input and output functions as well as its short and elegant code.
FORTRAN becomes the first commercial high level programminglanguage. The leader of the developmentgroup, John Backus participates later in the development of ALGOL and BNF

In 1958 : FORTRAN II is presented. To its new features belongs subprograms and linking to machinecode functions.
John McCarthy begins developing LISP (LISt Processing, or in a meaner way, Lots of Irritating Superfluous Parentheses :-) ). This language is, thanks to its features, the base for artificial-intelligence applications. It's used, amongst other, in the game Abuse, which levels and functions is determined by LISP-code, that is compiled when starting the game.
The basic definition of ALGOL is published. It isn't though, any Users manual, instead it deals only with the theoretical part. ALGOL58 is also known by the name IAL (International Algebraic Language).

In 1959 : COBOL (COmmon Business Oriented Language) is created at the Data Systems and Languages -conferance (CODASYL).
COBOL is a commercial institutional language, which is still used in many companies. The language is ment for computing large amounts of data, but it fits also for many other purposes.
Hackers appreciates COBOL even less than BASIC due to its very long-drawn and verbose sourcecode. It's said to include both the program itself and the documentation.
LISP 1.5 is published.

In 1960 : ALGOL 60, the first segmentbuilt language, is published.
The different versions of Pascal and C is later developed based on this program.
ALGOL becomes the most popular programminglanguage in Europe, in the late 60's.

In 1961 : Keneth Iversson develops APL (A Programming Language), which uses special characters and demands APL-compatible peripheral devices, to function correctly. The language includes many special solutions and interactions, but many other functions are absent. APL is especially suited for mathematic applications.

In 1962 : FORTRAN IV is published and the documentation of APL is shown in Iverssons book, A Programming Language.
SNOBOL, (StriNg Oriented symBOlic Language), a language with the probably most twisted shortenings, is developed in Bells laboratories.

In 1963 : A new version of ALGOL 60 is published.
Development of the PL/I-language begins at IBM. It is tried to include the best parts of ALGOL 60, FORTRAN and COBOL to this language.

In 1964 : APL/360, the first real application for APL, is taken to use.
John Kemeny and Thomas Kurtz invents BASIC (Beginners' All-purpose Symbolic Instruction Code) and its compiler. The first BASIC program is ran at 4 a.m. 1:st of May, 1964.
PL/I is published. The language is still used widely at IBM. The same company publishes also the RPG-language (Report Program Generator), which is specialized in making commercial reports.
The II and III versions are published in the 70's.

In 1965 : SNOBOL3 is published and within the next year, the compiler DEC -- for PDP-6 and PDP-10 computers-- is developed.

In 1966 : FORTRAN66 is published. It is rarely used because newer standars has replaced FORTRAN66.
LISP2 is also published.
For its slow graphics known, LOGO-language, begins developing. LOGO can be compared with LISP, but its rather directed to kids and beginners.

In 1967 : SNOBOLs far developed and special version SNOBOL4 is published. The language is used i.g. for analysing and high level language compiling.
Simula is created, in Oslo, Norway. This language is based on ALGOL60, and expanded with classes. Simula, which was originally developed for simulations, but later became an allround language, included allready every object-programming centered lineaments.

In 1968 : Niklaus Wirth begins developing Pascal, which is still used for educational puposes. Pascal got its name from a french philosoph and mathematichan in the 17:th century, Blaise Pascal.
ALGOL 68 is published. Some members of the standardization committee, objects to approving this language, because ALGOL 68 is shown to be a heavy, troublesome to use and extremely complex.
COBOL gets its ANSI.determinations seven years after its publishing.
Bells FORTRAN clone, ALTRAN, is published.

In 1969 : 500 people participates in teh APL-conference in IBMs headquarters in New York. The requests for APL is way above the expectations.
BCPL (Basic CPL) is developed in England. This language is based on CPL (Combined Programming Language) and accumulates later the B- and C-languages. BCPL is a low-level typeless language which includes only simple datatypes.

1970 : Charles Moore begins, early this decade, making the first significant program amongst his other creations, Forth. For example Kitt Peaks telescope is controlled by a Forth program. According to Moore, Forth is the fourth generation's language, but his computer's operating system understands only five character long filenames, thats how Fourth becam Forth. Remember this when you're curse the 8+3 character system in DOS!
The development of the PROLOG (PROgramming LOGic) language begins in France.PROLGO becomes the first logics-programming and artificial intelligence language. It is based on the SLD-theorema and has accumulated many different relative languages for different purposes.
In Xerox PARC begins the development of Smalltalk. Smalltalk is a clean objectoriented language, that is based completely on objects. In the next few years Smalltalk-72, Smalltalk-74 and Smalltalk-76 versions are developed. The last one with inspiration from Simula.
The Pascal program appears for the CDC-6000 series computers. SNOBOLs follow up, Icon, is published. The B-language is developed for the PDP-11 machine for Unix. This language is based on BCPL.

In 1972 : Dennis Ritchie creates the C-language. This language is based on the B-language, and is named C to honor the BCPL language. For a while this language's name was NB. The C-compiler is included in the Unix operatingsystem and its use increases explosively, outside Bell. To C's strong parts belongs simplicity, efficiency and flexibility. Moving C to other operating systems is easier than most of other languages. Acording to some, C combines both the elegance and efficiency of machine language and the high-level language readability and maintenance.
The first real application for PROLOG is taken into use. The documentation for Plankalkül appers, only 26 years late.

In 1974 : COBOL gets its second ANSI-determination.
The documentation for C appears.

In 1975 : Dr Wong develops Tiny BASIC, which takes only
2K of memory and is loaded from a paperstripe.
It can function on almost all of Intels 8080-machines
and Zilogs Z80 machines. In a typical PC there is 4K's of memory, so then 2K's of memory will be free for the program itself. Tiny BASIC is the first known freeware program. The textstrings "All Wrongs Reserved" and "Copyleft" was found in this program.
Bill Gates and Paul Allen writes a version of BASIC which they sell to MITS. MITS produces 8080-based Altair-microcomputers.
Scheme, a derivation from LISP, is published.
The still used Pascal-tutor, Pascal User Manual and Report (Jensen, Wirth), is published.
Brian Kernigan describes RATFOR (RATional FORtran), which is used as a precompiler for FORTRAN and handles flowcontrol commands of C-type. Theses days RATFOR is replaced by other solutions.

In 1976 : Design System Language, forerunner to PostScript appears. This language is interpreted like Forth, that is used for handling threee dimensional databases.

In 1977: MUMPS (Massachusets general hospital Utility Multi-Programming System) get its ANSI-standard. MUMPS was originally used for saving patient information and the language understands only text variables. The language is later renamed to M and is still used widely in companies, in which many users accesses the information simultaneously, like in Banks, stock markets and travelling agencys.
Honeywell's contest for planning programminglanguages begins. Jean Ichbiahn's team wins with their Ada language.
Kim Harris and his partners establish FIG, FORTRAN Interest Group. They develop the FIG-FORTRAN language and sell it for $20
Kenneth Bowles publish USCD Pascal, which works on PDP-11 and Z80 machines. Niklaus Wirth begins developing Pascal's follower Modula (MODUlar LAnguage). Modula is a strongly segement built language, that fits with parallell running.

In 1979 : Modula 1 would be defined in 1977. Implemented on the Lilith workstation at first.
The idea is to reduce the risk of error with coercive programming rules. However, it adds to Pascal some features of the C language. A call of function without argument is written f() as in C rather than f as in Pascal.
A program is splitted in modules with local scope, and interfaces for other modules. Use coroutines. Allows access to the hardware.
Was only used in Universities, because these new features has been added also to Pascal by the makers of compilers (the units of Turbo Pascal mainly).

In 1980 : Designed by a committee leaded by Jean Ichbiah, for the U.S. Department Of Defense.

Inspired by Pascal and Algol W. Is rather heavy.
Introduces GENERICITY of algorithms and a kind of primitive object orientation, but becomes really object oriented later.
Introduces PACKAGES, that are independent modules.

In 1981-1986 : Bjarne Stroustrup
Object oriented version of C.
Introduces OPERATOR OVERLOADING. Methods may be inline.
Use // for one-line comment, that comes from BCPL, of which C is a successor!
Further, multiple inheritance and template (generic classes or functions) has been implemented.
Objective C, invented by Brad Cox in 1984, is another objet oriented version of C, inspired by smalltalk. No operator overloading. Used to write NextStep, the operating system of the Next computer.

In 1984 : R. Milner, University of Edimburgh and Cambridge and Inria

Search for Standard ML Moscow on a search engine.

An implementation of ML

In 1985 : Bertrand Meyer

Procedural language fully object oriented , implementing persistency and programming per contract (using precondition and postcondition on functions). Was designed for security of software.
Compiled in C. May be interfaced with other langages. Has features of functional languages, generic classes, garbage collector.
An open source version exist, Sather, (from the name of a tower at Berkeley).

In 1986 : Johannes Meier, Werner Nickel, Alice Niemeyer, Martin Schönert and others

Gap Software

The language has been defined to program mathematical algorithms.
It is interpreted, interactive an untyped. List and records are complex variables.
The syntax is that of Pascal with some differences. Comments for exemple are introduced by #.
An end of bloc is denoted by inverted keywords: if fi, do od.
The for loop has the forms: for in list, for in from to.
The language has procedures and functions.
What made it apart if that variables point out values and not memory addresses, and the form of a definition of function is as a call: x := function(arguments) body.
A function may be embedded inside another function.

In 1987 : Caml - 1987 - Categorical Abstract Machine Language
Suarez, Weiss, Maury
Inria

Caml and Objective caml in 1996, has implemented ML

In 1987 : Perl - 1987 - Practical Extracting and Report Langage

Larry Wall

Perl

Destinated to replace the command line language of Unix, Sh, Sed and Awk, it kept the same ugly syntax. Used mainly for system administration, CGI scripts.
Includes lists and associatives arrays. The FOREACH control structure allows to scan lists. :

In 1988 : Oberon - 1988
Niklaus Wirth
Simtel
Successor of Modula 2 (and Pascal).
Several commonly used constructs are suppressed to reduce the risk or error! A garbage collector is added to.


In 1989 : Miranda - 1989 - From the name of a Shakespeare's heroin (Miranda, means for admirable in latin)
Inspired by Sasl and ML. Lazy evaluation: arguments of functions are evaluated only when they are used. Embedded pattern-matching, modules.

In 1990 : Haskell - 1990 - Nickname of a logician, Haskell Curry
Purely functional language. Inspired by Miranda and Sasl.
Functional arrays, pattern matching.

In 1980-1990 : ABC 1980-90 - ABC (equivalent to EZ in english)
CWI - Meertens, Pemberton and Guido Van Rossum
Scripting language elaborated at CWI in Netherlands, and the goal of which was to become a successor to Quick Basic or scripting languages of Unix.
Perhaps the first to use INDENTING to denote statements of a block: no markers as begin/end.
Another innovation, there is no file management, but rather persistency of the global variables: the value is stored from a session to another!
There are five types: number, string, list, composed (structure without fieldnames), array.

IN 1991 : Python - 1991 - From the english TV movie "Monty Python Flying Circus"

Guido Van Rossum

Scripting language with dynamic types. This is a replacement to Perl.
Inspired by ABC, but is extensible with C libraries, and object oriented.
As ABC, used evolved types: tuple, list, dictionary.
The slicing operator [a : b] allows to extract a sub-list from a list.
There is a version that compiles in Java bytecode, jython and ports for .NET.

In 1991 : Pov-Ray - 1991 - Persistence Of Vision (title of a mediocre science-fiction book).

D. & A. Collins, and contributors

PovRay

Pov-Ray is a language for describing 3D images.

In 1992 : DisCo - 1992 - Distributed Co-operation

Reino Kurki-Suonio

Disco is a specification language for reactive systems with Pascal-like syntax. Constructs of the language are objects, event-driven functions (named here actions), and relations. A function is activated when a state of the system occurs and may be overwritten, this is named "refinement" in the language. Disco focuses on collective behavior. Layers are modules of the language. It is an system oriented language with objects and behavior (not action oriented as it is said in the presentation).



Ruby - 1994 - As the jewel, analogy with Perl
Yukihiro Matsumoto
Ruby has been designed as successor to Perl and alternative to Python, to be clearer than the first one, and more object oriented than the second one. The syntax comes from these two languages, it want to be without surprise and natural but may be complex.
There is no new control structure as in Scriptol, but a lot of minor innovations to make the code smaller.
It is an interpreted language easy to extend. Statements are terminated by end of line. Blocks of statement and loop are delimited by "end". Most Python's features are present: associative arrays, iterators...
The originality is the dynamic object feature (adding methods to instances) and scope of variables denoted by a prefix.

In 1994 : Java - 1994 - Java (coffee)

James Gosling and other programmers at Sun

Java

Conceived at the beginning, in 1991, as an interactive language named Oak, was unsuccessful. But in 1994 has been rewritten for Internet and renamed Java. In 1995 navigators can run applets. In january 1996, Javasoft distributes JDK 1.0, the Java Developpement Kit.
Java is a classical procedural language, near C++. It compiles in bytecode, interpreted on any computer. ..
It is simpler than C++: one class by file, automatic memory management, no pointers. No multiple inheritance nor operator overloading, but integrated multi-tasking.
Unlike C and C++, has only dynamic arrays

PHP - 1995 - Personal Home Pages Hypertext Processor

Rasmus Lerdorf

PHP

Multi-platforms scripting language, embedded inside HTML.
Near C but not typed. Variables are prefixed by the $ symbol as the shell of Unix or as Perl. The interpreter parses a html page that embeds php code and delivers a pure html page.
An extended library of functions allows webmasters to build dynamic pages.
Microsoft uses an equivalent language under Windows, ASP, near Basic.

In 1995 : JavaScript - 1995 (Has been firstly named LiveScript)

Brendan Eich at Netscape

ECMAScript

Scripting language to embedd procedural code into web pages.
May be used to other applications, XML based languages for example.
Share the syntax of C or Java, but with untyped variables. The element of the web page (window, table, etc...) are accessed through the Document Object Model.

In 1996 : UML - 1996 - Unified Modeling Language
Standard by OMG (Object Management Group) - Grady Booch, Jim Rumbaugh, and Ivar Jacobson

ML is the union of three modeling languages designed by the three authors above. The language uses a graphical notation to design software projects. A source is a diagram expressing objects and their interactions. A model is made of views and the combination of them describes a complete system. The model is abstract and domain-independent.

In 1997 : Standard by the european standardization organisation E.C.M.A.

ECMAScript

Standard to the langage invented by Netscape, to let dynamic HTML pages client-side.

In 1999 is older

C# - 2000 - (C-sharp), want to succeed to C++

Anders Hejlsberg / Microsoft

C#

This is the main language of the .NET environment, to program software working thought Internet. As Java, it keeps the C syntax, a 34 years old language, with same improvments: garbage collector, no pointer, interfaces, multi-tasking...
C# compiles to intermediate language, the MSIL (MicroSoft Intermediate Language), and uses a multi-languages library, the CLR (Common Language Runtime). The originality of the .NET system is that various language may be compiled to MSIL and share their classes.
Other new features come with this language:
- structs are now special kind of object, passed by values.
- literals are objects also, with methods..
- attributes are descriptive objects attached to elements of the program and used by the runtime.
- properties: methods that may be used as variables (prop = 5 is equivalent to prop(5).
- foreach() to scan arrays (new only for Java and C++).
- delegate replaces pointer of functions of C.
There are improvements on Java also:
- event management is improved.
- operator overloading is present.
- simpler access to the the native system.

In 2001 :AspectJ - 2001 - Aspect for Java

Palo Alto Research Center

AspectJ

Aspect J is a Java extension that implements aspect oriented programming. A technique that modularizes crosscutting concerns. The unit is not the class, but a concern, that spans multiple classes. Concern may be, for example, properties, area of interest of a system and AOP describes their relationship, and compose them together into a program. Aspects encapsulates behavior that concerns multiple classes.

In 2001 : Scriptol - 2001 - Scriptwriter Oriented Language

Denis Sureau

Scriptol

The most recent, the most powerful among procedural languages. Scriptol is either compiled in PHP or in C++ or native, giving it a great portability. It is both a language for applications, for scripting and to make dynamic web pages.
Blocs of statements and control structures are not closed by "end" or "}" but, as in XML, with the form "/if", " /for", "/while" and so ones...
The language has new control structures: "for in", "while let", "scan by", etc... The "composite if"structure eases to implement rules.
Variables and literals are objects. Basic object (number, text, etc...) and compound ones are created by direct assignment of a value or a list of arguments to the name.
Scriptol is destinated to evolve and to have, along classes, other high-level structures to allow programs to be nearest human thought.
Since October 2003, Scriptol allows to use XML as internal data structure


In 1993 : Scala - February 2004

Ecole Polytechnique Federale de Lausanne

Scala Lang

Scala is a pure object oriented language that implements some Python features in Java syntax. It is statically typed and both procedural and functional. It currently runs on JVM and .NET.

In 2004 - June 2004 - EcmaScript For XML (E four X)

ECMA

E4X

E4X is not a language but an addition to a language. In the same manner Scriptol uses XML as data structure with attributes and methods, E4X allows to assign XML to ECMAScript variables, and to access elements by indices or attributes.


JavaFX Script - 2005-2007

JavaFX Script

This language which is built on Java, incorporates and expands its syntax. It is intended to create rich graphical interface for the Web. It is used with NetBeans.
The langage was designed en 2005 and named F3 (Form Follows Function), but after the company has been bought by Sun, it was renamed JavaFX Script and open sourced.

http://www.scriptol.com/programming/history.php

0 komentar: