Header Ads

1.1 - Introduction to C

History of C-Language
  • Prior to C, most of the computer languages (such as Algol) were academic oriented, unrealistic and were generally defined by committees.
  • Since such languages were designed having application domain in mind, they could not take the advantages of the underlying hardware and if done, were not portable or efficient under other systems.
  • It was thought that a high-level language could never achieve the efficiency of assembly language
  • It was a revolutionary language and shook the computer world with its might. With just 32 keywords, C established itself in a very wide base of applications.
  • It has lineage starting from CPL, (Combined Programming Language) a never implemented language
  • Martin Richards implemented BCPL as a modified version of CPL. Ken Thompson further refined BCPL to a language named as 'B'
  • Later Dennis M. Ritchie added types to B and created a language, what we have as C, for rewriting the UNIX operating system
  • “The C programming language” book served as a primary reference for C programmers and implementer alike for nearly a decade
  • However it didn’t define C perfectly and there were many ambiguous parts in the language
  • As far as the library was concerned, only the C implementation in UNIX was close to the "standard"
  • So many dialects existed for C and it was the time the language has to be standardised and it was done in 1989 with ANSI C standard
  • Nearly after a decade another standard, C9X, for C is available that provides many significant improvements over the previous 1989 ANSI C standard
C-Language
  • It was a revolutionary language and shook the computer world with its might. With just 32 keywords, C established itself in a very wide base of applications.
  • It has lineage starting from CPL, (Combined Programming Language) a never implemented language.
  • Martin Richards implemented BCPL as a modified version of CPL. Ken Thompson further refined BCPL to a language named as "B".
  • Later Dennis M. Ritchie added types to B and created a language, what we have as C, for rewriting the UNIX operating system
  • A stylised communication technique 
  • Language has collection of words called “Vocabulary”
  • Language has finite rules called “Grammar”
  • Rich vocabulary helps us to be more expressive 
  • Grammar helps us to form infinite number of sentences 
The components of grammar :
  • The syntax governs the structure of sentences
  • The semantics governs the meanings of words and sentences
  • A stylised communication technique
  • It has set of words called “keywords”
  • Finite rules (Grammar) to form sentences (often called expressions)
  • Expressions govern the behaviour of machine (often a computer)
  • Like natural languages, programming languages too have :
Syntactic rules (to form expressions)
Semantic rules (to govern meaning of expressions)
Application of 'C'
  • System Software Development
  • Embedded Software Development
  • OS Kernel Development
  • Firmware, Middle-ware and Driver Development
  • File System Development & much more!!
Characteristics of 'C'
  • Considered as a middle level language
  • Can be considered as a pragmatic language.
  • It is indented to be used by advanced programmers, for serious use, and not for novices and thus qualify less as an academic language for learning
  • Gives importance to curt code.
  • It is widely available in various platforms from mainframes to palmtops and is known for its wide availability
  • It is a general-purpose language, even though it is applied and used effectively in various specific domains
  • It is a free-formatted language (and not a strongly-typed language)
  • Efficiency and portability are the important considerations
  • Library facilities play an important role
...

No comments