Programming languages' milestones: An overview from 1960 - present (Part 2)

Previously on Programming languages' milestones: An overview from 1960 - present :

Introduction: To make computers and electronic devices as successful as today, the development of programming languages is the most important precondition. This series is going to describe briefly about several milestones during the great history of general-purpose programming languages and about a brief introduction of domain-specific languages.

General-purpose programming languages’ milestones From early twentieth century to 1960: λ-calculus (1932), FORTRAN (1956), ALGOL 58 (1958), COBOL (1960) From 1960 - 1970: PL/I (1964)


General-purpose programming languages’ milestones (cont.)

3. From 1970 to 1980

The period from late 1970s till 1980 brought a major flowering of programming languages. Most of the major language paradigms now being in use were invented in this period. Several notable general-purpose programming languages were developed during this period: Pascal (1970), C (1972) and Prolog (1972).

First and foremost, Pascal was designed and implemented by Niklaus Wirth in 1970, a small, efficient language intended to encourage good programming practices using structured programming and data structuring. According to Watt, Pascal was influenced by ALGOL 60 and along with ALGOL 68, it was among the first major programming languages with both a rich variety of control structures (conditional and iterative commands) and a rich variety of data types (such as arrays, records, and recursive types). Nowadays, this programming language has grown in popularity in teaching and academics area because it is one of the most easy-to-learn language, supports structured programming, produces transparent, efficient and reliable programs, platforms independent. Pascal code snippet The greatest improvement of Pascal compared with prior general-purpose programming languages such as ALGOL and FORTRAN were pointers and many basic data types support (i.e. characters), friendly to human readability (Taoyue, 2011).

In addition to Pascal, during this period, other achievements that support pointers and still being used in popularity at the moment are C and C++ (An improvement of C in 1980 that supports object-oriented programming). In fact, Pascal and Object Pascal (Pascal object-oriented programming version) offer pointers as an option than a requirement, meanwhile, C and C++ are more dependent on pointers. At that time, C and C++ were the innovations of programming languages development because never before languages that had low-level capabilities possessed a high human-readability and provided language constructs that map efficiently to machine instructions, and required minimal run-time support. Many later languages have borrowed directly or indirectly from C and C++ including D, Go, Rust, Java, JavaScript, Limbo, LPC, C#, Objective-C, Perl, PHP, Python, Swift, Verilog and Unix’s C shell. C++ code snippet 1972 also remarked another success of general-purpose logic programming with the release of the first logic programming language named PROPLOG (PROgramming in LOGic) (Lloyd, 1987). Unlike many other programming languages, Prolog has its roots in first-order logic, a formal logic and it is declarative (the program logic is expressed in terms of relations, represented as facts and rules. A computation is initiated by running a query over these relations).

4. From 1980 to 1990:

Programming language developing trend in the 1980s was instead of inventing new paradigms, it elaborated on ideas invented in the previous decade. Besides the attempt to make C object-oriented by C with classes (renamed to C++ in 1983), the US government standardized Ada – A system programming language intended for use by defense contractors (1983). According to Watt, ADA intended to become the standard general-purpose programming language and it also attracted a lot of critics (For example, Tony Hoare quipped that PASCAL, like ALGOL60 before it, was a marked advance on its successors!) (2004). In fact, these critics were incorrect. ADA was well designed and became one of the most suitable languages for developing high quality software, especially in mission-critical applications in fields such as aerospace.

This period also remarked another great programming language named Perl which affected many other notably interpreted and scripting languages’ developments several years later such as PHP, Ruby, JavaScript and Python. According to Sebesta, since its beginning, Perl has grown significantly and until now it is a powerful, although still somewhat primitive, programming language (2012). Perl has various applications compounded by the availability of many standard and third-party modules, large projects written in Perl include: cPanel, Slash, Bugzilla, Craigslist, IMDb, LiveJournal, DuckDuckGo, Slashdot and Ticketmaster. Perl code snippet (To be continued...)

References

  1. Watt, A., D. (2004). Programming Language Design Concepts.
  2. Taoyue (2011). History of Pascal. Retrieved April 8, 2017 from http://www.taoyue.com/tutorials/pascal/history.html
  3. Lloyd, W., J. (1987). Foundations of Logic Programming (2nd extended ed).