Language is a means of communication. We use a natural language such as English, to communicate our ideas and emotions to others. Similarly, a programmer uses a computer language to instruct a computer what he/she wants it to do.
All natural languages use a standard set of words and symbols for communication. Everyone using that language understands these words and symbols. The set of words allowed in a language is called its vocabulary. For example, the words used in English form the vocabulary of English language. Each word has a definite meaning that can be looked up in a dictionary.
Similarly, every computer language has a vocabulary of its own. Each word in the vocabulary has a definite unambiguous meaning that can be looked up in the manual of that language. The main difference between a natural language and a computer language is that natural languages have a large vocabulary but most computer languages use a very limited or restricted vocabulary.
- [#1] – Introduction to Computer Fundamentals
- [#2] – Basic computer organization
- [#3] – Number systems
- [#4] – Computer Codes
- [#5] – Computer Arithmetic
- [#6] – Processor and Memory
- [#7] – Secondary Storage Devices
- [#8] – Input-Output Devices
- [#9] – Computer software
- [#10] – Planning the Computer Program
- [#11] – Computer Languages
- [#12] – System Implementation and Operation
- [#13] – Operating Systems
- [#14] – Application Software packages
- [#15] – Business Data Processing
- [#16] – Data Communications and Computer Networks
- [#17] – The Internet
- [#18] – Multimedia
- [#19] – Classification of Computers
- [#20] – Introduction to C Programming Language
Points To Remember:
- A language acceptable to a computer system is called computer language or programming language, and the process of writing instructions in such a language for an already planned program is called programming or coding.
- All computer languages can be classified broadly into three categories, namely; machine language, assembly language, high-level language.
- A programming language that a computer understands without using a translation program is called its machine language. it is normally written as strings of binary 1s and 0s.
- A language that allows instructions and storage locations to be represented by letters and symbols instead of numbers is called assembly language or symbolic language. A program written in an assembly language program or symbolic program.
- Assembler is a translator program that translates (converts) an assembly language program (source program) into its equivalent machine language program (object program).
- Machine and assembly languages are often referred to as low-level programming languages because they are machine dependent, they require the programmers to have a good knowledge of the internal structure of the computer being used, and they deal with machine-level coding requiring one instruction to be written for each machine-level operation. High-level programming languages overcome these limitations of low-level programming languages.
- Compiler is a translator program that translates (converts) a high-level language program (source program) into its equivalent machine-language program (object program).
- Linker is a software tool that takes multiple object program files (modules) of any software and fits them together to assemble them into the program’s final executable form, sometimes called load module.
- Interpreter is a translator program that translates (converts) a high-level language program into its equivalent machine-language program. However, unlike a compiler that merely translates an entire source program into an object program and is not involved in its execution, an interpreter takes one statement of the source program, translates it into machine language instructions, and then executes the resulting machine language instructions immediately before taking the next statement for translation. The interpreter does not generate any object code of the source program.
- Object-oriented programming (OOP) deals with solving a problem by identifying the real-world objects of the problem and the processing required of those objects, and then creating simulations of those objects, their processes, and the required communications between the objects.
- Today many different high-level languages are in use because each one was designed for a different purpose. Some of these are FORTRAN, COBOL, BASIC, Pascal, C, C++, C#, Java, RPG, LISP, and SNOBOL.
- Several characteristics believed to be important for making a programming language good are- simplicity, naturalness, abstraction, efficiency, structured programming support, compactness, locality, extensibility, and suitability to its environment.
- The factors that generally influence the process of selecting a programming language out of the many options available for coding an application are- nature of the application, familiarity with the language, ease of learning the language, availability of program development tools, execution efficiency, and features of a good programming language.
- A subprogram is a program written in a manner that it can be brought into use in other programs and used whenever needed without rewriting. Other names used for it are subroutine, subprocedure, and function.
List of Questions:
- What is a programming language? Why it is so called?
- What is program coding?
- Discuss the analogy between a computer language and a natural language.
- How does a computer language differ from a natural language?
- What is syntax rules of a programming language?
- Name the three categories of computer languages in order of their ease of usage.
- What is a machine language? Why it is required?
- What are the advantages and limitations of machine language?
- When do we call a computer language machine dependent? What is the main disadvantage of such a language?
- A machine language instruction has two-part format. Identify these parts and discuss the function of each.
- What is a mnemonic? How it is helpful in case of computer languages?
- What is an assembly language? What are its advantages over machine language?
- What is an assembler?
- What is the difference between a source program and an object program?
- What is a macro instruction? How does it help in making a programmer’s job easier?
- Why machine and assembly languages are often referred to as low-level languages?
- List the main characteristic features of high-level languages. Name five high-level languages?
- Why high-level languages are easier to learn and use?
- What is a compiler? Why it is required? A computer supports five high-level languages. How many compilers will this computer have?
- It is said that an assembly language is “one-for-one”, but a high-level language is “many-for-one”. Explain what this means.
- Illustrate the machine independence characteristic of a high-level language.
- Differentiate between syntax errors and logic errors found in computer programs. Which type of error is more difficult to detect and correct? Write reasons for your answer.
- While writing a program, a programmer erroneously instructed the computer to calculate the area of a rectangle by adding the width to its length (that is, AREA = LENGTH + WIDTH) instead of multiplying the length and width. Would you expect the language processor to detect this error? Explain Why.
- A programmer eliminates all language processor errors from a program, and then runs it to get printed results. The programmer, therefore, concludes that the program is complete. Comment.
- What type of errors in a program a compiler can detect? What type of errors in a program a compiler cannot detect?
- What is a linker? Why it is required?
- Explain the difference among assembler, compiler, interpreter, and linker.
- What is an interpreter? How does it differ from a compiler?
- What advantages do compilers have over interpreters?
- What advantages do interpreters have over compilers?
- When would you prefer to use an interpreter than a compiler?
- When would you prefer to use a compiler than an interpreter?
- What are the advantages and limitations of high-level languages as compared to machine and assembly languages?
- What is object-oriented programming?
- What are comment statements? Why they are used in a program? How they are treated by a language processor?
- Briefly describe the development and use of following programming languages:
- What is standardization of a language? Why it is important?
- Name the four divisions of a COBOL program. What is the purpose of each division?
- What is a self-documenting language? Illustrate with an example.
- Why COBOL is often referred to as self-documenting language?
- The main drawback of COBOL is that it is a verbose language. How has this drawback been largely taken care of now?
- List some program preparation techniques often included under the term “structured programming”.
- In Java the compiled code is machine independent. Explain how this is achieved.
- List the main differentiating features of C++ and Java.
- What characteristics are desirable for a good programming language?
- What factors generally influence the process of selecting a programming language out of the many options available for coding an application?
- Would you be equally likely to choose FORTRAN or COBOL for programming a given problem? Why?
- What is a subprogram? How do subprograms help in program writing?
- What is a built-in function? Write few examples of built-in-fuctions.
- Illustrate with an example the flow of control in case of subprogram calls.
- Give the full form of following: