0% found this document useful (0 votes)
17 views11 pages

Computer Language Evolution.

The document outlines the five generations of programming languages, categorizing them into low-level (first and second generations) and high-level (third, fourth, and fifth generations) languages. Each generation has distinct characteristics, advantages, and disadvantages, ranging from machine language in the first generation to languages based on artificial intelligence in the fifth generation. Additionally, it discusses the essential characteristics of a good programming language, including simplicity, readability, efficiency, and community support.

Uploaded by

vsshukla641
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
0% found this document useful (0 votes)
17 views11 pages

Computer Language Evolution.

The document outlines the five generations of programming languages, categorizing them into low-level (first and second generations) and high-level (third, fourth, and fifth generations) languages. Each generation has distinct characteristics, advantages, and disadvantages, ranging from machine language in the first generation to languages based on artificial intelligence in the fifth generation. Additionally, it discusses the essential characteristics of a good programming language, including simplicity, readability, efficiency, and community support.

Uploaded by

vsshukla641
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
There are five generations of Programming languages. They are: LH i) Tenet to Creu Cutty 4 i Donne te ae Cgc De et ced i eee ec if 4 i i ‘ Ser aC Co ec tc ea Lc Cnet 4 1 i cera I ecu cy 3rd Generation Cre ICE eeu ey i ‘ Donne Dt ae NaC CMT aa aes lee Reema Uae ee eR Cold Set Sa ae) First-Generation Languages : These are low-level languages like machine language. Second-Generation Languages : These are low-level assembly languages used in kernels and hardware drives. Third-Generation Languages : These are high-level languages like C, C++, Java, Visual Basic, and JavaScript. Fourth Generation Languages : These are languages that consist of statements that are similar to statements in the human language. These are used mainly in database programming and scripting. Examples of these languages include Perl, Python, Ruby, SQL, and MatLab(MatrixLaboratory). Fifth Generation Languages : These are the programming languages that have visual tools to develop a program. Examples of fifth-generation languages include Mercury, OPS5, and Prolog. The first two generations are called low-level languages. The next three generations are called high-level languages. Programming Languaes Low Level High Tevel First Second Third — Fourth Fifth Generation Generation Generation Generation Generation 1. First-Generation Language : The first-generation languages are also called machine languages/ 1G language. This language is machine- dependent. The machine language statements are written in binary code (0/1 form) because the computer can understand only binary language. Advantages : 1. Fast & efficient as statements are directly written in binary language. 2. No translator is required. Disadvantages : 1. Difficult to learn binary codes. 2. Difficult to understand — both programs & where the error occurred. 2. Second Generation Language : The second-generation languages are also called assembler languages/ 2G languages. Assembly language contains human-readable notations that can be further converted to machine language using an assembler. Assembler — converts assembly level instructions to machine-level instructions. Programmers can write the code using symbolic instruction codes that are meaningful abbreviations of mnemonics. It is also known as low-level language. Advantages : 1. It is easier to understand if compared to machine language. 2. Modifications are easy. 3. Correction & location of errors are easy. Disadvantages : 1. Assembler is required. 2. This language is architecture /machine-dependent, with a different instruction set for different machines. 3. Third-Generation Language : The third generation is also called procedural language /3 GL. It consists of the use of a series of English-like words that humans can understand easily, to write instructions. It's also called High-Level Programming Language. For execution, a program in this language needs to be translated into machine language using a Compiler/ Interpreter. Examples of this type of language are C, PASCAL, FORTRAN, COBOL, etc. Advantages : 1. Use of English-like words makes it a human- understandable language. 2. Lesser number of lines of code as compared to the above 2 languages. 3. Same code can be copied to another machine & executed on that machine by using compiler-specific to that machine. Disadvantages : 1. Compiler/ interpreter is needed. 2. Different compilers are needed for different machines. 4. Fourth Generation Language : The fourth-generation language is also called a non — procedural language/ 4GL. It enables users to access the database. Examples: SQL, Foxpro, Focus, etc. These languages are also human-friendly to understand. Advantages : 1. Easy to understand & learn. 2. Less time is required for application creation. 3. It is less prone to errors. Disadvantages : 1. Memory consumption is high. 2. Has poor control over Hardware. 3. Less flexible. 5. Fifth Generation Language : The fifth-generation languages are also called 5GL. It is based on the concept of artificial intelligence. It uses the concept that rather than solving a problem algorithmically, an application can be built to solve it based on some constraints, i.e., we make computers learn to solve any problem. Parallel Processing & superconductors are used for this type of language to make real artificial intelligence. Examples: PROLOG, LISP, etc. Advantages : 1. Machines can make decisions. 2. Programmer effort reduces to solve a problem. 3. Easier than 3GL or 4GL to learn and use. Disadvantages : 1. Complex and long code. 2. More resources are required & they are expensive too. Computer languages have evolved from low-level to high- level languages over time. Low-level languages include machine language and assembly language, while high-level languages include Python, Java, and C++. Here are some characteristics of each type of language: Computer Languages Ce ee Ceo d) Use 1’ 5&0" sto Use mnemonics to Similar to create instructions create instructions human langugae Ex: Binary Language Assembly Language COBOL, FORTRAN, BASIC C++, JAVA, High Level Language ADD A,B Assembly Language 100100111 Machine Language v Machine language Also known as a low-level language, machine language is the only language that a computer can understand. It's made up of binary numbers, or strings of 1s and 0s, that instruct a processor to perform operations like addition and comparison. For human viewing and modification, the binary digits are often converted to hexadecimal (base 16). Assembly language A middle-level language, assembly language is designed to be readable by humans. It uses predefined words called mnemonics to create instructions that are similar to machine code, but with words instead of numbers. Assembly language allows programmers to communicate directly with a computer's hardware. High-level languages Also known as HLLs, these languages have syntax and structures that are closer to human-readable language, making them easier for programmers to understand and use. HLLs allow programmers to develop programs that are independent of the type of machine they are running on. Examples of HLLs include Python, Java, C++, JavaScript, Ruby, and C#. Good Programming Language Simplicity Noturainess C-) Suitability toits Environment, ‘Characteristics Extensibility of a Good Programming Language Efficiency Locality Structured Programming Compactness } \ Support A good programming language possesses several key characteristics that contribute to its effectiveness and usefulness. Here are some of the important characteristics: + Simplicity: A good programming language should be easy to understand and use, with clear syntax and semantics. It should allow developers to express their ideas and solutions in a straightforward manner, minimizing complexity and unnecessary details. + Readability: The language should promote code readability, making it easy for programmers to understand and maintain the code. Clear and consistent naming conventions, indentation rules, and well-defined structures contribute to improved readability. Expressiveness: A good programming language provides expressive power, enabling developers to write concise and meaningful code. It should offer a rich set of features and constructs that allow programmers to solve problems efficiently and elegantly. Efficiency: The language should enable developers to write efficient code that executes quickly and consumes minimal system resources. It should have built-in optimization features or support for low-level operations when necessary. Portability: A good programming language should be platform-independent or have strong cross-platform support. It should allow code to be written once and run on different operating systems or hardware configurations without significant modifications. Flexibility: The language should offer flexibility in terms of programming paradigms and styles. It should support various programming approaches such as procedural, object-oriented, functional, or event-driven, allowing developers to choose the most suitable paradigm for their project. Robustness: The language should provide strong error handling mechanisms, including proper exception handling and debugging support. It should also have built-in safeguards against common programming errors, ensuring the reliability and stability of the resulting software. Extensibility: A good programming language should support extensibility, allowing developers to create libraries, modules, or plugins to enhance its functionality. It should have well-defined mechanisms for code reuse and integration with other tools or frameworks. Community and Ecosystem: A thriving community and ecosystem around a programming language are crucial. A good language should have active developer communities, online resources, documentation, and a wide range of third-party libraries and frameworks that make it easier for developers to learn, collaborate, and build upon existing code. Tooling Support: The availability of robust development tools, such as integrated development environments (IDEs), debuggers, profilers, and package managers, greatly enhances the programming experience. A good language should have a rich ecosystem of tools that simplify development, testing, and deployment processes.

You might also like