C Programming Language A Review
C Programming Language A Review
net/publication/371166462
CITATIONS READS
0 4,458
3 authors, including:
Darllaine Lincopinis
Western Mindanao State University
8 PUBLICATIONS 0 CITATIONS
SEE PROFILE
All content following this page was uploaded by Darllaine Lincopinis on 31 May 2023.
Brethel B. Chavez
(Western Mindanao State University, Pagadian City, Philippines
[email protected])
Darllaine R. Lincopinis
(Western Mindanao State University, Pagadian City, Philippines
https://orcid.org/0000-0001-9503-8965, [email protected])
Abstract: The C programming language has been around for many years and is a popular and
significant computer language. Dennis Ritchie created the C programming language at Bell Labs
in the early 1970s with the goal of creating a straightforward, effective, and portable language that
could be used to create system software and other low-level applications. Many of C’s strengths,
such as its low-level capabilities, effective memory management, portability, and broad range
of applications, can be credited for its popularity and longevity. Operating systems, embedded
devices, applications for science and engineering, video games, and more have all been created
using C. C++, Java, and Python are just a few of the programming languages that C has impacted,
making it an important figure in the history of computer science. Despite its advanced age, C is
still a vital and relevant language for many developers, and it will play a significant role in the
creation of software for many years to come.
Keywords: C, programming language, computer science
Categories:
DOI: 10.3897/jucs.<SubmissionNumber>
1 Introduction
Since the 1970s, C has been one of the most widely used programming languages in the
world [Ritchie,1993]. It is a general-purpose programming language that is frequently
used in the creation of operating systems, compilers, embedded devices, and other
types of low-level software [Kernighan Ritchie,1978]. C supports low-level memory
manipulation, which is crucial for some applications, as well as efficient performance.
Its relatively basic syntax also makes it straightforward to learn [Balasubramanian,2016].
Because of its versatility, strength, and widespread use, C continues to be a preferred
choice for many programmers despite the introduction of other programming languages.
System programming and other tasks that call for effective memory management
and direct hardware control can benefit from this low-level language’s direct access
to the system’s memory and hardware resources. Because C is a compiled language,
before it is executed, a compiler converts the source code into machine code. Because
the compiled code can be executed directly on the computer’s hardware, this procedure
makes C programs quick and effective.
Chavez, B., Gitalan, T., Lincopinis, D.: C Programming Language: A Review 1
The strong type and structured programming capabilities of C also make it simpler
to build trustworthy and maintainable code, which is crucial in big software projects.
Pointers are supported in C, and it has effective memory management, which makes it a
potent tool for dealing with intricate data structures and algorithms.
Finally, the development of multiple libraries and frameworks that can facilitate
programming activities and facilitate the creation of sophisticated software applications
has been facilitated by the fact that C is an open-source language with a sizable and
active developer community [Ghezzi, et. al.,2018]. Overall, C is a popular and valuable
language for many developers due to its performance, portability, history, reliability, and
extensibility.
taken syntax and ideas from it. The strong foundation in programming concepts and
language constructs provided by learning C makes it simpler to learn and comprehend
these derived languages.
4. Low-level Programming
With capabilities like pointers, bitwise operations, and manual memory management,
C enables direct memory access. This qualifies it for jobs like creating device drivers,
operating systems, and embedded systems that call for low- level hardware control.
5. Operating systems development
For low-level system interactions, the majority of operating systems are either
written in C or include a C interface. Understanding operating system fundamentals
and creating software that closely interacts with the underlying hardware require a
working knowledge of C.
6. Career opportunities
A vast variety of professional prospects are made available by C programming
expertise. In fields like systems programming, the creation of embedded systems,
the creation of video games, and cybersecurity, it is highly valued. C programming
knowledge can provide you an advantage in several professions.
7. Strong programming fundamentals
C enforces best practices in programming, like manually managing memory, com-
prehending data types, and putting algorithms into practice. Learning C aids in the
development of a solid foundation in programming that can be applied to various
languages and technologies.
8. Direct access to system resources
Because C is a low-level language, it offers direct access to hardware and system
resources like memory. This direct access enables programmers to create software,
such as device drivers or system-level software, that communicates with a system’s
underlying hardware.
9. Legacy code maintenance
C is widely used to create existing software frameworks, libraries, and systems.
You can efficiently extend and manage historical codebases if you have a working
knowledge of C. You can use it to debug and fix problems, enhance performance,
and incorporate fresh features into current C-based programs.
10. Deep understanding of computer architecture
Understanding the fundamentals of how processors and computers operate is neces-
sary to learn C. You gain understanding of ideas like pointers, low-level operations,
data representation, and memory management. Your grasp of software- hardware
interaction and system-level optimizations will be improved by this information.
6 Conclusion
Developers of all skill levels can benefit from learning C since it offers a solid foundation
in computer science ideas that can be applied to other languages and technologies. Due
to its open-source nature, many libraries and frameworks have been created that can
streamline programming tasks and make it simpler to create sophisticated software
Chavez, B., Gitalan, T., Lincopinis, D.: C Programming Language: A Review 5
References
[Ritchie,1993] Ritchie, D. The development of the C language. ACM Sigplan Notices. 28, 201-
208 (1993)
[Kernighan Ritchie,1978] Kernighan, B. & Ritchie, D. The C Programming Language Prentice
Hall. Englewood Cliffs, New Jersey. (1978)
[Balasubramanian,2016] Balasubramanian, S. A brief history of the C programming language.
International Journal Of Computer Applications. (2016)
[Alexander,2019] Alexander, M. The advantages of learning C programming. (educba,2019),
https://www.educba.com/advantages-of-learning-C-programming/
[Doyle,2013] Doyle, B. C Programming: From Problem Analysis to Program Design. (Cengage
Learning,2013)
[Donovan,2019] Donovan, B. A brief history of C. (IEEE Computer Society,2019)
[Ghezzi, et. al.,2018] Ghezzi, C., Jazayeri, M. & Mandrioli, D. Fundamentals of software engi-
neering. (Prentice-Hall, Inc.,1991)