Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 9

Case Study: Applications which are developed in C

Abstract: -C programming language is a C language is a quite fast as well as


general-purpose programming language. It portable and has a rich library in it. C is a
was developed by Dennis Ritchie at Bell middle level programming language but it
Laboratories in the year 1972.Since then, has benefits of both low-level languages as
this language has become a major language well as high level languages. C
throughout the world. [1] When C language programming language has left its mark in
was developed, it was originally developed every domain of programming. C language
for use with the UNIX operating system, is specifically used to develop applications
whose most of the part was itself written in and for system development work.
C. However, the spread of C programming
language is far beyond of UNIX system in  
the past years. C language was actually  
developed for ‘System Programming’ i.e.,
for writing programs like text editors, II. Objective: -
compilers and operating system. But the
language has proved itself satisfactory for To study the complete use of the C
other languages too, like telephone programming language. Like in how many
switching systems, database systems, etc. companies C language is still used and
which are the applications that have been
 Keywords: C language, Applications, developed using C programming language.
        
In short, the thorough study of the use of C
programming language in development of
I. Introduction: - different applications.

Nowadays it has been considered that   


C programming language has become
III. Methodology of Case Study: -
obsolete and no one is using this language
anymore. Generally, people are thinking that        Since the objective is clearly to
applications of C programming language are
study the current relevance and
decreasing day by day. But the fact is that, C
is considered as one of the oldest and
Applications of C Language, we have
fundamental languages that are widely used divided the cases into various domains
in the world. Programming knowledge is and technologies that are popularly in use
incomplete without the use of the C and Implementations and Examples and
programming language. It continues to illustration are added in each
dominate the programming. Application. It includes some codes,
outputs, Architecture diagrams etc. to        The use of C language has spread and
signify the importance of it. now it has become a general-purpose
programming language because of its usage
         and popularity.
  Here are some interesting
applications of the C programming
  
language:
 
 
IV. Outcomes: -
 
This study will prove that the
a) Operating System: -
domination of the C programming language
in the world of programming is still there.
       The first operating system that was
C uses collection of in-built functions developed using a high-level programming
and operators. This helps in writing of the language was UNIX Operating System,
complex programs. C programs are really which was designed using the C
very efficient because they contain variety programming language. Later, Microsoft
of data types and operators. C language is Windows and various Android applications
often called as a middle level language were scripted using the C programming
because it includes the features of both low- language.
level language and high-level programming
languages. C programming language is       Operating Systems basically interact
considered as general-purpose programming with the hardware. It should be built using
language. And that is why it has vast such a programming language that has the
applications in different domains.[3] power to read from a memory location and
also the power of writing into a memory
  location. C is a programming language
whose code gets translated into a machine-
  level (assembly language) and it can run on
any machine i.e.it is machine independent. C
V. Real World Applications of C language can be used in various system calls
Programming Language: - and has the concept of pointers which makes
it desirable. And that’s the reason why C is
       The applications of C programming preferred in designing operating systems [4].
language are not limited to the development
of operating systems, like Windows Below are few examples:
Operating System or Linux, but also in the
development of GUIs (Graphical User ·   Microsoft’s Windows
Interfaces) as well as IDEs (Integrated
·   Linux
Development Environments). Use of the C
programming language is not limited to the ·   Apple’s OS X Kernel (iOS)
development systems and applications, it has
vast uses. ·   Microsoft Windows utilities
·   Android All C code has a direct 1-1 translation to
machine code that is easily understandable.
·   Windows Phone As a result, C has no built in complicated
data structures like trees or hash tables. This
must be implemented by the programmer,
   Implementation of C in OS Development the premise behind this being that the
programmer should be able to see any C
  Here are some features of C that are not code and know exactly what it does in
seen in many other languages that make it   hardware.
suitable for OS development:     The C (and UNIX) philosophy is that the
programmer knows better than the language,
  Direct memory access. Memory and this makes it very suitable for fine
management is left to the programmer and tuning details in OS and systems
therefore is an advantage in OS development development, with the obvious downside of
where practically all things useful involve not having convenient structures built in.[6]
directly manipulating areas of RAM

No runtime dependencies. Unlike C++, b) Embedded Systems: -


Java, C# and others, C has absolutely no
runtime dependencies. It doesn't expect a        [4] The C programming language is
memory manager, it doesn't expect process considered to be the best choice when it
management, the only runtime dependency comes to scripting applications and drivers
it has is that something calls the main() of embedded systems, as the C language is
function. That means that you can write a C closely related to machine hardware.
program that runs directly on hardware
without expecting some kind of memory        An embedded system can be
manager or input or output layer. understood as a hardware system which has
software embedded in it.
Efficient byte-level manipulation. C is
perfectly suitable at efficient byte level Examples:
manipulation. That is, copying data to
different areas, flipping bits around, and ·   Coffee Maker
processing data in small amounts. While this
is more tedious for the programmer, it is ·   Microwave 
much more efficient both in usage of RAM ·   Climate Control Systems
and in processing time, which is essential in
Operating Systems. ·   Automatic Transmission Systems

