14
programming language generations - In the computer industry, these abbreviations are widely used to represent major steps or "generations" in the evolution of programming languages. 1GL or first-generation language was (and still is) machine language  or the level of instructions and data that the processor is actually given to work on (which in conventional computers is a string of s and !s). 2GL or second-generation language is  assembler  (sometimes called "assembly") language. typical #$% instruction looks like this& ADD 12,8 n assembler converts the assembler language statements into machine language. 3GL or third-generation language is a "high-level" programming language, such as '%I, , or *ava. *ava language statements look like this& public boolean handleEvent (Event evt) {  switch (evt.id) {  case Event.ACTI!"E#E!T$ {  i% (&T' e& .e*uald(evt.a'+)) { compiler converts the statements of a specific high-level programming language into machine language. (In the case of *ava, the output is called   bytecode, which is converted into appropriate machine language by a *ava virtual machine that runs as part of an operating system platform.) +$% language reuires a c onsiderable amount of  programming knowledge. 4GL or fourth-generation language is designed to be closer to natural language than a +$% language. %anguages for accessing databases are often described as $%s. $% language statement might look like this& ET-ACT A C/0TE-0 3E-E &4-E#I/0 4/-C3A0E0& TTA -E T3A! 51666 5GL or fifth-generation language is programming that uses a visual or graphical development interface to create source language that is usually compiled with a +$% or $% language compiler. icrosoft, /orland, I/, and other companies make 0$% visual  programming products for developing applications in *ava, for e1ample. 2isual  programming allows you to easily envision object-oriented programming class hierarchies and drag icons to assemble program components. 3456I/75368& /rian 9enry %85 7':5;:& + pr #<

Programming Language Document2

Embed Size (px)

Citation preview

8/12/2019 Programming Language Document2

http://slidepdf.com/reader/full/programming-language-document2 1/14

programming language generations

- In the computer industry, these abbreviations are widely used to representmajor steps or "generations" in the evolution of programming languages.

1GL or first-generation language was (and still is) machine language or the level ofinstructions and data that the processor is actually given to work on (which inconventional computers is a string of s and !s).

2GL or second-generation language is assembler (sometimes called "assembly")language. typical #$% instruction looks like this&

ADD 12,8

n assembler converts the assembler language statements into machine language.

3GL or third-generation language is a "high-level" programming language, such as '% I,, or *ava. *ava language statements look like this&

