In computer programming, a subroutine is a sequence of program instructions that performs a specific task, packaged as a unit. This unit can be used in programs wherever that particular task should be performed. Subroutines may be defined within programs, or separately in libraries that can be used by many programs. In different programming languages, a subroutine may be called a procedure, a function, a routine, a method, or a subprogram; the generic term callable unit is sometimes used. The name subprogram suggests a subroutine behaves in much the same way as a computer program, used as one step in a larger program or another subprogram. A subroutine is coded so that it can be started several times and from several places during one execution of the program, including from other subroutines, branch back to the next instruction after the call, once the subroutine's task is done; the idea of a subroutine was conceived by John Mauchly during his work on ENIAC, recorded in a January 1947 Harvard symposium on "Preparation of Problems for EDVAC-type Machines".

Maurice Wilkes, David Wheeler, Stanley Gill are credited with the formal invention of this concept, which they termed a closed subroutine, contrasted with an open subroutine or macro. Subroutines are a powerful programming tool, the syntax of many programming languages includes support for writing and using them. Judicious use of subroutines will substantially reduce the cost of developing and maintaining a large program, while increasing its quality and reliability. Subroutines collected into libraries, are an important mechanism for sharing and trading software; the discipline of object-oriented programming is based on methods. In the compiling method called threaded code, the executable program is a sequence of subroutine calls; the content of a subroutine is its body, the piece of program code, executed when the subroutine is called or invoked. A subroutine may be written so that it expects to obtain one or more data values from the calling program; the calling program provides actual values for called arguments.

Different programming languages may use different conventions for passing arguments: The subroutine may return a computed value to its caller, or provide various result values or output parameters. Indeed, a common use of subroutines is to implement mathematical functions, in which the purpose of the subroutine is purely to compute one or more results whose values are determined by the arguments passed to the subroutine. A subroutine call may have side effects such as modifying data structures in a computer memory, reading from or writing to a peripheral device, creating a file, halting the program or the machine, or delaying the program's execution for a specified time. A subprogram with side effects may return different results each time it is called if it is called with the same arguments. An example is a random number function, available in many languages, that returns a different pseudo-random number each time it is called; the widespread use of subroutines with side effects is a characteristic of imperative programming languages.

A subroutine can be coded so that it may call itself recursively, at one or more places, to perform its task. This method allows direct implementation of functions defined by mathematical induction and recursive divide and conquer algorithms. A subroutine whose purpose is to compute one boolean-valued function is sometimes called a predicate. In logic programming languages all subroutines are called predicates, since they determine success or failure. High-level programming languages include specific constructs to: Delimit the part of the program that makes up the subroutine Assign an identifier to the subroutine Specify the names and data types of its parameters and return values Provide a private naming scope for its temporary variables Identify variables outside the subroutine that are accessible within it Call the subroutine Provide values to its parameters The main program contains the address of the subprogram The sub program contains the address of next instruction of the function call in main program Specify the return values from within its body Return to the calling program Dispose of the values returned by a call Handle any exceptional conditions encountered during the call Package subroutines into a module, object, or classSome programming languages, such as Pascal, Fortran and many dialects of BASIC, distinguish between functions or function subprograms, which provide an explicit return value to the calling program, subroutines or procedures, which do not.

