A programming language is a stylized communication technique intended to be used for controlling the behavior of a machine (often a computer). Like human languages programming languages have syntactic and semantic rules used to define meaning.
Thousands of different programming languages have been created and new ones are created every year. (see list of programming languages). Few languages ever become sufficiently popular that they are used by more than a few people, but professional programmers are likely to use dozens of different languages during their career.
Definitions of programming language
There is no universally agreed definition for the term programming language. The following is a list of some of the methods that have been used to categorize a language as being a programming language.
-What it is used for. For instance, a programming language is a language used to write programs.
-Those involved in the interaction. For instance, a programming language differs from natural languages in that natural languages are used for interaction between people, while programming languages are used for communication from people to machines (this rules out languages used for computer to computer interaction).
-The constructs it contains. For instance, a programming language contains constructs for defining and manipulating data structures, and for controlling the flow of execution.
Features of a Programming Language
Each programming language can be thought of as a set of formal specifications concerning syntax, vocabulary, and meaning.
These specifications usually include:
- Type system
- Data structures
- Instruction and control flow
- Design philosophy
- Compilation and interpretation
Those languages that are widely used or have been used for a considerable period of time have standardization bodies that meet regularly to create and publish formal definitions of the language and discuss the extension of existing definitions.
History of programming languages
The development of programming languages follows closely the development of the physical and electronic processes used in today's computers.
Programming languages have been under development for years and will remain so for many years to come. They got their start with a list of steps to wire a computer to perform a task. These steps eventually found their way into software and began to acquire newer and better features. The first major languages were characterized by the simple fact that they were intended for one purpose and one purpose only, while the languages of today are differentiated by the way they are programmed in, as they can be used for almost any purpose. And perhaps the languages of tomorrow will be more natural with the invention of quantum and biological computers.
Charles Babbage is often credited with designing the first computer-like machines, which had several programs written for them (in the equivalent of assembly language) by Ada Lovelace.
In the 1940s the first recognizably modern, electrically powered computers were created. Some military calculation needs were a driving force in early computer development, such as encryption, decryption, trajectory calculation and massive number crunching needed in the development of atomic bombs. At that time, computers were extremely large, slow and expensive: advances in electronic technology in the post-war years led to the construction of more practical electronic computers. At that time only Konrad Zuse imagined the use of a programming language (developed eventually as Plankalkül) like those of today for solving problems.
Subsequent breakthroughs in electronic technology (transistors, integrated circuits, and chips) drove the development of increasingly reliable and more usable computers. The first widely used high-level programming language was FORTRAN, developed during 195457 by an IBM team led by John W. Backus. It is still widely used for numerical work, with the latest international standard released in 2004. A Computer Languages History graphic shows a timeline from FORTRAN in 1954.
Shortly after, Lisp was introduced. Lisp was based on lambda calculus, and is far more regular in its syntax than most non-Lisp derived languages.
Dennis Ritchie developed the C programming language, initially for DEC PDP-11 in 1970.
During the 1970s, Xerox PARC developed Smalltalk, an object oriented language.
Based on the development of Smalltalk and other object oriented languages, Bjarne Stroustrup developed a programming language based on the syntax of C, called C++ in 1985.
Sun Microsystems released Java in 1995 which became very popular as an introductory programming language taught in universities. Microsoft presented the C# programming language in 2001 which is very similar to C++ and Java. There are many, many other languages
Object-oriented programming language
An object-oriented programming language (also called an OO language) is one that allows or encourages, to some degree, object-oriented programming methods.
Simula (1967) is generally accepted as the first language to have the primary features of an object-oriented language. It was created for making simulation programs, in which what came to be called objects were the most important information representation. Smalltalk (1972 to 1980) is arguably the canonical example, and the one with which much of the theory of object-oriented programming was developed.
OO languages can be grouped into several broad classes, determined by the extent to which they support all features and functionality of object-orientation and objects: classes, methods, polymorphism, inheritance, and reusability.
- Languages called "pure" OO languages, because everything in them is treated consistently as an object, from primitives such as characters and punctuation, all the way up to whole classes, prototypes, blocks, modules, etc. They were designed specifically to facilitate, even enforce, OO methods. Examples: Smalltalk, Eiffel, Ruby.
- Languages designed mainly for OO programming, but with some procedural elements. Examples: Java, Python.
- Languages that are historically procedural languages, but have been extended with some OO features. Examples: C++, Fortran 2003, Perl.
- Languages with most of the features of objects (classes, methods, inheritance, reusability), but in a distinctly original, even elegant, form. Examples: Oberon, and successor Oberon-2.
- Languages with abstract data type support, but not all features of object-orientation, sometimes called object-based languages. Examples: Modula-2 (with excellent encapsulation and information hiding), Pliant.
Inheritance and polymorphism are usually used to reduce code bloat. Abstraction and encapsulation are used to increase code clarity, quite independent of the other two traits.
These links have been provided for informational purposes only. We have not evaluated them. Hinduwebsite.com does not have any relationship with them. Some of the links may be outdated as they have not been recently updated.
Suggestions for Further Reading
- Common Gateway Interface - CGI
- CRM, Customer Relationship Management
- Data Warehouse and Data Mining Technologies
- Relational Databases
- DHTML Scripts - Resources For Dynamic Websites
- Domain Name Registration Services
- Ecommerce and Online Store Solutions
- Online Marketing Solutions and Promotions
- Essays on Information Technology
- Free Software, Tools and Applications
- Computer and Web Graphics
- HyperText Markup Language
- Html Tools for World Wide Web
- Java Programming language, Tutorials, Tools and Applets
- Computer Networks
- Computer Operating Systems
- OS X Mountain Lion and Parallels Desktop For Mac
- Perl Scripts - Resources for CGI and Perl Programming
- Programming Languages
- Project Management
- Search Engines and SEO
- Web design and Website development
- Best Web Hosting Services
- Web Resources and Web Tools
- Web Tools And Web Resources For The Web Masters
- Essays On Dharma
- Esoteric Mystic Hinduism
- Introduction to Hinduism
- Hindu Way of Life
- Essays On Karma
- Hindu Rites and Rituals
- The Origin of The Sanskrit Language
- Symbolism in Hinduism
- Essays on The Upanishads
- Concepts of Hinduism
- Essays on Atman
- Hindu Festivals
- Spiritual Practice
- Right Living
- Yoga of Sorrow
- Mental Health
- Concepts of Buddhism
- General Essays
Attribution: Some information for this article has been adapted from wikipedia under Creative Commons Attribution-ShareAlike License.
Disclaimer: The external links provided herein are third-party links. We do not have any control over them and we cannot guarantee their accuracy or their authenticity. The links are being provided as a convenience and for informational purposes only; they do not constitute an endorsement or an approval by Hinduwebsite.com of any of the products, services or opinions of the corporation or organization or individual. Hinduwebsite.com bears no responsibility for the accuracy, legality or content of the external site or for that of subsequent links. Any transactions that you enter into with a vendor, merchant or other party listed in this site or linked from this site are solely between you and that vendor, merchant or other party. Contact the external site for answers to questions regarding its content.
Translate the Page