public boolean handleEvent (Event evt) { switch (evt.id) { case Event.ACTI !"E#E!T$ { i% (&T' e& .e*uald(evt.a'+)) {

compiler converts the statements of a specific high-level programming language intomachine language. (In the case of *ava, the output is called bytecode , which is convertedinto appropriate machine language by a *ava virtual machine that runs as part of an

operating system platform.) +$% language re uires a considerable amount of programming knowledge.

4GL or fourth-generation language is designed to be closer to natural language than a+$% language. %anguages for accessing databases are often described as $%s. $%language statement might look like this&

E T-ACT A C/0T E-0 3E-E &4-E#I /0 4/-C3A0E0& T TA -E T3A!51666

5GL or fifth-generation language is programming that uses a visual or graphicaldevelopment interface to create source language that is usually compiled with a +$% or

$% language compiler. icrosoft, /orland, I/ , and other companies make 0$% visual programming products for developing applications in *ava, for e1ample. 2isual programming allows you to easily envision object-oriented programming class hierarchies and drag icons to assemble program components.

3456I/75368&/rian 9enry% 85 7': 5;:& + pr # <

8/12/2019 Programming Language Document2

http://slidepdf.com/reader/full/programming-language-document2 2/14

Do you have something to add to this definition? Let usknow.8end your comments to techterms=whatis.com

object-oriented programming &

3bject-oriented programming (33') is a programming language model organi>edaround "objects" rather than "actions" and data rather than logic. 9istorically, a programhas been viewed as a logical procedure that takes input data, processes it, and producesoutput data.5he programming challenge was seen as how to write the logic, not how to define thedata. 3bject-oriented programming takes the view that what we really care about are theobjects we want to manipulate rather than the logic re uired to manipulate them.

;1amples of objects range from human beings (described by name, address, and so forth)to buildings and floors (whose properties can be described and managed) down to thelittle widgets on your computer desktop (such as buttons and scroll bars).

5he concepts and rules used in object-oriented programming provide these important benefits&

• 5he concept of a data class makes it possible to define subclasses of data objectsthat share some or all of the main class characteristics. alled inheritance, this

property of 33' forces a more thorough data analysis, reduces development time,and ensures more accurate coding.

8ince a class defines only the data it needs to be concerned with, when an instanceof that class (an object) is run, the code will not be able to accidentally accessother program data. 5his characteristic of data hiding provides greater systemsecurity and avoids unintended data corruption.

• 5he definition of a class is reuseable not only by the program for which it isinitially created but also by other object-oriented programs (and, for this reason,can be more easily distributed for use in networks).

• 5he concept of data classes allows a programmer to create any new data type thatis not already defined in the language itself.

8imula was the first object-oriented programming language. *ava, 'ython, ??, 2isual

/asic .4;5 and 6uby are the most popular 33' languages today. 5he *ava programminglanguage is designed especially for use in distributed applications on corporate networksand the Internet. 6uby is used in many @eb applications. url, 8malltalk, :elphi and;iffel are also e1amples of object-oriented programming languages.

programming language

8/12/2019 Programming Language Document2

http://slidepdf.com/reader/full/programming-language-document2 3/14

Introduction

omputer science has made huge strides since it became recogni>ed as a distinctacademic discipline in the !AB s. 3ne of the fundamental problems it has addressed ishow to translate the problems that people need solved into a format that computers can

process. variety of powerful and ingenious solutions have been applied to this problem.'rogramming languages are human-engineered languages developed to conveyinstructions to machinesC they are based on rules of synta1 and semantics. 5housands of

different programming languages have been developed, used, and discarded.5he struggle for survival among programming languages is ruthless. %anguages arise, arefound wanting, and are soon replaced by more clever or more fle1ible offspring.

Initially, the evolution of programming languages was driven by a uest for efficienttranslation of human language to machine code. 5his produced languages with highlevels of abstraction, which hid the hardware and used representations that are convenientand comfortable to human programmers. t some point, another critical aspect oflanguage design became managing the comple1ity of programs. s programs becamelarger and more sophisticated, developers reali>ed that some language types were easierto support in large systems. 5his has lead to greater use of objected-oriented and event-driven programming languages.

History

3ne problem in discussing the history of computer science is where to start. *ac uardlooms used early versions of punch cards, but they are not computing devices in anymodern sense. 'rogramming languages as understood today became possible when the

8/12/2019 Programming Language Document2

http://slidepdf.com/reader/full/programming-language-document2 4/14

work of lan 5uring and lon>o hurch in the !A+ s and s provided formalmathematical means to e1press computational procedures. 5he first efforts in thisdirection consisted of painstakingly crafting instructions as strings of ones and >eros (ormachine code). 9umans do not e1cel at this type of logic, and these first generationlanguages were uickly replaced by a second generation of assembly languages.

ssembly languages use low-level mnemonics to model the underlying hardware andspecify computations. In this sense, they are different than the other languages discussedhere, because assembler code is a first level abstraction of the hardware. Dor e1ample, atypical statement in assembler to command the processor to move the he1adecimalnumber 1E (decimal !#E) into processor register r# might be& mov r#, E h

lthough programming in assembly language is not as difficult and error prone asstringing together ones and >eros, it is slow and cumbersome. /y the !A0 s, moderngeneral purpose programming languages had arrived to address this difficulty, includingD3656 4, %I8', and 3/3%. 5hese were known as third-generation languages.

Overview of Types

s might be e1pected in a dynamic and evolving field, there is no single standard forclassifying programming languages. In fact, do>ens of categories e1ist. 3ne of the mostfundamental ways programming languages are characteri>ed is by programming

paradigm. programming paradigm provides the programmerFs view of code e1ecution.5he most influential paradigms are e1amined in the ne1t three sections, in appro1imatechronological order. ;ach of these paradigms represents a mature worldview, with

enormous amounts of research and effort e1pended in their development. given language is not limited to use of a single paradigm. *ava, for e1ample, supports

elements of both procedural and object-oriented programming, and it can be used in aconcurrent, event-driven way. 'rogramming paradigms continue to grow and evolve, asnew generations of hardware and software present new opportunities and challenges forsoftware developers.

Procedura Programming Languages

'rocedural programming specifies a list of operations that the program must complete to

reach the desired state. 5his one of the simpler programming paradigms, where a program is represented much like a cookbook recipe. ;ach program has a starting state, alist of operations to complete, and an ending point. 5his approach is also known asimperative programming. Integral to the idea of procedural programming is the conceptof a procedure call.

'rocedures, also known as functions, subroutines, or methods, are small sections of codethat perform a particular function. procedure is effectively a list of computations to be

8/12/2019 Programming Language Document2

http://slidepdf.com/reader/full/programming-language-document2 5/14

carried out. 'rocedural programming can be compared to unstructured programming,where all of the code resides in a single large block. /y splitting the programmatic tasksinto small pieces, procedural programming allows a section of code to be re-used in the

program without making multiple copies. It also makes it easier for programmers tounderstand and maintain program structure.

5wo of the most popular procedural programming languages are D3656 4 and / 8I .

!tructured Programming Languages

8tructured programming is a special type of procedural programming. It providesadditional tools to manage the problems that larger programs were creating. 8tructured

programming re uires that programmers break program structure into small pieces ofcode that are easily understood. It also frowns upon the use of global variables andinstead uses variables local to each subroutine. 3ne of the well known features ofstructural programming is that it does not allow the use of the $353 statement. It is

often associated with a "top-down" approach to design. 5he top-down approach beginswith an initial overview of the system that contains minimal details about the different parts. 8ubse uent design iterations then add increasing detail to the components until thedesign is complete.

5he most popular structured programming languages include , da, and 'ascal.

"#$ect%"riented Programming Languages

3bject-oriented programming is one the newest and most powerful paradigms. In object-oriented programs, the designer specifies both the data structures and the types of

operations that can be applied to those data structures. 5his pairing of a piece of data withthe operations that can be performed on it is known as an object. program thus

becomes a collection of cooperating objects, rather than a list of instructions. 3bjects canstore state information and interact with other objects, but generally each object has adistinct, limited role.

5here are several key concepts in object-oriented programming (33'). class is atemplate or prototype from which objects are created, so it describes a collection ofvariables and methods (which is what functions are called in 33'). 5hese methods can

be accessible to all other classes (public methods) or can have restricted access (privatemethods). 4ew classes can be derived from a parent class. 5hese derived classes inherit

the attributes and behavior of the parent (inheritance), but they can also be e1tended withnew data structures and methods.

5he list of available methods of an object represents all the possible interactions it canhave with e1ternal objects, which means that it is a concise specification of what theobject does. 5his makes 33' a fle1ible system, because an object can be modified ore1tended with no changes to its e1ternal interface. 4ew classes can be added to a systemthat uses the interfaces of the e1isting classes. 3bjects typically communicate with each

8/12/2019 Programming Language Document2

http://slidepdf.com/reader/full/programming-language-document2 6/14

other by message passing. message can send data to an object or re uest that it invokea method. 5he objects can both send and receive messages.

nother key characteristic of 33' is encapsulation, which refers to how theimplementation details of a particular class are hidden from all objects outside of the

class. 'rogrammers specify what information in an object can be shared with otherobjects.

final attribute of object oriented programming languages is polymorphism.'olymorphism means that objects of different types can receive the same message andrespond in different ways. 5he different objects need to have only the same interface (thatis, method definition). 5he calling object (the client) does not need to know e1actly whattype of object it is calling, only that is has a method of a specific name with definedarguments. 'olymorphism is often applied to derived classes, which replace the methodsof the parent class with different behaviors. 'olymorphism and inheritance together make33' fle1ible and easy to e1tend.

3bject-oriented programming proponents claim several large advantages. 5hey maintainthat 33' emphasi>es modular code that is simple to develop and maintain. 33' is

popular in larger software projects, because objects or groups of objects can be dividedamong teams and developed in parallel. It encourages careful up-front design, whichfacilitates a disciplined development process. 3bject-oriented programming seems to

provide a more manageable foundation for larger software projects.

5he most popular object-oriented programming languages include *ava, 2isual /asic,G, ??, and 'ython.

"ther Paradigmsoncurrent programming provides for multiple computations running at once. 5his often

means support for multiple threads of program e1ecution. Dor e1ample, one thread mightmonitor the mouse and keyboard for user input, although another thread performsdatabase accesses. 'opular concurrent languages include da and *ava.

Dunctional programming languages define subroutines and programs as mathematicalfunctions. 5hese languages are most fre uently used in various types of mathematical

problem solving. 'opular functional languages include %I8' and athematica.

;vent-driven programming is a paradigm where the program flow is determined by useractions. 5his is in contrast to batch programming, where flow is determined when the program is written. ;vent-driven programming is used for interactive programs, such asword processors and spreadsheets. 5he program usually has an event loop, whichrepeatedly checks for interesting events, such as a keypress or mouse movement. ;ventscause the e1ecution of trigger functions, which process the events.

8/12/2019 Programming Language Document2

http://slidepdf.com/reader/full/programming-language-document2 7/14

5wo final paradigms to discuss are compiled languages and interpreted languages.ompiled languages use a program called a compiler to translate source code into

machine instructions, usually saved to a separate e1ecutable file. Interpreted languages, incontrast, are programs that can be e1ecuted from directly from source code by a special

program called an interpreter. 5his distinction refers to the implementation, rather than

the language design itself. ost software is compiled, and in theory, any language can becompiled. %I8' a well known interpreted language. 8ome popular implementations, suchas *ava and G, use just-in-time compilation. 8ource programs are compiled into

bytecode, which is an e1ecutable for an abstract virtual machine. t run time, the bytecode is compiled into native machine code.

Summary

'rogramming languages are artificial languages designed to control computers and manyman hours have been spent to develop new and improved languages. 5here are thousandsof different programming languages, but most conform to a few basic paradigms.

'rocedural programming languages divide a programFs source code into smaller modules.8tructured programming languages impose more constraints on program organi>ation andflow, including a ban on $353 statements. 3bject-oriented programs organi>e datastructures and code into objects, so that a program becomes a group of cooperatingobjects. Hey features of the object-oriented paradigm are classes, inheritance, dataencapsulation, and polymorphism.

References

&ooks

:avid $elernter, 8uresh *agannathan& Programming Linguistics , 5he I5 'ress !AA .

8hriram Hrishnamurthi& Programming Languages: Application and Interpretation .vailable online at& http& www.cs.brown.edu sk 'ublications /ooks 'rog%angs

'e#sites

omputer %anguages 9istory graphical charthttp& www.levene>.com lang history.html

9istory of omputer %anguages

http& hopl.murdoch.edu.au

n Introduction to 'rogramming %anguageshttp& www.acooke.org andrew writing lang.html

(istory of )rogramming anguages

8/12/2019 Programming Language Document2

http://slidepdf.com/reader/full/programming-language-document2 8/14

Drom @ikipedia, the free encyclopedia

Before 1940

5he first programming languages predate the modern computer. t first, the languages

were codes .

5he *ac uard loom , invented in !E !, used holes in punched cards to represent sewingloom arm movements in order to generate decorative patterns automatically.

:uring a nine-month period in !E #-!E +, da %ovelace translated the memoir of Italianmathematician %uigi enabrea about harles /abbage Fs newest proposed machine, the

nalytical ;ngine . @ith the article, she appended a set of notes which specified incomplete detail a method for calculating /ernoulli numbers with the ;ngine, recogni>ed

by some historians as the worldFs first computer program. J!K

9erman 9ollerith reali>ed that he could encode information on punch cards when heobserved that train conductors encode the appearance of the ticket holders on the traintickets using the position of punched holes on the tickets. 9ollerith then encoded the!EA census data on punch cards.

5he first computer codes were speciali>ed for their applications. In the first decades ofthe # th century, numerical calculations were based on decimal numbers. ;ventually itwas reali>ed that logic could be represented with numbers, not only with words. Dore1ample, lon>o hurch was able to e1press the lambda calculus in a formulaic way.5he 5uring machine was an abstraction of the operation of a tape-marking machine, fore1ample, in use at the telephone companies. 5uring machines set the basis for storage of

programs as data in the von 4eumann architecture of computers by representing amachine through a finite number. 9owever, unlike the lambda calculus, 5uringFs codedoes not serve well as a basis for higher-level languagesLits principal use is in rigorousanalyses of algorithmic comple1ity .

%ike many "firsts" in history, the first modern programming language is hard to identify.Drom the start, the restrictions of the hardware defined the language. 'unch cards allowedE columns, but some of the columns had to be used for a sorting number on each card.D3656 4 included some keywords which were the same as ;nglish words, such as"ID", "$353" (go to) and " 345I47;". 5he use of a magnetic drum for memory meantthat computer programs also had to be interleaved with the rotations of the drum. 5husthe programs were more hardware-dependent.

5o some people, what was the first modern programming language depends on howmuch power and human-readability is re uired before the status of "programminglanguage" is granted. *ac uard looms and harles /abbageFs :ifference ;ngine both hadsimple, e1tremely limited languages for describing the actions that these machines should

perform. 3ne can even regard the punch holes on a player piano scroll as a limiteddomain-specific language , albeit not designed for human consumption.

8/12/2019 Programming Language Document2

http://slidepdf.com/reader/full/programming-language-document2 9/14

[ edit ] T e 1940s

In the !A s, the first recogni>ably modern, electrically powered computers were created.5he limited speed and memory capacity forced programmers to write hand tunedassembly language programs. It was soon discovered that programming in assembly

language re uired a great deal of intellectual effort and was error-prone.

In !A E, Honrad Muse published a paper about his programming language 'lankalkNl .J!K 9owever, it was not implemented in his lifetime and his original contributions wereisolated from other developments.

8ome important languages that were developed in this period include&

• !A + - 'lankalkNl (Honrad Muse)• !A + - ;4I coding system • !A A - -!

[ edit ] T e 19!0s and 19"0s

In the !A0 s, the first three modern programming languages whose descendants are stillin widespread use today were designed&

• D3656 4 (!A00), the " *"+ mula ,+- slator", invented by *ohn /ackus et al.C• %I8' J!A0EK, the "L/! t P rocessor", invented by *ohn c arthy et al.C• 3/3% , the 0" mmon &usiness " riented L anguage, created by the 8hort 6ange

ommittee, heavily influenced by $race 9opper .

nother milestone in the late !A0 s was the publication, by a committee of merican and;uropean computer scientists, of "a new language for algorithms"C the ALGOL 60 Report (the " -LG" rithmic L anguage"). 5his report consolidated many ideas circulating at thetime and featured two key language innovations&

• nested block structure& code se uences and associated declarations could begrouped into blocks without having to be turned into separate, e1plicitly named

proceduresC• le1ical scoping & a block could have its own private variables, procedures and

functions, invisible to code outside that block, i.e. information hiding .

nother innovation, related to this, was in how the language was described&

• a mathematically e1act notation, /ackus-4aur Dorm (/4D), was used to describethe languageFs synta1. 4early all subse uent programming languages have used avariant of /4D to describe the conte1t-free portion of their synta1.

8/12/2019 Programming Language Document2

http://slidepdf.com/reader/full/programming-language-document2 10/14

lgol B was particularly influential in the design of later languages, some of which soon became more popular. 5he /urroughs large systems were designed to be programmed inan e1tended subset of lgol.

lgolFs key ideas were continued, producing %$3% BE &

• synta1 and semantics became even more orthogonal, with anonymous routines, arecursive typing system with higher-order functions, etc.C

• not only the conte1t-free part, but the full language synta1 and semantics weredefined formally, in terms of 2an @ijngaarden grammar , a formalism designedspecifically for this purpose.

lgol BEFs many little-used language features (e.g. concurrent and parallel blocks) and itscomple1 system of syntactic shortcuts and automatic type coercions made it unpopularwith implementers and gained it a reputation of being difficult . 4iklaus @irth actuallywalked out of the design committee to create the simpler 'ascal language.

8ome important languages that were developed in this period include&

• !A0! - 6egional ssembly %anguage • !A0# - utocode • !A0 - D3656 4 • !A0 - I'% (forerunner to %I8')• !A00 - D%3@- 5I (forerunner to 3/3%)• !A0< - 3 56 4 (forerunner to 3/3%)• !A0E - %I8' • !A0E - %$3% 0E • !A0A - D 5 (forerunner to 3/3%)• !A0A - 3/3% • !AB# - '% • !AB# - 8imula • !AB# - 843/3% • !AB+ - '% (forerunner to )• !AB - / 8I • !AB - '% I • !AB< - / '% (forerunner to )

[ edit ] 19"#$19#%& esta'(is in) fundamenta( paradi)ms

5he period from the late !AB s to the late !A< s brought a major flowering of programming languages. ost of the major language paradigms now in use wereinvented in this period&

• !imu a , invented in the late !AB s by 4ygaard and :ahl as a superset of lgolB , was the first language designed to support object-oriented programming .

8/12/2019 Programming Language Document2

http://slidepdf.com/reader/full/programming-language-document2 11/14

• 0 , an early systems programming language, was developed by :ennis 6itchie andHen 5hompson at /ell %abs between !ABA and !A<+.

• !ma ta k (mid !A< s) provided a complete ground-up design of an object-oriented language.

• Pro og , designed in !A<# by olmerauer , 6oussel , and Howalski , was the first

logic programming language.• L built a polymorphic type system (invented by 6obin ilner in !A<+) on top

of %isp, pioneering statically typed functional programming languages.

;ach of these languages spawned an entire family of descendants, and most modernlanguages count at least one of them in their ancestry.

5he !AB s and !A< s also saw considerable debate over the merits of " structured programming ", which essentially meant programming without the use of $oto . 5hisdebate was closely related to language design& some languages did not include $353,which forced structured programming on the programmer. lthough the debate raged

hotly at the time, nearly all programmers now agree that, even in languages that provide$353, it is bad programming style to use it e1cept in rare circumstances. s a result,later generations of language designers have found the structured programming debatetedious and even bewildering.

8ome important languages that were developed in this period include&

• !ABE - %ogo • !A< - 'ascal • !A< - Dorth • !A<# - •

!A<# - 8malltalk • !A<# - 'rolog • !A<+ - % • !A<0 - 8cheme • !A<E - 8O% (initially only a uery language, later e1tended with programming

constructs)

[ edit ] T e 19%0s& conso(idation* modu(es* performance

5he !AE s were years of relative consolidation. ?? combined object-oriented andsystems programming. 5he 7nited 8tates government standardi>ed da , a systems

programming language intended for use by defense contractors. In *apan and elsewhere,vast sums were spent investigating so-called fifth-generation programming languages thatincorporated logic programming constructs. 5he functional languages community movedto standardi>e % and %isp. 6ather than inventing new paradigms, all of thesemovements elaborated upon the ideas invented in the previous decade.

9owever, one important new trend in language design was an increased focus on programming for large-scale systems through the use of modules , or large-scale

8/12/2019 Programming Language Document2

http://slidepdf.com/reader/full/programming-language-document2 12/14

organi>ational units of code. odula , da, and % all developed notable modulesystems in the !AE s. odule systems were often wedded to generic programming constructs---generics being, in essence, parameteri>ed modules (see also polymorphismin object-oriented programming ).

lthough major new paradigms for programming languages did not appear, manyresearchers e1panded on the ideas of prior languages and adapted them to new conte1ts.Dor e1ample, the languages of the rgus and ;merald systems adapted object-oriented

programming to distributed systems .

5he !AE s also brought advances in programming language implementation. 5he 6I8 movement in computer architecture postulated that hardware should be designed forcompilers rather than for human assembly programmers. ided by processor speedimprovements that enabled increasingly aggressive compilation techni ues, the 6I8movement sparked greater interest in compilation technology for high-level languages.

%anguage technology continued along these lines well into the !AA s.

8ome important languages that were developed in this period include&

• !AE - ?? (as with classes )• !AE+ - da • !AE - ommon %isp • !AE0 - ;iffel • !AEB - ;rlang • !AE< - 'erl • !AEE - 5cl •

!AEA -D% (/ackus)

[ edit ] T e 1990s& t e Internet a)e

5he !AA s saw no fundamental novelty, but much recombination as well as maturation ofold ideas. big driving philosophy was programmer productivity. any "rapidapplication development" (6 :) languages emerged, which usually came with an I:; ,garbage collection , and were descendants of older languages. ll such languages wereobject-oriented . 5hese included 3bject 'ascal , 2isual /asic , and *ava. *ava in particularreceived much attention. ore radical and innovative than the 6 : languages were thenew scripting languages . 5hese did not directly descend from other languages and

featured new synta1es and more liberal incorporation of features. any consider thesescripting languages to be more productive than even the 6 : languages, but often

because of choices that make small programs simpler but large programs more difficult towrite and maintain. Jcitation needed K 4evertheless, scripting languages came to be the most

prominent ones used in connection with the @eb.

8ome important languages that were developed in this period include&

8/12/2019 Programming Language Document2

http://slidepdf.com/reader/full/programming-language-document2 13/14

• !AA -9askell • !AA! - 'ython • !AA+ - 6uby • !AA+ - %ua • !AA - %38 (part of 48I ommon %isp )•

!AA0 - *ava • !AA0 - :elphi (3bject 'ascal) • !AA0 - *ava8cript • !AA0 - '9' • !AA< - 6ebol • !AAE -2isual /asic • !AAA -:

[ edit ] +urrent trends

'rogramming language evolution continues, in both industry and research. 8ome of thecurrent trends include&

• echanisms for adding security and reliability verification to the language&e1tended static checking, information flow control, static thread safety .

• lternative mechanisms for modularity& mi1ins , delegates , aspects . • omponent-oriented software development.• etaprogramming , reflection or access to the abstract synta1 tree • Increased emphasis on distribution and mobility.• Integration with databases, including P % and relational databases .• 8upport for 7nicode so that source code (program te1t) is not restricted to those

characters contained in the 8 II character setC allowing, for e1ample, use ofnon- %atin-based scripts or e1tended punctuation.

• P % for graphical interface ( P7% , P % ).

8ome important languages developed during this period include&

• # ! - G • # ! - 2isual /asic .4;5 • # # - DG • # + - 8cala • # + - Dactor • # B - @indows 'ower 8hell • # < - lojure • # < - $roovy • # A -$o

References *. Duegi and *. Drancis (3ctober-:ecember # +), "%ovelace Q /abbage and the

creation of the !E + FnotesF.", Annals of the History of Computing 25 ( ),

8/12/2019 Programming Language Document2

http://slidepdf.com/reader/full/programming-language-document2 14/14