In those languages, function calls are embedded in expressions. Procedure calls either behave syntactically as statements (e.g. a print procedure may be called as if x > 0 print or are explicitly invoked by a statement such as CALL or GOSUB. Other languages, such as C and Lisp, do not distinguish between subroutines. In functional programming languages such as Haskell, subprograms can have no side effects, which means that various internal states of the program will not change. Functions will always return the same result if called with the same arguments; such languages only support functions, since subroutines that do not return a value have no use u

Women & Songs 11

Women & Songs 11 is the 11th album of the Women & Songs franchise. Released on November 27, 2007, this 11th edition of Women & Songs packs another 19 tracks from female artists or groups; the collection includes Shut Up and Drive. The first American Idol winner, Kelly Clarkson, starts the collection off with Because of You. Nelly Furtado contributes All Good Things. Story of Your Life by Ali Slaight concludes the album; because of You Believe 4 in the Morning All Good Things Good Enough Tell Me What We're Gonna Do Now Extraordinary Seven Day Fool LDN What You Want Silver Lining Better Hold On Misery Business Shut Up and Drive All I Can Do Weak in the Knees Nobody Else Will Story of Your Life Mastering Ted CarsonPhotography Andrew MacNaughtan Sheryl NieldsCover Photo Anthony Mandler Ivan Otis Derrick Santini Women & Songs 11 at AllMusic


Łańcut is a town in south-eastern Poland, with 18,004 inhabitants, as of 2 June 2009. Situated in the Subcarpathian Voivodeship, it is the capital of Łańcut County. Archeological investigations carried out in the region of Łańcut confirm the existence of human settlements from about 4000 years B. C; the first owner of the town was Otton Pilecki, given the Łańcut estate by the Polish king, Casimir III the Great, in 1349, as a reward for his service. At the same time, the king granted Łańcut its city rights according to Magdeburg law. In 1381 Łańcut was named a ‘town’ for the first time, by Otton Pilecki, in the foundation charter of the town. Łańcut remained under the ownership of the Pilecki family up to 1586. The city was owned consecutively by aristocratic Polish families of Stadnicki and Potocki. Łańcut was purchased by Stanisław Lubomirski in 1629, at which time he secured the services of architect Matteo Trapola and the stuccoist Giovanni Battista Falconi, in order to build a fortified residence in the town, Łańcut Castle, completed in 1641 and reconstructed many times since.

Jerzy Sebastian Lubomirski, fearing attack from the Swedes, further strengthened the fortifications. To perform these works he employed Tylman van Gameren, a Dutchman and one of the most prominent foreign architects to work in Poland; the castle is situated in the centre of the town and constructed in the style of a grand aristocratic palace-residence. It was last owned until 1944 by the Potocki family, made infamous in late 16th century during the times of Stanisław Stadnicki, known as'the Devil of Łańcut' for his violent behaviour. After 1775 the palace was owned by Izabella Lubomirska, who extended it and had the interiors remodelled; the palace is a museum well known for its large collection of historic carriages. Since 1961, a well-known classical music festival is held there annually. In 1772, after Poland's First Partition, Łańcut became part of the Habsburg Monarchy where it remained until 1918 when it became part of independent Poland. At the end of the 18th century, Duchess Izabela Lubomirska established a distillery on the vast estate of the Lubomirski family in Łańcut.

Count Alfred Wojciech Potocki, a grandson and heir of the Duchess, started to run the Łańcut and Lwów Lubomirski estates in 1823. He modernised the management of these properties; the distillery now exists under the name of Polmos Łańcut. It is well known for producing sweetened vodkas. Jews began to settle in Łańcut in the 16th century: the earliest mention of a settler is 1554; the landowner Stanisław Lubomirski employed a Jewish factor for his Łańcut estate in 1629. in 1707 the Council of Four Lands. met in Łańcut. A wooden synagogue burnt down in 1716 and new brick synagogue was commenced in 1726; the project was supported by the Lubomirski family and the synagogue, which still stands, was completed in 1761. Local Jewish cemeteries are the resting place of the famous Rabbi Zvi Naftali Horowitz, the Grand Rabbi of Ropshitz and Rabbi Ahron Moshe Leifer, the Grand Rabbi of Żołynia; every year, followers of the Hasidic Judaism come to pray at their graves. Prior to World War II, Łańcut had a thriving Jewish community constituting about one-third of the city population.

In 1939 there were 2750 Jews in Łańcut. From 1942 onwards the German occupiers began murder of the Jewish community; the last owner of Łańcut, Alfred Antoni Potocki, was one of the richest men in prewar Poland, accumulating a fantastic collection of art during his tenancy. Shortly before the arrival of the Red Army in 1944, he loaded 11 railway carriages of a specially chartered train to Vienna, with his most valuable possessions and fled to Liechtenstein. Most of these valuables were sold off to finance a lavish lifestyleThe Music Festival in Łańcut has been an annual event since 1961; the Festival is a series of modern and classical music concerts performed by distinguished European soloists and choirs. The Łańcut Castle, sometimes called the Potocki Palace, it was built in 1628–1641 by Stanisław Lubomirski, rebuilt in 1894–1903 in the style of French Neo-baroque. In the castle grounds there is a park with the little romantic castle, a coachhouse with a collection of carriages and a guest-house in the English style.

The Łańcut Synagogue, completed in 1761. German invaders in 1939 attempted to burn the synagogue down, but were prevented by Count Alfred Antoni Potocki. Although plain on the exterior, the interior walls and ceiling are decorated with restorations of paintings and stuccowork from the 18th century and polychromies from the 19th – 20th centuries; the architectural complex of the ancient Church and the Dominican monastery rebuilt the oldest phase of the construction going back to the 15th century. The Parish Church going back to the 15th century. Rebuilt in 1884–1900. Łańcut is located on the main West-East European E40 Highway, which goes from Calais in France via Belgium, across Germany, Ukraine and on to Russia and Kazakhstan. Other Polish cities located by the E40 highway are Wrocław, Katowice, Kraków, Tarnów, Rzeszów and Przemyśl; the nearest airport is Rzeszów-Jasionka Airport located in the village of Jasionka, north of Rzeszów. It takes about 25 -- 30 minutes by car. Scheduled passenger services include flights to: Warsaw, Dublin