Monday, April 10, 2017

Assembler

An Assembler is a type of computer program that interprets software programs written in assembly language into machine language, code and instructions that can be executed by a computer.
An assembler enables software and application developers to access, operate and manage a computer's hardware architecture and components.
An assembler is sometimes referred to as the compiler of assembly language. It also provides the services of an interpreter.
Image result for assembler

Programming language processor that translates an assembly language program (the source program) to the machine language program (the object program) executable by a computer.

Read more: http://www.businessdictionary.com/definition/assembler.html

Programming language processor that translates an assembly language program (the source program) to the machine language program (the object program) executable by a computer.

Read more: http://www.businessdictionary.com/definition/assembler.html

Programming language processor that translates an assembly language program (the source program) to the machine language program (the object program) executable by a computer.

Read more: http://www.businessdictionary.com/definition/assembler.html

Programming language processor that translates an assembly language program (the source program) to the machine language program (the object program) executable by a computer.

Read more: http://www.businessdictionary.com/definition/assembler.html

COMPILER & INTERPRETER

A compiler is a program that translates the entire source program written in some high-level programming language (such as Java) into machine code for some computer architecture (such as the Intel Pentium architecture).
Image result for compiler
  1. A computer program which reads entire source code and outputs assembly code or executable code is called compiler.
  2. A program that translates software written in source code into instructions that a computer can understand Software used to translate the text that a programmer writes into a format the CPU can use.
  3. A piece of software that takes third-generation language code and translates it into a specific assembly code. Compilers can be quite complicated pieces of software.
An Interpreter is a program that translates a source program written in some high-level programming language (such as BASIC) into machine code for some computer architecture (such as the Intel Pentium architecture) line by line.
  1. A computer program which reads line by line source code and outputs assembly code or executable code is called interpreter.

Difference between Compiler and Interpreter

NoCompilerInterpreter
1Compiler Takes Entire program as inputInterpreter Takes Single instruction as input .
2Intermediate Object Code is GeneratedNo Intermediate Object Code is Generated
3Conditional Control Statements are Executes fasterConditional Control Statements are Executes slower
4Memory Requirement : More (Since Object Code is Generated)Memory Requirement is Less
5Program need not be compiled every timeEvery time higher level program is converted into lower level program
6Errors are displayed after entire program is checkedErrors are displayed for every instruction interpreted (if any)
7Example : C CompilerExample : BASIC

Fourth generation Language

A fourth generation (programming) language (4GL) is a grouping of programming languages that attempt to get closer than 3GLs to human language, form of thinking and conceptualization.

4GLs are designed to reduce the overall time, effort and cost of software development. The main domains and families of 4GLs are: database queries, report generators, data manipulation, analysis and reporting, screen painters and generators, GUI creators, mathematical optimization, web development and general purpose languages.

Also known as a 4th generation language, a domain specific language, or a high productivity language
Advantages:
1. Simplified the programming process.
2. Use nonprocedural languages that encourage users and programmers to specify the results they want, while the computers determines the sequence of instructions that will accomplish those results.
3. Use natural languages that impose no rigid grammatical rules

Disadvantages:
1. Less flexible that other languages
2. Programs written in 4GLs are generally far less efficient during program execution that programs in high-level languages. Therefore, their use is limited to projects that do not call for such efficiency.

Third Generation Language

A third-generation programming language (3GL) is a generational way to categorize high-level computer programming languages. Where assembly languages, categorized as second generation programming languages, are machine-dependent, 3GLs are much more machine independent and more programmer-friendly. This includes features like improved support for aggregate data types, and expressing concepts in a way that favors the programmer, not the computer. A third generation language improves over a second generation language by having the computer take care of non-essential details. 3GLs feature more abstraction than previous generations of languages, and thus can be considered higher level languages than their first and second generation counterparts.
First introduced in the late 1950s, Fortran, ALGOL, and COBOL are early examples of these sorts of languages.
Most popular general-purpose languages today, such as C, C++, C#, Java, BASIC and Pascal, are also third-generation languages, although each of these languages can be further subdivided into other categories based on other contemporary traits. Most 3GLs support structured programming.

