Custom Search

Wednesday, February 18, 2009

COMPUTER PROGRAMMING LANGUAGE

A programming language is a machine-readable artificial language designed to express computations that can be performed by a machine, particularly a computer. Programming languages can be used to create programs that specify the behavior of a machine, to express algorithms precisely, or as a mode of human communication.

Many programming languages have some form of written specification of their syntax and semantics, since computers require precisely defined instructions. Some are defined by a specification document (for example, an ISO Standard), while others have a dominant implementation (such as Perl).

The earliest programming languages predate the invention of the computer, and were used to direct the behavior of machines such as automated looms and player pianos. Thousands of different programming languages have been created, mainly in the computer field, where many more are being created every year.
PROGRAMMING LANGUAGES

These are listed in various ways:
Timeline of programming languages List of programming languages by category Generational list of programming languages Alphabetical list of programming languages .
Non-English-based programming languages
Educational programming language
COMPARISON OF PROGRAMMING LANGUAGES
Like natural languages, programming languages conform to rules for syntax and semantics.
There are thousands of programming languages and new ones are created every year. Few languages ever become sufficiently popular that they are used by more than a few people, but professional programmers can easily use dozens of different languages during their career.
EDUCATIONAL PROGRAMMING LANGUAGE
An educational programming language is a programming language that is designed primarily as a learning instrument and not so much as a tool for writing real-world application programs.

Children
AgentSheets is an award winning game and simulation authoring tool that is simple enough to be used by middle school students to learn about computer science by making video games, yet sophisticated enough to allow NASA scientist to create simulations of Space Shuttle payload. AgentSheets supports game (animation, interaction, sound, speech synthesis/recognition (Mac)) and well as science applications (plots, output to spreadsheets, 3D plot (Mac)). English, Greek, and Japanese versions are available. Alice is a free programming software designed to teach event driven object oriented programming to children. Programmers create interactive stories using a modern IDE interface with and a drag and drop style of programming. The target audience is middle school girls though most children with computer experience will find it entertaining and educational. A variant of Alice designed with an even stronger story telling bent called Story Telling Alice is also available. Baltie is an educational graphic oriented programming tool for children, youth (and adults). Baltie is also main character of this software a little wizard keen to execute miscellaneous commands and to conjure pictures (tiles) in his scene. With Balties help children will quickly realize what is a computer and how to master and program the computer. All that by playing. Baltie can be used also for exercising logical thinking. It makes no demands on childs knowledge, only playfulness and imagination are required. It is used in many countries in the basic schools. The new version of Baltie 4 fully supports C#. Additional usage information can be found at the (SGP Systems).

Greenfoot is an interactive Java development environment developed primarily for educational purposes. It allows easy development of two-dimensional graphical applications, such as simulations and interactive games. It is mainly aimed at programming education (object-oriented programming with Java) at high school and early university level.

Karel, Karel++, and Karel J. Robot are languages aimed at absolute beginners, used to control a simple robot in a city consisting of a rectangular grid of streets. While Karel is its own programming language, Karel++ is a version of Karel implemented in C++, while Karel J. Robot is a version of Karel implemented in Java.

Logo is a language that was specifically designed to introduce children to programming and to the basic concepts of Computer Science and even Artificial Intelligence, since Logo is actually a streamlined version of LISP. The first part of Logo deals with "turtle graphics". An abstract drawing device, called the turtle, is used to make programming for children very attractive by concentrating on doing turtle graphics. Logo is especially suited for introductory training in developing applications in the field of symbolic programming and artificial intelligence.

Phrogram is a commercial easy-to-learn programming language and Integrated Development Environment introduced in 2006. It emphasizes graphics and sounds, making it especially easy to develop games and entertaining educational material. Phrogram is a simplified structured language, and offers component-based development features such as classes and methods. It is modeled on modern IDEs such as Eclipse and Visual Studio. NET, and intends to prepare a beginner to graduate to these or other professional development environments.

RoboMind is a simple educational programming environment that lets beginners program a robot. It introduces popular programming techniques and also some robotics and artificial intelligence. The robot can be programmed in Arabic, Chinese, Dutch, English and Swedish.

Scratch Scratch is a visual programming language based on and implemented in Squeak. It has the goal of teaching programming concepts to children and letting them create games, videos, and music. in Scratch all the interactive objects, graphics, and sounds can be easily imported to a new program and combined in new ways. That way, beginners can get quick results and be motivated to try further. In the Scratch community over 100,000 projects have been developed and uploaded. It is developed at MIT Media Lab.

SiMPLE is a programming development system that was created to provide easy programming capabilities for everybody, especially non-professionals. SiMPLE is vaguely reminiscent of the AppleSoft BASIC. SiMPLE is a compiled language. In addition, SiMPLE allows users to create their own libraries of frequently used functions. Simple" is a generic term for three slightly different versions of the language: Micro-SiMPLE to use only 4 keywords, Pro-SiMPLE, and Ultra-SiMPLE use of 23 keywords.

Smalltalk, Squeak, and especially Etoys are graphical environments which may be used not just to teach programming concepts to kids, but also physics and mathematics simulations, story-telling exercises, etc.
Stagecast Creator is a visual programming system based on programming by demonstration. Users demonstrate to the system what to do by moving icons on the screen, and it generates rules for the objects (characters). Users can create two-dimensional simulations that model a concept, multi-level games, interactive stories, etc.

