You are on page 1of 4

Third LESSON: C LANGUAGE

1. The following list illustrates the importance the C programming language, in no


particular order:
 The C language is small and relatively easy to learn.
 C compilers can produce highly efficient code.
 C compilers and cross-compilers are widely available for a large array of
hardware targets, from tiny eight-bit microcontrollers to giant mainframes. The
availability of compilers enables highly portable source code to be written, when
appropriate disciplines are followed.
 C, although it is a high-level language, provides access to some fundamental
low-level concepts such as memory addresses and dynamic memory
management - concepts that are hidden by many other languages.
 C has been used to implement (in whole or in part) several major operating
systems and kernels, including Unix, Linux, MacOS, and Windows.
 C has been used to implement (in whole or in part) runtime environments
supporting execution of platform-independent code (e.g., the Java Virtual
Machine, the .NET CLR, etc.).
 C is often used to implement efficient libraries for less-efficient languages. For
example, many libraries for Python are implemented in C.
 Compilers and interpreters for a wide variety of programming languages have
been written in C.
 C remains the most popular programming language for programming
microcontrollers in embedded systems.
 C has influenced the following programming languages: PHP, C++, LPC, Perl,
Vala, Objective-C, PCASTL, AWK, JavaScript, Limbo, D, C#, MOO, SISAL, Pike,
ECMAScript, Joy, C--, Ferite, Yoix, ColdC, Aikido Programming Language,
Nickle, BitC, Processing, NWScript, SAC programming language, Vala, Kaya,
MIVA Script, Corba IDL, QuakeC, S-Lang, Cilk, Unified Parallel C, Split-C, Claire,
VisSim, Java, Go, AMPL, Alpoca, Draco, S, Alef, Game Maker Language, BAIL.

2. A high-level language (HLL) is a programming language such as C, FORTRAN, or


Pascal that enables a programmer to write programs that are more or less
independent of a particular type of computer. Such languages are considered high-
level because they are closer to human languages and further from machine
languages. In contrast, assembly languages are considered low-level because they
are very close to machine languages.

 Advantages of High-Level Languages


 The main advantage of high-level languages over low-level languages is that
they are easier to read, write, and maintain. Ultimately, programs written in a
high-level language must be translated into machine language by a compiler
or interpreter.
 The first high-level programming languages were designed in the 1950s. Now
there are dozens of different languages, including Ada, Algol, BASIC,
COBOL, C, C++, FORTRAN, LISP, Pascal, and Prolog.

3. A low-level programming language is a programming language that provides little or


no abstraction from a computer's instruction set architecture—commands or
functions in the language map closely to processor instructions. Generally, this
refers to either machine code or assembly language. The word "low" refers to the
small or nonexistent amount of abstraction between the language and machine
language; because of this, low-level languages are sometimes described as being
"close to the hardware". Programs written in low-level languages tend to be relatively
non-portable.

4. An assembly language (or assembler language), often abbreviated asm, is any low-
level programming language in which there is a very strong correspondence
between the program's statements and the architecture's machine code instructions.

5. The programming in C Language has direct support for bitwise operations that can
be used for bit manipulation. In the following examples, n is the index of the bit to be
manipulated within the variable bit_fid, which is an unsigned char being used as
bitfield.

 Bit Indexing begins at 0, not 1. Bit 0 is the least significant bit.

6. The bit is a basic unit of information in information theory, computing, and digital
communications. The name is a portmanteau of binary digit. In information theory,
one bit is typically defined as the information entropy of a binary random variable
that is 0 or 1 with equal probability, or the information that is gained when the value
of such a variable becomes known. As a unit of information, the bit has also been
called a shannon, named after Claude Shannon.

7. The byte is a unit of digital information that most commonly consists of eight bits,
representing a binary number. Historically, the byte was the number of bits used to
encode a single character of text in a computer and for this reason it is the smallest
addressable unit of memory in many computer architectures.

8. In computing, a memory address is a reference to a specific memory location used


at various levels by software and hardware. Memory addresses are fixed-length
sequences of digits conventionally displayed and manipulated as unsigned integers.
Such numerical semantic bases itself upon features of CPU, as well upon use of the
memory like an array endorsed by various programming languages.

9. C Code is very portable because it’s possible to write very portable C code no
because the semantics of C as so defined that all C code is automatically portable.
That aim of being low-level and efficient is in tension with portability.
10. The Portable C Compiler (also known as pcc or sometimes pccm - portable C
compiler machine) is an early compiler for the C programming language written by
Stephen C. Johnson of Bell Labs in the mid-1970s, based in part on ideas proposed
by Alan Snyder in 1973, and "distributed as the C compiler by Bell Labs... with the
blessing of Dennis Ritchie."

11. Fortran and Pascal are high level languages. C++ is here as well, but knowing it can
utilize C, it really falls into this category as well as mid level. However, if one is using
C++ for its purpose of building object oriented code, then that typically isn’t it’s
purpose. Java is a higher level language that Fortran because it relies on a virtual
machine to run. The language is compiled to an intermediate byte code, and this
code hypothetically is portable across platforms so long as there is a Java virtual
machine that supports running the byte code that is generated. Python can fall into
this arena for a different reason in that it can generate byte code as well in pyc files,
but that’s only depending on how the code is written. It often falls into an interpreted
language, which is the next level. Interpreted code such as Python or Ruby relies on
an interpreter to be available to read each line of code that the author has written.
This means that the interpreter does the work of reading the source code of the
developer, and gives an instruction as it has the knowledge of how to invoke an
instruction to the operating system and architecture. These are typically the slowest
of the languages. Historically, BASIC was an interpreted language (on MS DOS,
BASICA and GWBASIC were interpreters for such), but later Microsoft wrote Visual
Basic which could compile BASIC.

12. In computer science and computer programming, a data type or simply type is an
attribute of data which tells the compiler or interpreter how the programmer intends
to use the data. Most programming languages support common data types of real,
integer and boolean. A data type constrains the values that an expression, such as a
variable or a function, might take. This data type defines the operations that can be
done on the data, the meaning of the data, and the way values of that type can be
stored. A type of value from which an expression may take its value.

13. In computer science and computer programming, a data type or simply type is an
attribute of data which tells the compiler or interpreter how the programmer intends
to use the data. Most programming languages support common data types of real,
integer and boolean. A data type constrains the values that an expression, such as a
variable or a function, might take. This data type defines the operations that can be
done on the data, the meaning of the data, and the way values of that type can be
stored. A type of value from which an expression may take its value.

14. An error that occurs during the execution of a program. In contrast, compile-time
errors occur while a program is being compiled. Runtime errors indicate bugs in the
program or problems that the designers had anticipated but could do nothing about.
For example, running out of memorywill often cause a runtime error. Note that
runtime errors differ from bombs or crashesin that you can often recover gracefully
from a runtime error.

15. In computer science, a memory leak is a type of resource leak that occurs when a
computer program incorrectly manages memory allocations in such a way that
memory which is no longer needed is not released. A memory leak may also happen
when an object is stored in memory but cannot be accessed by the running code. A
memory leak has symptoms similar to a number of other problems and generally can
only be diagnosed by a programmer with access to the programs' source code.

You might also like