Loading...
Loading...
00:00:00

Introduction To C Programming language

History Of C Language

C language is create by Dennis Ritchie in 1972 at Bell Labs of AT&T (American Telephone & Telegraph) in USA. It's stable release version is C17 in 2018. C is a general-purpose procedural programming language that supports structured programming style. C language is middle level language because, in C we can write low level programs and high level programs. There are so many programs are written in c language such as device drivers, system software, operating system or other programming languages.

Know More

Advantage Of Learning C Programming Language

Initially, C programming language is developed for writing Unix operating system. Later on operating systems like GNU/Linux were all written in C. C language is most commonly used for writing system software and device drivers. It is very portable. Most of the modern programming language is also written in C such as python, java, php, ruby etc.
C language is much easier to write code as compare to assembly language, and it is very human readable. C language is much faster language as compare to modern programming language because it is very related to hardware. In C programming language, we have more control over memory management with pointer concept, it is big Advantage of C programming language. C language is subset of C++ programming language.

Uses of C Language

C language is a widely used general-purpose programming language that has been around for several decades. It was developed in the early 1970s by Dennis Ritchie at Bell Labs, and it has since become one of the most popular programming languages in the world. Here are some of the most common uses of C language:

  1. Operating Systems: C is a low-level language that is used to develop operating systems, such as Windows, UNIX, and Linux. It provides low-level access to system resources, such as memory, disk, and network, making it well-suited for developing system-level software.

  2. Embedded Systems: C is often used to develop embedded systems, which are computer systems that are built into other devices, such as cars, medical devices, and appliances. C provides efficient memory management, low-level access to hardware, and fast execution, making it ideal for developing small, efficient, and real-time systems.

  3. Compilers and Interpreters: C is used to develop compilers and interpreters, which are software programs that translate high-level programming languages into machine code that can be executed by the computer. C's low-level access to system resources makes it well-suited for developing these kinds of programs.

  4. Graphics and Games: C is often used to develop graphics and games because of its efficient memory management and fast execution. Game engines like Unity, Unreal Engine and CryEngine are written in C, C++ and other low-level languages.

  5. Financial Applications: C is often used in the financial industry to develop applications for trading, risk management, and other financial functions. Its fast execution speed and efficient memory management make it well-suited for processing large amounts of data in real-time.

  6. System Programming: C is well-suited for system programming, such as device drivers, operating systems, and firmware. C's low-level access to system resources and its ability to interact directly with hardware make it a good fit for developing low-level system software.

Overall, C is a versatile and powerful programming language that can be used in a wide range of applications, from low-level system programming to high-level application development.

C Language Standards

Year of release C standard
1972 Birth
1978 K&R C
1989/1990 ANSI C and ISO C
1999 C99
2011 C11
2017 C17

Low Level Vs High Level Programming Language

High-level languages and low-level languages are two different types of programming languages.

High-level languages are designed to be easily read and written by humans, with syntax and keywords that are similar to natural language. These languages allow programmers to write code that is more abstracted from the underlying hardware and operating system, making it easier to develop complex applications with fewer lines of code. Examples of high-level languages include Python, Java, Ruby, and C#.

On the other hand, low-level languages are closer to the machine code that the computer actually executes. They provide the programmer with more direct control over the hardware, allowing for highly optimized and efficient code. Low-level languages are often used in system programming, device drivers, and embedded systems, where performance and memory management are critical. Examples of low-level languages include Assembly language and C.

The main differences between high-level and low-level languages are in their level of abstraction and their relationship with the underlying hardware. High-level languages are easier to learn and use, and are more suited for rapid application development. Low-level languages require more knowledge and experience, but can provide better performance and control over system resources. Ultimately, the choice of language depends on the needs of the application and the preferences of the developer.

Low level language - Low level programming languages are very close to hardware to interect it. It is very defficult to understand by human and machine dependent. Low level programming language is mostly compile rather than interpret and directly converts into machine code that is very faster access for CPU. Machine code, Assembly, C, pascal, FORTRAN are the examples of low level languages.

High Level language - Hight level programming language is very easy to learn and write code as compare to low level language. In high level language we cannot give instruction directly to the CPU. High level programming language is mostly interpret by interpreter then execute by the CPU. It is much human readable and code maintainable. It is little slower as compare to low level programming language. C++, java, Javascript, python, PHP, Perl,Ruby, C#, Kotlin are examples of modern high level programming language.