Saturday, June 28, 2008

Computer Language

Computer Language
computer language includes a large variety of artificial languages used to communicate with computers. It is broader than the more commonly-used term programming language. Programming languages are a subset of computer languages. For example, HTML is a markup language and a computer language, but it is not traditionally considered a programming language. Machine code is a computer language. It can technically be used for programming, and has been (e.g. the original bootstrapper for Altair BASIC), though most would not consider it a programming language.Computer languages can be divided into two groups: high-level and low-level languages. High-level languages are designed to be easier to use, more abstract, and more portable than low-level languages. Syntactically correct programs in some languages are then compiled to low-level language and executed by the computer. Most modern software is written in a high-level language, compiled into object code, and then translated into machine instructions.Computer languages could also be grouped based on other criteria. Another distinction could be made between human-readable and non-human-readable languages. Human-readable languages are designed to be used directly by humans to communicate with the computer. Non-human-readable languages, though they can often be partially understandable, are designed to be more compact and easily processed, sacrificing readability to meet these ends.

Types of computer Language:

1)Programming languages
Programming languages are the primary means by which developers of computing systems instruct a machine to organize or manipulate information or control physical devices. Most software is written using one or more programming languages. Common examples include C++, Java, BASIC, assembly languages, and many others.

2)Scripting languages

Scripting languages are a type of programming language designed to control other software or to coordinate the actions of multiple software applications. They are usually distinguished from "full" programming languages in that they are dependent on another application, are more accessible to users, include fewer features, and are not compiled but run via an interpreter. In practice, some languages originally conceived for scripting (PHP) have grown to be become "full" programming languages and some "full" programming languages have been adapted for embedding into applications (Java). Common examples include Perl and JavaScript.Originally, scripting languages described the command set of shells with a command line interpreter. In this type of interpreter, commands can be entered either interactively or as shell scripts and batch scripts. Some modern scripting language interpreters preserve the interactive mode, but most do not.

3)Visual programming languages

Most programming language are based on a programmer writing source code to instruct the computer, but visual programming languages are designed to have the programmer manipulate visual representations of program elements.Machine codeAll instructions to a computer are ultimately expressed in machine code, a non human-readable binary computer language which corresponds to the available instructions for a microprocessor. Source code is converted to machine code by a compiler, sometimes on the fly. Some programming languages use an intermediate computer language called bytecode which is designed to make software more portable across different computer architectures. Such systems use a virtual machine to convert bytecode to machine code when a program is run. Java is a well-known example.

Scripting Languages

A scripting language, script language or extension language, is a programming language that controls a software application. "Scripts" are often treated as distinct from "programs", which execute independently from any other application. At the same time they are distinct from the core code of the application, which is usually written in a different language, and by being accessible to the end user they enable the behavior of the application to be adapted to the user's needs. Scripts are often, but not always, interpreted from the source code or "semi-compiled" to bytecode which is interpreted, unlike the applications they are associated with, which are traditionally compiled to native machine code for the system on which they run. Scripting languages are nearly always embedded in the application with which they are associated.

The name "script" is derived from the written script of the performing arts, in which dialogue is set down to be spoken by human actors. Early script languages were often called batch languages or job control languages. Such early scripting languages were created to shorten the traditional edit-compile-link-run process.

History of Programming Languages

The first programming languages predate the modern computer. From the first, the languages were codes.During a nine-month period in 1842-1843, Ada Lovelace translated Italian mathematician Luigi Menabrea's memoir on Charles Babbage's newest proposed machine, the Analytical Engine. With the article, she appended a set of notes which specified in complete detail a method for calculating Bernoulli numbers with the Engine, recognized by some historians as the world's first computer program. But some biographers debate the extent of her original contributions versus those of her husband.
The Jacquard loom used holes in punched cards to represent sewing loom arm movements in order to generate decorative patterns automatically.

Herman Hollerith realized that he could encode information on punch cards when he observed that railroad train conductors would encode the appearance of the ticket holders on the train tickets using the position of punched holes on the tickets. Hollerith then proceeded to encode the 1890 census data on punch cards.
The first computer codes were specialized for the applications. In the first decades of the twentieth century, numerical calculations were based on decimal numbers. Eventually it was realized that logic could be represented with numbers, as well as with words. For example, Alonzo Church was able to express the lambda calculus in a formulaic way. The Turing machine was an abstraction of the operation of a tape-marking machine, for example, in use at the telephone companies. However, unlike the lambda calculus, Turing's code does not serve well as a basis for higher-level languages — its principal use is in rigorous analyses of algorithmic complexity.

Like many "firsts" in history, the first modern programming language is hard to identify. From the start, the restrictions of the hardware defined the language. Punch cards allowed 80 columns, but some of the columns had to be used for a sorting number on each card. Fortran included some keywords which were the same as English words, such as "IF", "GOTO" (go to) and "CONTINUE". The use of a magnetic drum for memory meant that computer programs also had to be interleaved with the rotations of the drum. Thus the programs were more hardware dependent than today.

To some people the answer depends on how much power and human-readability is required before the status of "programming language" is granted. Jacquard looms and Charles Babbage's Difference Engine both had simple, extremely limited languages for describing the actions that these machines should perform. One can even regard the punch holes on a player piano scroll as a limited domain-specific programming language, albeit not designed for human consumption.