Advantages:
1. Easier to learn and understand than an assembler language as instructions (statements) that resemble human language or the standard notation of mathematics.
2. Have less-rigid rules, forms, and syntaxes, so the potential for error is reduced.
3. Are machine-independent programs therefore programs written in a high-level language do not have to be reprogrammed when a new computer is installed.
4. Programmers do not have to learn a new language for each computer they program.

Disadvantages:
1. Less efficient than assembler language programs and require a greater amount of computer time for translation into machine instructions. 

2nd Generation Language

2nd Generation Language or Assembly Language 

Second-generation programming language (2GL) is a generational way to categorize assembly languages. The term was coined to provide a distinction from higher level third-generation programming languages (3GL) such as COBOL and earlier machine code languages.
Second-generation programming languages have the following properties:
  • The code can be read and written by a programmer. To run on a computer it must be converted into a machine readable form, a process called assembly.
  • The language is specific to a particular processor family and environment.
 
It is the first step to improve the programming structure. You should know that computer can handle numbers and letter. Therefore some combination of letters can be used to substitute for number of machine codes.
The set of symbols and letters forms the Assembly Language and a translator program is required to translate the Assembly Language to machine language. This translator program is called `Assembler'. It is considered to be a second-generation language.

Advantages Assembly Language:
1.The symbolic programming of Assembly Language is easier to understand and saves a lot of time and effort of the programmer.
2.It is easier to correct errors and modify program instructions.
3.Assembly Language has the same efficiency of execution as the machine level language. Because this is one-to-one translator between assembly language program and its corresponding machine language program.

Disadvantages Assembly Language:
1.One of the major disadvantages is that assembly language is machine dependent. A program written for one computer might not run in other computers with different hardware configuration.


First-generation programming language

A first-generation programming language (1GL) is a machine-level programming language.
A first generation (programming) language (1GL) is a grouping of programming languages that are machine level languages used to program first-generation computers. Originally, no translator was used to compile or assemble the first-generation language. The first-generation programming instructions were entered through the front panel switches of the computer system. This is very expensive. There was originally no compiler or assembler to process the instructions in 1GL.
The instructions in 1GL are made of binary numbers, represented by 1s and 0s. This makes the language suitable for the understanding of the machine but far more difficult to interpret and learn by the human programmer.Machine Language is the only language that is directly understood by the computer. It does not needs any translator program. We also call it machine code and it is written as strings of 1's (one) and 0’s (zero). When this sequence of codes is fed to the computer, it recognizes the codes and converts it in to electrical signals needed to run it. For example, a program instruction may look like this:

1011000111101

It is not an easy language for you to learn because of its difficult to understand. It is efficient for the computer but very inefficient for programmers. It is considered to the first generation language. It is also difficult to debug the program written in this language.

Advantage Machine Language:
The only advantage is that program of machine language run very fast because no translation program is required for the CPU.

Disadvantages Machine Language:
1. It is very difficult to program in machine language. The programmer has to know details of hardware to write program.
2. The programmer has to remember a lot of codes to write a program which results in program errors.
3. It is difficult to debug the program.


Friday, April 07, 2017

Generation of Computer Languages

1. The first generation languages, or 1GL are low-level languages that are machine language.
2. The second-generation languages, or 2GL are also low-level assembly languages.
3. The third-generation languages, or 3GL are high-level languages such as C.
4. The fourth-generation languages, or 4GL are languages that consist of statements similar to statements in a human language. Fourth generation languages are commonly used in database programming and scripts and that contain visual tools to help develop a program.

Tuesday, March 28, 2017

Types of Computer

Computers can be broadly classified by their speed and computing power.
Sr.No. Type Specifications
1 PC (Personal Computer) It is a single user computer system having moderately powerful microprocessor
2 WorkStation It is also a single user computer system which is similar to personal computer but have more powerful microprocessor.
3 Mini Computer It is a multi-user computer system which is capable of supporting hundreds of users simultaneously.
4 Main Frame It is a multi-user computer system which is capable of supporting hundreds of users simultaneously. Software technology is different from minicomputer.
5 Supercomputer It is an extremely fast computer which can execute hundreds of millions of instructions per second.

PC (Personal Computer)

Personal ComputerA PC can be defined as a small, relatively inexpensive computer designed for an individual user. PCs are based on the microprocessor technology that enables manufacturers to put an entire CPU on one chip. Businesses use personal computers for word processing, accounting, desktop publishing, and for running spreadsheet and database management applications. At home, the most popular use for personal computers is playing games and surfing Internet.
Although personal computers are designed as single-user systems, these systems are normally linked together to form a network. In terms of power, now-a-days High-end models of the Macintosh and PC offer the same computing power and graphics capability as low-end workstations by Sun Microsystems, Hewlett-Packard, and Dell.

Workstation

Work StationsWorkstation is a computer used for engineering applications (CAD/CAM), desktop publishing, software development, and other such types of applications which require a moderate amount of computing power and relatively high quality graphics capabilities.
Workstations generally come with a large, high-resolution graphics screen, large amount of RAM, inbuilt network support, and a graphical user interface. Most workstations also have a mass storage device such as a disk drive, but a special type of workstation, called a diskless workstation, comes without a disk drive.
Common operating systems for workstations are UNIX and Windows NT. Like PC, Workstations are also single-user computers like PC but are typically linked together to form a local-area network, although they can also be used as stand-alone systems.

Mini ComputerMinicomputer

It is a midsize multi-processing system capable of supporting up to 250 users simultaneously.




Mainframe

Main Frame
Mainframe is very large in size and is an expensive computer capable of supporting hundreds or even thousands of users simultaneously. Mainframe executes many programs concurrently and supports many simultaneous execution of programs


Supercomputer

Super ComputerSupercomputers are one of the fastest computers currently available. Supercomputers are very expensive and are employed for specialized applications that require immense amount of mathematical calculations (number crunching). For example, weather forecasting, scientific simulations, (animated) graphics, fluid dynamic calculations, nuclear energy research, electronic design, and analysis of geological data (e.g. in petrochemical prospecting).

Computer - Fifth Generation

Computer - Fifth Generation

Fifth GenerationThe period of fifth generation is 1980-till date. In the fifth generation, the VLSI technology became ULSI (Ultra Large Scale Integration) technology, resulting in the production of microprocessor chips having ten million electronic components. This generation is based on parallel processing hardware and AI (Artificial Intelligence) software. AI is an emerging branch in computer science, which interprets means and method of making computers think like human beings. All the high-level languages like C and C++, Java, .Net etc., are used in this generation.
AI includes:
  • Robotics
  • Neural Networks
  • Game Playing
  • Development of expert systems to make decisions in real life situations.
  • Natural language understanding and generation.
The main features of fifth generation are:
  • ULSI technology
  • Development of true artificial intelligence
  • Development of Natural language processing
  • Advancement in Parallel Processing
  • Advancement in Superconductor technology
  • More user friendly interfaces with multimedia features
  • Availability of very powerful and compact computers at cheaper rates
Some computer types of this generation are:
  • Desktop
  • Laptop
  • NoteBook
  • UltraBook
  • ChromeBook

 

Computer - Fourth Generation

Computer - Fourth Generation

Fourth Generation
The period of fourth generation was 1971-1980. The computers of fourth generation used Very Large Scale Integrated (VLSI) circuits. VLSI circuits having about 5000 transistors and other circuit elements and their associated circuits on a single chip made it possible to have microcomputers of fourth generation. Fourth generation computers became more powerful, compact, reliable, and affordable. As a result, it gave rise to personal computer (PC) revolution. In this generation time sharing, real time, networks, distributed operating system were used. All the high-level languages like C, C++, DBASE etc., were used in this generation.
The main features of fourth generation are:
  • VLSI technology used
  • Very cheap
  • Portable and reliable
  • Use of PC's
  • Very small size
  • Pipeline processing
  • No A.C. needed
  • Concept of internet was introduced
  • Great developments in the fields of networks
  • Computers became easily available
Some computers of this generation were:
  • DEC 10
  • STAR 1000
  • PDP 11
  • CRAY-1(Super Computer)
  • CRAY-X-MP(Super Computer)

 

Computer - Third Generation

Computer - Third Generation

Third Generation
The period of third generation was 1965-1971. The computers of third generation used integrated circuits (IC's) in place of transistors. A single IC has many transistors, resistors and capacitors along with the associated circuitry. The IC was invented by Jack Kilby. This development made computers smaller in size, reliable and efficient. In this generation remote processing, time-sharing, multi-programming operating system were used. High-level languages (FORTRAN-II TO IV, COBOL, PASCAL PL/1, BASIC, ALGOL-68 etc.) were used during this generation.
The main features of third generation are:
  • IC used
  • More reliable in comparison to previous two generations
  • Smaller size
  • Generated less heat
  • Faster
  • Lesser maintenance
  • Still costly
  • A.C needed
  • Consumed lesser electricity
  • Supported high-level language
Some computers of this generation were:
  • IBM-360 series
  • Honeywell-6000 series
  • PDP(Personal Data Processor)
  • IBM-370/168
  • TDC-316

 

Computer - Second Generation

Computer - Second Generation

Second Generation
The period of second generation was 1959-1965. In this generation transistors were used that were cheaper, consumed less power, more compact in size, more reliable and faster than the first generation machines made of vacuum tubes. In this generation, magnetic cores were used as primary memory and magnetic tape and magnetic disks as secondary storage devices. In this generation assembly language and high-level programming languages like FORTRAN, COBOL were used. The computers used batch processing and multiprogramming operating system.
The main features of second generation are:
  • Use of transistors
  • Reliable in comparison to first generation computers
  • Smaller size as compared to first generation computers
  • Generated less heat as compared to first generation computers
  • Consumed less electricity as compared to first generation computers
  • Faster than first generation computers
  • Still very costly
  • A.C. needed
  • Supported machine and assembly languages
Some computers of this generation were:
  • IBM 1620
  • IBM 7094
  • CDC 1604
  • CDC 3600
  • UNIVAC 1108

 

Generations of Computers

The history of computer development is often in reference to the different generations of computing devices. Each of the generation of computers is characterized by a major technological development (switching technology)that fundamentally changed the way computers operate. Most major developments resulted in increasingly smaller, cheaper and more powerful and efficient computing devices. The evolution of computers are categorized in five generations:
  1. 1st Generation (Vacuum Tube)
  2. 2nd Generation (Transistor)
  3. 3rd Generation (Integrated circuit)
  4. 4th Generation (VLSI)
  5. 5th Generation (ULSI, Parallel Computing, Artificial Intelligence)

Computer - First Generation

 First GenerationThe period of first generation was 1946-1959. The computers of first generation used vacuum tubes as the basic components for memory and circuitry for CPU (Central Processing Unit). These tubes, like electric bulbs, produced a lot of heat and were prone to frequent fusing of the installations, therefore, were very expensive and could be afforded only by very large organisations. In this generation mainly batch processing operating system were used. Punched cards, paper tape, and magnetic tape were used as input and output devices. The computers in this generation used machine code as programming language.
The main features of first generation are:
  • Vacuum tube technology
  • Unreliable
  • Supported machine language only
  • Very costly
  • Generated lot of heat
  • Slow input and output devices
  • Huge size
  • Need of A.C.
  • Non-portable
  • Consumed lot of electricity
Some computers of this generation were:
  • ENIAC
  • EDVAC
  • UNIVAC
  • IBM-701
  • IBM-650