·   Tire Pressure Detection System

·   Sensors

Implementation:

The extension of the C language is called an


Embedded C programming language. As
compared with above, the embedded ·   GUI stands for Graphical User Interface.
programming in C language has some Adobe Photoshop, is one of the most used
additional features such as data types and photo editors since long times, it was created
keywords and header file or library file is with the help of C programming language.
represented as Later on, Adobe Premiere and Illustrator
were also created using C language.

·   Windows 32 is a C runtime OS. It allows to


write Windows GUI (Graphical User
Interfaces) applications. But day by day
there is some designing taking place in C
with respect to the GUI.
Fig. 1 Embedded C Programming
structure[7] ·   Examples:

Embedded C Programming Development ·   Adobe Photoshop

The embedded system is defined as the ·   Adobe Illustrator


combination of embedded C programming
·   Adobe Image Ready
software and hardware part majorly consist
of microcontrollers and it is intended to Implementation: 
perform the specific task. These types of
embedded systems are being used in our The C Language is a low-level
daily life such as washing machines and language and closer to the hardware,
video recorders, refrigerators and so on. The this helps us build powerful software
embedded system was first introduced by and manage memory.
the 8051 microcontrollers.[7] A low-level language doesn’t restrict
the developer and gets the whole
Earlier, many embedded applications were control over the hardware and
developed by using assembly level memory management.
programming. However, they did not
provide portability to overcome this problem GTK is a multi-platform toolkit that helps us
with the advent of various high-level create Graphical User Interfaces. GTK
languages like C, COBOL, and Pascal. provides a collection of widgets and we as a
However, it was the C language that got developer just need to use it to create our
extensive acceptance for embedded systems own GUI software.
application development, and it continues to Widgets in GTK are the fundamental
do so[7] building block for GUI Programming. The
Widgets in GTK are organized in
  hierarchical form.
Everything you see on the screen is widgets.
 
[9]
 

c) GUI: -
projects. And they both were written in
C/C++.

f) Databases: 
When SQL is embedded within the C
language, the compiler processes the
compilation in two steps. It first extracts all
the SQL codes from the program and the
pre-compiler will compile the SQL code for
its syntax, correctness, execution path etc.
Once pre-compilation is done, these
executable codes are embedded into the C
code. Then the C compiler will compile the
code and execute the code. Thus the
          Fig.2 GTK implementation in C compilation takes place in two steps – one
language[9] for SQL and one for application language.
Hence these types of compilation require all
  the query, data value etc to be known at the
compilation time itself to generate the
executable code. Otherwise C or any high
level language cannot compile the code.
Hence the SQL codes written are static and
these embedded SQL is also known as static
SQL. Thus SQLs know how to access DB,
which queries to execute, which values to be
inserted/ deleted/updated etc.
When SQL is embedded in C programming
       Fig. 3 GTK Output of Fig.2  [9] language, the C compiler will not
understand which the syntax of C is and
d) Search Engines: - which syntax of SQL is. It needs to be
clearly differentiated and compiler should
       We must have heard about Google know which is C and SQL. This is very
Chromium and Google file systems. These important as pre-compiler will first extract
both were developed using C/C++. In all the SQLs embedded in it to compile it at
Google Source Community most of the DB level. Then it will be embedded in the C
projects are handled using C/C++. code which will be compiled by the C
compiler to get executable code. All the
  embedded SQLs are preceded by ‘EXEC
SQL’ and ends in semicolon (;). We can
e) Use of C in Browsers: - have these SQLs placed anywhere in the C
code, provided it is placed in the correct
         Thunderbird and Mozilla
order- declaration, execution and end. Let us
Firefox were open-source email client
see below how C code is differentiated from (Notepad-like) way, called evim or Easy
SQL code.[13] Vim.

     Fig. 4 PL/SQL Commands using C data


types[13]

We can note here that variables are written


inside the begin and end block of the SQL, Fig. 5 Implementation of Vim in
but they are declared using C code. It does C
not use SQL code to declare the variables.
Why? This is because they are host variables Gedit:
– variables of C language. Hence we cannot [10]gedit  is the default text editor of the

use SQL syntax to declare them. Host GNOME desktop environment and part of
language supports almost all the datatypes the GNOME Core Applications. Designed
from int, char, long, float, double, pointer, as a general-purpose text editor, gedit
array, string, structures etc.[13] emphasizes simplicity and ease of use, with
a clean and simple GUI, according to the
  philosophy of the GNOME project It ]

includes tools for editing source code and


g) Text Editors: - structured text such as markup languages.
It is free and open-source software under the
       Various Text file editors like Gedit GNU General Public License version 2 or
and Vim were also developed using C later.
language.

