Design Tools: Before any program coding, input, output, flow of data and logic should be defined. For this purpose we need design tools.
There are some design tools:
- DFD (Data Flow Diagram) : Data flow diagrams are the most commonly used as a pictorial way of showing the flow of data through a system or subsystem. It is easier to understand and grasp. For diagrammatic representation it also uses symbols and notation.
- Data Flow : It is represented by line arrow. It shows the direction of flow of data.
- Process : It changes the incoming data flow to outgoing data flow.
- Decision : It shows the logical process which has resultant Yes or No.
- Connector : It connects the flowcharts of more than one page.
- Input/Output: It shows input/output in program.
- Data Store : It shows storage of data.
What is Algorithm in Designing? To make a computer do something, we need to write a computer program or group of instructions. To write a computer program, we have to tell the computer, step by step, exactly what we want it to do.
The computer then executes the program, following each step to find the end goal. When we are telling the computer what to do, we also get to choose how it is going to do it. That’s the point where computer algorithms come in. Algorithm is a set of instructions and basic techniques used to get a job done. An algorithm is an effective method for solving a problem using of instructions.
Each algorithm is a list of well defined instructions for completing a task from an initial state to the final state. A mistake in an algorithm that causes incorrect results is called a logical error.
The pictorial representation of a program or the algorithm is known as a flowchart. It is nothing but a diagrammatic representation of various steps involved in designing a system. The purpose of using flowcharts is to graphically present the logical flow of data in the system and defining major phases of processing. For diagrammatic representation it also uses symbols and notations.
- Start & Stop
- Output & input
- Decision box
- Flow of data
It is also called Program Design Language (PDL) and is an alternative to flowcharts. Pseudo code allows the programmer to represent logic in English in like manner. It is easy to modify, so many programmers prefer it.
Programming Languages are the medium used by one to communicate instructions to a computer. A programming language is an artificial language to express computation that can be performed by a computer. It is a set of keywords, symbols, and a system of rules for constructing statements by which humans can communicate instructions to be executed by a computer. Each programming language has its own syntax that is the set of specific rules and words that express the logical steps of an algorithm.
Programming languages are mainly of two types:
- Low level language
- High level language
It is a low level programming language, also called machine code or object code. It is the only language understood directly by computer’s central processing unit because it is a collection of binary digits.
It has no need of translator program. At the early era of programming it was used for program coding. While easily understood by computers, machine languages are almost impossible for humans to use because they consist of numbers, that is, series of ‘O‘ and ‘1‘. Coding in machine language is very
difficult and has more possibilities of error.
Machine language instruction has two parts: one is the operation code or opcode that specifies the operation to be performed and the other is operand such as data on which the operation should act.
Assembly language was developed to make coding easier than machine language. At the place of binary code of machine language mnemonic code and symbolic addresses were developed, that were easy to remember. This symbolic language made program writing easy.
But it must be translated into machine codes before being used operationally. The program used to convert or translate programs written in assembly code to machine code is called assembler. Coding in assembly language is simpler than machine language and error detection is easy.
High level language
High level language is a programming language which is machine independent and uses translator. It is closer to human languages. It is also called a source code. Some commonly used his languages are C, BASIC, FORTRAN, ALGOL, PASCAL etc.
There are five types of high level languages to solve a wide variety of problems.
1. Scientific language
It is a programming language that was designed for the use of mathematical formulas and matrices. Although all programming languages allow for this kind of processing but scientific language makes
easier to express these actions. Examples are FORTRAN, ALGOL etc.
2. Commercial languages
It is a programming language that was designed for solving everyday commercial problems. Examples are COBOL, RPG, etc.
3. Special purpose languages
It is a programming language that was designed for a specific function such as payroll, simulation etc. Examples are ADA, Modula and Modula, SQL, QUEL etc.
4. Multipurpose languages
These are languages intended to cope with a number of different types of application area such as business and scientific. Examples are APL, BASIC, PL1,C and PASCAL.
5. Command languages for operating system
These Languages are used to control operation of a computer. Most command languages are specific to the particular manufacturer’s operating system. Examples are DCL, SHELL, MS-DOS.
There are some high level languages:
1. FORTRAN (Formula Translation)
FORTRAN was the first high level programming language invented by John Backus for IBM 704 in October 1956 but the first FORTRAN compiler delivered in April 1957. The language was widely adopted by scientists and engineers for writing numerically intensive programs, which encouraged compiler writers to produce compilers that could generate faster and more efficient code.
FORTRAN is still used today for programming scientific and mathematical applications such as mathematical calculation, function and formula.
2. ALGOL (Algorithmic Language)
It has originally developed by John Backus in 1958 known as ALGOL 58. It was revised and expanded by Peter Naurin 1960 and known as ALGOL 60. It used for scientific and engineering
purpose and has powerful mathematical facilities.
3. COBOL (Common Business Oriented Language)
It was one of the earliest high level programming languages. It was developed in 1959 by Grace Hopper. Its primary domain is business, finance, and administrative systems for companies and governments.
Group of sentences in this language is called paragraph. All paragraphs together make a section and
all sections make a division. For mathematical terms, COBOL uses ADD, SUBTRACT and MULTIPLY etc. It is English like language and provide much suitable documentation.
4. RPG (Report Program Generator)
It is a high level programming language for business applications, which generates report. It is developed by IBM in 1961 and primary vendor of RPG is also IBM.
5. Modula and Modula 2
Modula is a descendant of the programming Pascal. It was developed in Switzerland in the late 1970s by Nicklaus Wirth. The main innovation of Modula over Pascal is a module system used for grouping sets of related declarations into program units.
Medula 2 is a computer programming language invented by Niklaus Wirth around 1978, as a successor to Modula. It is specially suited to computer systems development work.
6. SQL (Structured Query Language)
SQL (Structured Query Language), QUEL (Query Language) are examples of database query language.
7. APL (A Programming Language)
It was developed in 1964 by Kenneth E. Iverson. It is an oriented interactive language for algorithmic processing which is available from a number of commercial and non-commercial vendors for most computer platforms. It is a specially powerful language in defining vectors and matrices.
8. BASIC (Beginner’s All purpose Symbolic Instruction Code)
It was designed in 1964 by John George Kemeny and Thomas Eugene Kurtz to provide computer access to non-science students. It is simple, powerful and interactive language for beginners and provides clear error message.
It allows advanced features to be added for experts so it is used by both scientists and businessmen.
9. PL1 (Programming Language One)
It was developed by IBM in the early 1960s, and is still actively used. It is designed for scientific, engineering, and business applications. It has been used by various academic, commercial and industrial users. It is a very successful language except that its multipurpose facilities made it too large for use on small machines.
C is a general purpose computer language developed in 1972 by Dennis Ritchie at the Bell Laboratories for use on the Unix Operating System. Although C was designed for implementing system software, it is also widely used for developing portable application software. It is one of the most popular programming language and it is widely used on many different platforms.
It is object oriented general purpose programming language. It is regarded as a middle level language, as it comprises a combination of both high level and low level language features. It is better than C programming language but tough to code.
Pascal is a procedure programming language developed in 1970 by Niklaus Wirth. It supports structured programming than many older languages such as COBOL or FORTRAN. It is based on the ALGOL programming language and named in honor of the French mathematician and philosopher Blaise Pascal. Initially, Pascal was developed to teach students structured programming and teaching purpose.
13. COMAL (Common Algorithmic Language)
It was developed by Benedict Lofstedt and Borge Christensen in 1973. It was a mixed form of the
prevalent educational programming languages namely BASIC and Pascal. It was designed to educate students.
14. PROLOG (Programmingin Logic)
It is a general purpose programming language. It has a rich collection of data structure. It is used to develop artificial intelligence.
15. C Sharp
It is a programming language which also expressed as C#. It was developed by Microsoft. It is a simple, modern, general purpose, object oriented programming language.
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems’ Java platform. It is object oriented programming language.
17. LOGO (Logic Oriented Graphic Oriented)
LOGO was created in 1967 for educational use and constructive teaching. It is known mainly for its
turtle. The turtle moves with commands that are relative to its own position. When turtle moves it draw a line. To teach a child to draw a line and shapes we use logo. It is so easy for a child that they can use it to draw shapes and lines.
It is a command language and used on DEC VAX/VMS operating system.
It is also a command language and used with Unix operating system. Unix is mostly used for and web servers.
20. MS DOS
It is one of the most popular operating systems developed by Microsoft.
Fourth Generation Language (4th GL)
The third generation language needed a large number of codes for typical commercial system. It is time consuming to debug, and the modification of complex system is very difficult. It is a 4th generation language developed by the software vendors in various application tools offering further improvement in productivity in programming. A fourth generation programming language is designed with a specific purpose in mind, such as the development of commercial business software.
All 4GLs are designed to reduce programming effort, the time it takes to develop software, and the cost of software development.