Overview of Programming Languages
Assembly Language
- Low-level programming language.
- Allows humans to give instructions to computer hardware.
- Translates human-readable code into binary (0s and 1s) using an assembler.
- One of the world's first programming languages, used historically to run supercomputers.
- Still used for CPU memory and in web browsers via WebAssembly.
High-Level Languages
- Easier to understand than low-level languages but execute slower.
- Examples include Fortran, COBOL, and BASIC.
Fortran
- Created by IBM in the 1950s; "Formula Translator."
- Used punch cards for programming.
- Compiling translates human-readable code into binary.
COBOL
- "Common Business Oriented Language."
- Developed in 1959 for business applications.
- Still used by financial institutions.
- Code resembles English sentences.
BASIC
- Created in 1963 at Dartmouth.
- Designed to be easy for laypeople to learn coding.
Other Notable Languages
Lisp
- Known for extensive use of parentheses.
- Influential in the development of programming concepts.
RPG (IBM Report Program Generator)
- Uses rows and columns for its code structure.
ALGOL 60
- Influenced the development of C language.
- Introduced nested functions.
APL
- Developed for mathematical equations.
- Utilizes math and Greek symbols in code.
Simula
- One of the first object-oriented programming languages.
SQL
- "Structured Query Language."
- Used for database management with tables, rows, and columns.
C
- Developed in the 1970s at Bell Labs.
- Basis for operating systems like Windows and Linux.
- Introduced low-level memory access with pointers.
C++
- Extension of C, adding object-oriented programming.
- Steep learning curve but crucial for systems, databases, and games.
Java
- Platform-independent language, popular for games and Android apps.
Python
- General-purpose language, popular for AI and easy to learn.
JavaScript
- Used for web browsers, often in conjunction with HTML and CSS.
R
- Focuses on statistics and data visualization.
Ruby
- Similar to Python; used with Rails for web development.
Swift
- Apple's primary language for iOS development.
Rust
- Modern alternative to C/C++, focuses on performance and memory safety.
Solidity
- Used for developing on the Ethereum blockchain, creating smart contracts.
Elixir
- Runs on Erlang's virtual machine, used in telecom and finance.
Summary
This lecture covers the evolution and characteristics of various programming languages from low-level to high-level, focusing on their purposes, origins, and contributions to computing.