What Is Vim?
[8]Vim is a highly configurable text editor
built to enable efficient text editing. It is an
improved version of the vi editor distributed
with most UNIX systems.
Vim is often called a "programmer's editor,"
and so useful for programming that many
consider it an entire IDE. It's not just for
programmers, though. Vim is perfect for all
kinds of text editing, from composing email
to editing configuration files.   Fig. 6 Implementation of Gedit
Despite what the above comic suggests, Vim
can be configured to work in a very simple

h) Drivers: -
       C language is also used in writing
driver softwares. Keyboard driver, Mouse
driver and Network driver are written using
 
C language.
j) Use of C Language in Compiler
Device drivers are typically written in Design: -
C, using the Driver Development Kit
(DDK). There are functional and object-        Creation of Compilers is one of the
oriented ways to program drivers, depending most popular uses of C-language. And
on the language chosen to write in. It is keeping in mind the association of C
generally not possible to program a driver in language with the low-level languages
Visual Basic or other high-level languages. several other programming languages were
designed.
Because drivers operate in kernel mode,
there are no restrictions on the actions that a        Different popular compilers which
driver may take. A driver may read and were designed using C language are Clang-
write to protected areas of memory, it may C, Apple C, Bloodshed Dev-C, etc.
access I/O ports directly, and can generally
do all sorts of very powerful things. This
power makes drivers exceptionally capable MinGW:
of crashing an otherwise stable system.
  MinGW is a compiler system based on the
The Windows platform DDK comes with GNU GCC and Binutils projects that
header files, library files, and a command- compiles and links code to be run on Win32
line compiler that can be used to write (Windows) systems. It provides C, C++ and
device drivers in C or C++. There is no Fortran compilers plus other related tools.
graphical interface to the DDK compiler.
Clang C:

  [12]clang is a C, C++, and Objective-C


compiler which encompasses preprocessing,
i)Interpreters: - parsing, optimization, code generation,
assembly, and linking. Depending on which
       Language interpreters can also be high-level mode setting is passed, Clang will
created using the C programming language. stop before doing a full link. 
Different programming languages
interpreters like MATLAB and Python were
developed using the C programming  
language.
k) Use of C in Gaming and
In computer science, an interpreter Animations: -
is a computer program that directly executes
instructions written in a programming or        Gaming Sector requires faster and
scripting language, without requiring them compiler-based languages. Since C language
previously to have been compiled into a is faster than other languages and it is
machine language program.  compiler-based too. Hence, C language has
several applications in the gaming sector.
One of the most popular and known Snake
Game was designed in C. Some other simple
games like Tic-Tac-Toe and Dino game
were coded in C. By increasing in the
versions of graphics and functions too, id
Software in 2004 developed Doom 3 a first-
person horror shooter game using C.

Here are some more examples of games that


are developed in the C language:

·   Chess game

·   Bouncing ball

·   Archery

·   Pong

·   Minesweeper

l) Use of C In New Programming


Platforms: -

       [5] The C programming language has


given birth to the C++ language, which
includes all the concepts of C and in
addition the object-oriented programming is
also there in C++. But apart from this extent, C still remains in the race and will
various programming languages like continue for a longer period of time.
Mathematica, MATLAB are also based on
concepts of C language.  

       Due to its simplicity and fast References: -


execution, many languages such as Python,
PHP, Java, PERL, JavaScript were  
influenced by the development of C
[1] https://ieeexplore.ieee.org
language. C language is used for building
standard libraries in Python. The control [2] https://www.guru99.com
structures as well as the syntax of PERL and
PHP are based on the C language.  [3] https://prutor.ai
  [4] https://pythonistaplanet.com
  [5] https://data-flair.training
  [6] Why is C used as the main programming
language for operating systems? - Stack
Conclusion: -
Overflow
       No doubt C language is one of the [7] Embedded Systems C Programming
fastest and simplest programming Tutorial using Keil (elprocus.com) 
languages. In Spite of being one of the
oldest languages, C is still preferred by [8] https://www.vim.org/
many backend developers and companies. C
has rich library it is fast and portable. In [9] Introduction to GUI Programming in C
every domain C programming language is using GTK | Hack The Developer
used such as, software development,
hardware, embedded systems, databases, etc. [10] https://en.wikipedia.org/wiki/Gedit

       It seems that the use of C [11] https://en.wikibooks.org                                    


programming language has been affected
[12]
because of the growing use of the languages
https://clang.llvm.org/docs/CommandGuide/cla
like C++ and Java, however C has managed ng.html
to maintain its position in the programming
world. World’s leading companies still use [13] Embedded SQL in DBMS -
the C programming language which states Embedded SQL in SQL (tutorialcup.com)
that C is not an outdated language.  

       [3] Whenever it comes to writing


device driver softwares or other applications
the preferred choice is C language. So even
if the new programming languages have
affected the position of C language to some

You might also like