Thursday, 4 April 2024

Introduction to Programming Language and History of C Language

Introduction to Programming Language

Programming Language is a computer language that is used by programmers and  developers to communicate with the computer. It is a set of instructions written in any specific language ( C, C++, Java) to perform any specific task. A programming language is mainly used to develop desktop applications, websites & Mobile applications.

Types of Programming Language:


Low-Level Programming Language- (LLL)

It is Machine dependent (O and 1).The processor runs low-level programs directly without the need of a compiler or interpreter. So, the programs written in Low level language can be run very fast.


High Level Language-(HLL)
High level language is designed for developing user friendly software programs & websites.
This programming language requires a compiler or interpreter to translate the program into machine language to execute the program.
The main advantage of HLL is that it is easy to read, write & maintain. It includes python, Java, Javascript, php, C#, C++ etc.
Object Oriented Programming Language is based upon the object in this programming language programs are divided into small parts called objects. It is used to implement real world entities Like inheritance, polymorphism, abstraction encapsulation. It makes the program reusable, efficient & easy to use.
The main advantage of OOP is that it is faster and easier to execute, maintain, modify as well as debug.
E.g:- C#, Java, Python etc

Procedural programming language is derived from structured programming & based upon the procedure called concept. It divides a program into small procedures called Routines or functions. C, FORTON, PASCAL, BASIC, etc.


Translator: A program written in high level language is called as Source Code to convert this source code into machine code translators are needed. A translator makes a program take written source code as input & convert it into a program in target language as output. It also detects & reports errors during translation. 

There are two different type of translator & these are :-

1) Compiler: Compiler is a translator which is used to convert programs in High level to Low level language. It translates the entire program & also reports the error in the source program encountered during the translation.

Source< — Compiler—>Target  


2) Interpreter: It  is also a translator which is used to convert programs in high level language to low level language. Interpreter translates line by line & reports the error once it encounters during the translation. It directly executes the operation specified in the source program when input is given by the user.

3) Assembler: It is a translator which is used to translate the assembly language code to machine language.


Introduction and History of C Language

C programming language was created by Dennis Ritchie, an American computer scientist, while working at Bell Labs in the early 1970s. Alongside Ken Thompson, Ritchie also contributed significantly to the development of Unix operating system, which played a crucial role in popularising C.

 

Brief History:
Origins: The roots of C can be traced back to the Multics project, an ambitious effort to develop a time-sharing operating system at Bell Labs. Dissatisfied with the complexities of Multics, Ken Thompson and Dennis Ritchie began developing their own simplified operating system called Unix in 1969. As Unix evolved, the need for a flexible and efficient programming language became apparent, leading to the birth of C.

Development: Dennis Ritchie began working on C around 1971, drawing inspiration from earlier programming languages like BCPL and B. He aimed to create a language that provided low-level access to hardware while still offering high-level abstraction. By 1973, C had started to take shape, and it was soon used to rewrite portions of the Unix kernel and other system software, cementing its place in the computing world.

Standardization: As C gained popularity outside of Bell Labs, efforts were made to standardize the language to ensure compatibility across different systems. In 1983, the American National Standards Institute (ANSI) established a committee to develop a standard for C, leading to the creation of ANSI C or C89 in 1989. This standardization laid the groundwork for the widespread adoption of C in both academia and industry.

Evolution: Over the years, C continued to evolve, with subsequent revisions and enhancements. The International Organization for Standardization (ISO) released an updated version known as C99 in 1999, followed by C11 in 2011. These revisions introduced new features and improvements while maintaining backward compatibility with previous versions.

Legacy: C's influence extends far beyond its original intended purpose. It became the language of choice for system programming, embedded systems, and software development in various domains. Its simplicity, efficiency, and portability made it a favorite among programmers, laying the foundation for countless other languages and frameworks.

Modern Relevance: Despite the emergence of newer languages and technologies, C remains relevant today, particularly in areas where performance and control are paramount. It continues to be widely used in operating systems, device drivers, embedded systems, and high-performance computing. Additionally, many modern programming languages, including C++, Objective-C, and Rust, are directly descended from C or heavily influenced by its syntax and semantics.

In summary, the C programming language, created by Dennis Ritchie at Bell Labs in the early 1970s, revolutionized the world of computing with its simplicity, power, and portability. From its humble beginnings as a system programming language for Unix, C grew to become one of the most influential and widely used programming languages in history, shaping the evolution of software development and leaving an indelible mark on the digital landscape.

No comments:

Post a Comment

Roadmap to Learn C Language

  Roadmap to Learn C Language C is a powerful general-purpose programming language that is fast, portable, and available on all platforms. I...