Evolution of Programming Languages PDF
Document Details
Uploaded by WorkableOrangeTree4835
Negros Oriental State University
Angel Ortaliza Nacion, LPT
Tags
Summary
This document provides an overview of the evolution of programming languages, tracing their development from early mechanical computers to modern-day languages. It covers key programming languages and their historical context, examining their influence on various domains like scientific applications and web development. The document also discusses the evaluation criteria and issues associated with programming languages. This knowledge is valuable to understand the history of programming.
Full Transcript
EVOLUTION OF PROGRAMMING LANGUAGES CSC 204 PREPARED BY: Angel Ortaliza Nacion, LPT ADA LOVELACE (Augusta Ada Byron, Lady Lovelace) “The first computer programmer” English mathematician and writer chiefly known for her work on Charles...
EVOLUTION OF PROGRAMMING LANGUAGES CSC 204 PREPARED BY: Angel Ortaliza Nacion, LPT ADA LOVELACE (Augusta Ada Byron, Lady Lovelace) “The first computer programmer” English mathematician and writer chiefly known for her work on Charles Babbage's early mechanical general purpose computer, the Analytical Engine. Her notes on the engine include what is recognized as the first Algorithm intended to be processed by a machine. ASSEMBLY LANGUAGE (1949) It is a type of low-level language. It mainly consists of instructions (kind of symbols) that only machines could understand. It is first implemented in EDSAC (Electronic Delay Storage Automatic Calculator In today’s time also assembly language is used in real-time programs such as simulation flight navigation systems and medical equipment eg – Fly-by-wire (FBW) systems. It is also used to create computer viruses. AUTOCODE (1952) Autocode is a term use to describe family of early computer programming languages. Developed by Alick Glennie. The first compiled computer programming language. COBOL and FORTRAN are the languages referred to as Autocode. FORTRAN (1957) FORTRAN stands for Formula Translation Developers are John Backus and IBM. It was designed mainly for complicated mathematical calculations like numeric computation and scientific computing. Software for NASA probes voyager-1 (space probe) and voyager-2 (space probe) was originally written in FORTRAN 5. ALGOL (1958) ALGOL stands for Algorithmic Language. ALGOL was the basis for known programming languages such as PASCAL, C, C++ and Java. It was also the first language implementing the nested function and has a simple syntax than FORTRAN. The first programming language to have a code block like “begin” that indicates that your program has started and “end” means you have ended your code. COBOL (1959) It stands for Common Business-Oriented Language. It is developed by Dr. Grace Murray Hopper and was designed to run on all brands of computer. In 1997, 80% of the world’s business ran on Cobol. The US internal revenue service scrambled its path to COBOL- based IMF (individual master file) in order to pay the tens of millions of payments mandated by the coronavirus aid, relief, and economic security. THE FIRST COMPUTER BUG (September 1947) Dr. Grace Murray Hopper, who worked with Howard Aiken from 1944 found a dead moth from a malfunctioning relay. One day, the program she was running gave incorrect results and, upon examination, a moth was found blocking one of the relays. The bug was removed and the program performed to perfection. Since then, a program error in a computer has been called a “bug” LISP (1959) LISP is developed in MIT It stands for List Processing Language It is considered to be the second oldest high-level programming language after FORTRAN. LISP’s source code is made up of list. It is also considered as one of the popular language during that period to study about Artificial Intelligence (AI) BASIC (1964) It stands for Beginners All-purpose Symbolic Instruction Code. BASIC was designed for students who doesn’t have a strong background in mathematics. In 1991 Microsoft released Visual Basic, an updated version of Basic The first microcomputer version of Basic was co- written by Bill Gates, Paul Allen, and Monte Davidoff for their newly-formed company, Microsoft. PASCAL (1970) It was named after the famous mathematician Blaise Pascal It was developed by Niklaus Wirth of Switzerland to teach structured programming It is easy to learn and was favored in teaching programming language during that time. PASCAL is used in early Apple Computer’s development. SMALLTALK (1972) Smalltalk was the product of research led by Alan Kay at Xerox Palo Alto Research Center (PARC) Smalltalk has influenced many other programming languages like C, Python, Ruby, Java and has an effective computational power. - This is the main reason that it is widely used in web applications, Internet of Things(IoT), medical fields, artificial intelligence, machine learning, mobiles, desktops and in many other industrial fields. Its a versatile language and provides an interactive graphical platform and thus many web developing companies are using Smalltalk on a very large scale.In 2017, SMALLTALK was considered as the second most love programming language on stack overflow developers survey. C (1972) It is a general-purpose, procedural programming language and the most popular programming language till now. It was developed by Dennis M. Ritchie at Bell Laboratories (formerly AT&T Bell Laboratories). All the code that was previously written in assembly language gets replaced by the C language like operating system, kernel, and many other applications. It can be used in implementing an operating system, embedded system, and also on the website using the Common Gateway Interface (CGI). C is the mother of almost all higher-level programming languages like C#, D, Go, Java, JavaScript, Limbo, LPC, Perl, PHP, Python, and Unix’s C shell. SQL (1972) SQL (Structured Query Language) was developed at IBM by Donald D. Chamberlin and Raymond F. Boyce. The earlier name was SEQUEL (Structured English Query Language). SQL is still widely used in Database management today. MATLAB (1978) It stands for MATrix Laboratory. It is used for matrix manipulation, implementation of an algorithm, and creation of a user interface. MATLAB was invented by mathematician and computer programmer Cleve Moler It is considered as one of the best programming language for advanced mathematical computations. OBJ-C (1983) OBJ-C (Objective-C) combines SMALLTALK style messaging with the C programming language. It was developed by Brad Cox and Tom Love Until the recent development of Swift in 2014, OBJ-C is use as the main programming language for Apple’s MAC OS and iOS. C++ (1983) C++ is the fastest high-level programming language. C++ was developed by Bjarne Stroustrup It is an improvement of the C programming language It is also known as C with classes with more high level features. It is most widely used programming languages and is used in popular high performance software like Adobe Photoshop. New versions of C++ are released roughly every 3 years. C++20 is the latest version of C++ PERL (1987) It is a scripting language for text editing PERL borrows features from C, BASIC and LISP. It is commonly used in Linux System Administration,, web development and network programming. HASKELL (1990) Haskell is a purely Functional, non-strict Programming Language. It is Specially designed to cope with large-scale industrial production applications. It is known for its rich built architecture. Haskell programs are written as Mathematical functions. It is named based on a U.S. mathematician Haskell Brooks Curry. PYTHON (1991) It is much easier to read and requires overall less lines of codes compared to previous programming languages. It is developed by Guido van Rossum It is named from an old BBC television comedy sketch series called “Monty Python's Flying Circus” It is notorious for making programmers “lazy” because it offers so much utility and almost uncontested code readability Famous language among data scientists and analysts. VISUAL BASIC (1991) It is developed by Microsoft Its key features allows users to drag and drop chunks of codes in a graphical user interface. It is design to be extremely easy to learn. R (1993) R was created by Ross Ihaka and Robert Gentleman at the University of Auckland, New Zealand It is mostly used among statisticians and data scientist for data analysis and the development of the statistical software. As of January 2020, it ranks 18th in the most popular PL. JAVA (1995) Java is commonly taught for object-oriented designs. Java was created at Sun Microsystems, Inc. by a group of researchers lead by James Gosling It was originally designed to be used in cable boxes but was later on improved to be used on the WWW (Word Wide Web) It is written around the phrase “ write once, run anywhere” Java applications can run on any JVM (Java Virtual Machine) completely independent on the underlying computer architecture. There are more than 3 billion devices currently run Java. PHP (1995) PHP (Personal Home Page) is a scripting language mainly used in web programming for connecting databases. It is created by Rasmus Lerdorf The popular blog Wordpress is written using PHP RUBY (1995) Ruby is a pure object-oriented programming language. It was created in 1993 by Yukihiro Matsumoto of Japan. Ruby is "A Programmer's Best Friend". Ruby has features that are similar to those of Smalltalk, Perl, and Python. Perl, Python, and Smalltalk are scripting languages. Smalltalk is a true object-oriented language. Ruby, like Smalltalk, is a perfect object-oriented language. Using Ruby syntax is much easier than using Smalltalk syntax. JAVASCRIPT (1995) JavaScript enables interactive web pages. JS is the most popular programming language. JavaScript was invented by Brendan Eich JavaScript is a lightweight, interpreted programming language. It is designed for creating network-centric applications. It is complimentary to and integrated with Java. JavaScript is very easy to implement because it is integrated with HTML. It is open and cross-platform C# (2000) C# (pronounced as C sharp) is a general-purpose, object- oriented programming language. It is one of the most popular languages used for developing desktop and web applications. Being a C based language, C# is closer to C++ and C. Syntactically, it is similar to Java. It was developed by Microsoft's Anders Hejlsberg, a Danish software engineer SCALA (2003) Scala is a general-purpose, high-level, multi-paradigm programming language. It is a pure object-oriented programming language which also provides support to the functional programming approach. Scala programs can convert to bytecodes and can run on the JVM (Java Virtual Machine). Scala stands for Scalable Language. Scala is highly influenced by Java and some other programming languages like Lisp, Haskell, GROOVY (2003) Groovy is a Java-syntax-compatible object-oriented programming language for the Java platform. It is both a static and dynamic language with features similar to those of Python, Ruby, and Smalltalk. It can be used as both a programming language and a scripting language for the Java Platform, is compiled to Java virtual machine (JVM) bytecode, and interoperates seamlessly with other Java code and libraries. GO (2009) Go is a procedural programming language. It was developed in 2007 by Robert Griesemer, Rob Pike, and Ken Thompson at Google but launched in 2009 as an open-source programming language. Programs are assembled by using packages, for efficient management of dependencies. It is designed to be simple, efficient, and easy to learn, making it a popular choice for building scalable network services, web applications, and command-line tools. KOTLIN (2011) Kotlin is a statically typed, general-purpose programming language developed by JetBrains, that has built world-class IDEs like IntelliJ IDEA, PhpStorm, Appcode, etc. It was first introduced by JetBrains in 2011 and is a new language for the JVM. Kotlin is an object- oriented language, and a “better language” than Java, but still be fully interoperable with Java code. Kotlin is sponsored by Google, announced as one of the official languages for Android Development in 2017. SWIFT (2014) Swift is a robust and intuitive programming language created by Apple for building apps for iOS, Mac, Apple TV, and Apple Watch. It’s designed to give developers more freedom than ever. Swift is easy to use and open source, so anyone with an idea can create something incredible. OUTLINE Topics to be discussed… Programming Domains Language Evaluation Criteria Influences on Language Design Language Categories Implementation Methods PROGRAMMING DOMAINS SCIENTIFIC APPLICATIONS BUSINESS APPLICATIONS ARTIFICIAL INTELLIGENCE (AI) SYSTEMS PROGRAMMING WEB SOFTWARE Programming Domains continued… SCIENTIFIC APPLICATIONS The first digital computers, which appeared in the late 1940s and early 1950s, were invented and used for scientific applications. Programming languages provide scientists with the flexibility to customize their software tools, automate repetitive tasks, and implement complex algorithms tailored to their specific research needs. The first language for scientific applications was Fortran Programming Domains continued… BUSINESS APPLICATIONS The use of computers for business applications began in the 1950s. Many modern business applications also use a combination of languages and technologies to leverage the strengths of each for different components of the application. JavaScript essential for web development and is used to create dynamic and interactive user interfaces in web-based business applications. Swift a good choice for businesses looking to develop mobile applications for Apple platforms. Kotlin used for Android app development and is considered an alternative to Java for building Android business applications. The first successful high-level language for business was COBOL and is still the most commonly used language for these applications. Programming Domains continued… ARTIFICIAL INTELLIGENCE Artificial intelligence (AI) is a broad area of computer applications characterized by the use of symbolic rather than numeric computations. The first widely used programming language developed for AI applications was the functional language LISP (McCarthy et al., 1965), which appeared in 1959. Programming Domains continued… SYSTEMS PROGRAMMING The operating system and the programming support tools of a computer system are collectively known as its systems software. In the 1960s and 1970s, some computer manufacturers, developed special machine-oriented high-level languages for systems software on their machines. These includes: IBM mainframe computers PL/S, a dialect of PL/I; Digital BLISS, Burroughs Extended ALGOL. UNIX operating system written almost entirely in C Most system software is now written in more general programming languages, such as C and C++. Programming Domains continued… WEB SOFTWARE The World Wide Web is supported by an eclectic collection of languages, ranging from markup languages, such as HTML, which is not a programming language, to general-purpose programming languages, such as Java. The choice of programming language for web software development depends on factors such as project requirements, team expertise, scalability needs, and performance considerations. It is also common to use multiple languages and technologies in a web stack, such as using JavaScript for frontend development and a different language like Python, Ruby, or Java for the backend. Why is HTML not a programming language? HTML contains no programming logic. It doesn’t have common conditional statements such as If/Else. It doesn’t handle events or carry out tasks. You can’t declare variables and you can’t write functions. It doesn’t modify or manipulate data in any way. It can’t evaluate expressions or do any math. HTML can’t take input and produce output. #include using namespace std; int main() { int number; cout > number; // checks if the number is positive if (number > 0) { cout