SwingSwing could refer to:
- Swing (dance), a kind of dance, including West Coast Swing, Lindy Hop, and East Coast Swing.
- Swing (genre), a style of music.
- Swing language, another name for Jive talk.
- Swung note, a musical rhythm or technique.
- Swing (Java), Sun's Java program library including a set of lightweight GUI components.
- Swing (film), a film made in 2003 starring Jacqueline Bisset.
- A hanging seat in a playground, for acrobats in a circus, or on a porch for relaxing
- Swing bowling, a style of bowling in the sport of cricket.
- To swing, the act of being a part of the Swinging lifestyle.
- To swing, the act of two people (usually of opposite sex) circling while holding each other; done to music as part of a dance.
- Swing (politics), a mathematical calculation to measure vote changes.
- A swing seat in Australia, a swing state in the United States or a swing riding in Canada is an electoral division that may "swing" from one party to another at an election.
- Swing!, a Tony award-winning Broadway musical celebrating swing music.
- Swing, a Cantopop music group
- In baseball a check-swing is when the batter starts to swing the bat, but decides the pitch is a ball, and pulls back the bat. If the bat breaks the plane of the front of home plate, it is considered a swing and a miss and a swinging strike.
Swing dance
Swing is a group of related street dances that evolved from Lindy Hop. Swing is a partner dance, where the couple consists of a leader and follower, who share a connection.
Forms of Swing
The three main dance forms of swing are Lindy Hop, West Coast Swing, and East Coast Swing. However, there are many other dances of this kind, such as Jive and Balboa.
- Balboa is an 8-count dance that emphasizes a strong partner connection and quick footwork. Balboa (sometimes referred to simply as "Bal") is primarily danced in a tight, closed position with the follow and lead adopting a firm chest-to-chest posture. This dance is particularly popular in settings with fast jazz (usually anything from 180 to 320 BPM) and/or limited floor space.
- Blues dancing is an informal type of swing dancing with no fixed patterns and a heavy focus on connection, sensuality and improvisation, often with strong body contact. Although usually done to blues music, it can be done to any slow tempoed 4/4 music, including rock ballads and "club" music.
- Boogie woogie is the European counterpart to East Coast Swing, danced to rock music of various kinds, blues or boogie woogie music but usually not to jazz.
- Carolina Shag
- Charleston is a classic 8-count dance that predates Lindy Hop and is often incorporated into Lindy dances. The Charleston originally developed as a solo performance dance in the brothels and speakeasies of the day, but it was adapted into a partner dance sometime during the 1930s. Today, it can be, and is, danced in both modes.
- Collegiate Shag is a simple 6-count dance that is typically done to faster music.
- Country Swing, also called Western Swing or Country/Western Swing (C/W Swing) is a form with a distinct culture. It resembles East Coast Swing, but adds variations from other country dances. It is danced to country and western music.
- East Coast Swing is a simpler 6-count variation. It is also known as Single-Time Swing, Triple-Step Swing, 6-Count Swing, Rock-a-billy, or Jitterbug. East Coast Swing has very simple structure and footwork along with basic moves and styling. It is popular for its forgiving yet elegant nature, and it is often danced to slow, medium, or fast tempo jazz, blues, or rock and roll.
- Hand dancing
- Jitterbug, a subset of Lindy Hop
- Jive is a dance of International Style Ballroom dancing. It diverged from Swing still further.
- Lindy Hop evolved in the late 1920s and early 1930s as the original swing dance. Its main draw is the style's openess to improvisation and ability to easily adapt to include steps from other 8-count and 6-count Swing styles. It has been danced to most every conceivable form of jazz music, as well as to the blues, and any other type of music with a blues or jazz rhythm.
- Push and Whip are Texas forms of swing dance.
- St. Louis Shag
- Skip jive A British variant, popular inthe 50s and 60s danced to trad jazz.
- West Coast Swing was developed in the 1940s and 1950s as a stylistic variation. Followers stay in a slot, which reduces their ability to move left and right but improves their ability to spin left and right. West Coast Swing is often danced with blues and rock and roll music, as well as to smooth and cool jazz.
Traditionally, "Ballroom Swing" and "Street Swing" styles are distinguished. Ballroom Swing is a part of American style Ballroom dancing. Street Swing and Ballroom Swing are different in appearance. Ballroom Swing is danced in competition and is done strictly in patterns (a series of interlocking moves). Street Swing is danced in many different styles and places with thousands of differences. It is very open to interpretation.
Music
Originally, swing was danced to swing music, which is a kind of jazz. Some of the most well-known swing jazz performers were Count Basie, Woody Herman, and Ella Fitzgerald.
Many dance forms fit their own music. West Coast Swing is usually danced to blues or rock and roll. Country Swing is usually danced to country and western music. Charleston is usually danced to ragtime music.
Most dances fit many kinds of music. For example today, Lindy Hoppers dance to Ragtime, Swing, Bop, Blues, Rhythm and Blues, Rock and Roll, Disco, and Hip Hop. West Coast Swing dancers may dance to virtually any 4/4 music that is not too fast.
Swing music had a revival in the late 1990s thanks to musician Brian Setzer, Big Bad Voodoo Daddy, the movie Swing Kids, and a number of other bands.
Category:Swing dances
Lindy HopLindy Hop is a street jazz dance that evolved in Harlem, Manhattan, New York in the late 1920s and early 1930s that emerged with swing jazz.
Lindy Hop is a fusion of many dances from all over the United States from the early 1900s, but is mainly based on the Charleston. Lindy Hop combines the movements and improvization of African dances with the formal 8-count structure of European dances. African dances usually separate the men from the women. Europeans invented partner dancing.
Social and performance dancing
Lindy Hop is a partner jazz dance popular in the United States and much of Europe (Including Russia, Ukraine, Hungary and other Eastern European countries). Large communities of dancers also exist in Australia, New Zealand, Japan, Korea, Singapore and Buenos Aires, Argentina. Practitioners congregate to dance socially, in performances, or in competitions.
While Lindy Hop is mainly practiced a partnered dance, it does contain many elements of jazz dance and early african-american dance forms such as jazz dance, tap, minstrel dancing, cakewalk, Black Bottom, Rumba and recently hip hop. Certain dancers would choose to include many elements of jazz dance in their partnered dancing sequences.
Lindy Hop can also be danced without a partner, and many Lindy Hop routines are in fact concert dance choreographies, such as the following jazz era originals: Shim Sham, Big Apple, Tranky Doo, and the more recent Jitterbug Stroll. Other forms of solo Lindy Hop usually take the form of improvisation based on Charleston moves, Traditional Jazz moves (such as boogie steps, shorty george, Suzie Q, etc.) and contemporary jazz and modern dance movement. Solo Lindy Hop is sometimes executed as part of a partner dance when one or both of the partner initiates a "breakaway" causing the partners to separate their connection and dance solo with each other using (if at all) visual lead and follow cues.
See links to various lindy hop jazz routines at the bottom of the article.
Social dancing
The purpose of social dancing is to have fun, socialize, and celebrate a shared love of movement and music. It is traditional for the man to ask the woman to dance, but at contemporary swing dances, both men and women ask each other. As with other partnered dances, most partnerships are with a male lead and a female follower, but other combinations do occur.
More important than moves is connection (in simple form, any point of body contact between partners is connection), which allows both partners to communicate. Social dancers are generally concerned about connection, whether their partner "feels good," rather than whether their partner is capable of doing a number of moves in succession. This connection also allows both partners to style with each other and the music, resulting in a totally improvised, musical dance.
Dancers at social events usually have a wide range of skill levels, so cooperating with one's partner matters as much as dancing skill. Dancing with a new partner is a study in flexibility and calibration. What can the new partner do? What are his or her limitations? What does he or she like to do? Dancing with a regular partner is an opportunity to play and practice difficult moves, such as aerials (which are dangerous without regular practice).
Most social lindy hoppers dress casually, preferring loose pants and breathable materials. However, some dancers do dress in vintage clothing from the 1920s, 1930s, or 1940s, and some dancers dress in their best formal clothing (though that is a rarity among younger crowds).
Lindy Hop is typically done at social events, bars, clubs, dance studios, college student organizations, or private parties. Many venues also provide lessons, either as a drop-in before the scheduled dance, private instruction, or class or progressive lessons. And occasionally, one will find workshops.
Sometimes clubs and events have jam circles, where one person or a small group of people dance, alternating partners. Others join by "stealing" in. Jam circles often recognize birthdays and special occasions. When an especially fast-tempo song is played a jam circle will occasionally form in which various couples take turns showing off their skills.
Social events have DJs or live jazz or blues bands. It is possible to dance Lindy Hop to even rock music, so DJs play a spectrum of music from the 1920s to today, tending to concentrate on big band music from the 1930s and 1940s. Bands can play a wide variety of music from big band standards to blues to original compositions.
Performance dancing
Lindy Hop is fun to watch. Choreographed routines are performed at clubs, at private parties, on stage, and in movies. Performances are opportunities for dancers to show off their best moves and aerials.
Performance groups that had an impact on the development of Lindy Hop include the following:
- Whitey's Lindy Hoppers, New York City, founded in 1935
- Big Apple Lindy Hoppers, New York City
- Rhythm Hot Shots, from Sweden, founded in 1985, now called the Harlem Hot Shots. The Rhythm Hot Shots have been a major driving force in the worldwide revival of Lindy Hop from the 1980s onward.
- Loose Change, San Francisco, California. Blends Lindy Hop with hip hop and African-modern dance. Their influence on the future of Lindy Hop and its ties with hip hop remains to be seen.
A professional Lindy Hop performance group is not different from other dance companies from different genres (Such as a jazz dance company). Some difference do exist due the nature of Lindy Hop as a social dance, its roots as a self-learned street dance, and the comparative lack of experts, schools, resources, and public demand that other genres may have (such as ballet or modern dance). Other dance forms also enjoy the advantage of having a tradition of starting a dance training at an early age.
Essentially the main reason to be in a performance group is the love of dancing. The more a dancer loves to dance, the more they want to push on and achieve greater things.
Reasons to form or be in such a company vary, but usually belong to one or more of the following categories:
- Artistic reasons (pursuing the art of dancing, and the continuous artistic expression through jazz dance and Lindy Hop),
- Commercial reasons (to perform at paid "gigs" - essentially continuing the tradition of Vaudeville and supplying entertainment for those who pay for it),
- Competition (to compete with a selected team, set choreographies and test one's skills versus other dance teams)
- Practice (to enhance the dancers of the participating dancers, work on new materials or engage in dance movement that is not possible on the social dance floor - such as aerials or other moves that require pre-arranged agreement between the dancers/partners)
Competition dancing
The two main forms of competition are Jack and Jill competitions and Showcase competitions.
Jack and Jill: Jack and Jill competitions imitate social dancing. Dancers perform up to five different songs. The songs are often one to two minute clips with different speeds and textures. The songs are usually not announced ahead of time. Sometimes, dancers will have the same partner for all songs, and other times, dancers have a different partner for each dance. Sometimes dancers choose their partners, and other times, dancers are paired randomly. Some clubs hold Jack and Jill competitions about once a month.
Showcase: Showcase competitions are for choreographed performance routines. Showcase competitions are usually done at regional and national events. Showcases can be for pairs or groups.
Some of the major Lindy Hop competitions, many of which have both Jack and Jill and Showcase divisions, include the following:
- Ultimate Lindy Hop Show Down
- American Lindy Hop Championship
- Australian Jitterbug Championships
- Canadian Swing Championships
- Harvest Moon Ball
- National Jitterbug Championship
- World Jitterbug Championship
History
Lindy Hop is a fusion of American dances that emerged in the late 1920s, and continues evolving today.
In the 1920s and 1930s, ballrooms across the United States sponsored dance contests, where dancers invented, tried, and competed with new moves. In the 1910s and 1920s, at the circuit of Vaudeville halls across the U.S., professionals honed their skills in tap and other dances of the era.
In the 1910s through the 1950s, Harlem was an entertainment district, where people from all walks of life, all races, and all classes came together. The Cotton Club featured black performers and catered to the rich, glamorous, and white clientele, while the Savoy Ballroom catered to average, working, and mostly black clientele. So of course, Swing jazz and Lindy Hop evolved at the Savoy.
Electric lighting and air conditioning made evening social entertainment available to everybody. This was a new era of dance halls and live music.
Pre-Lindy era (1920 to 1927)
Lindy Hop primarily evolved out of Breakaway, with influences from Charleston, tap, and many other dances. This era ended when the Black Bottom dance craze took hold of the country in 1926, sweeping away interest in the Charleston.
Tap Dance (Jazz) (1900 to 1955)
Tap dance was invented in the mid-1800s, possibly in New York City, where Irish, Scottish, African immigrants competed with each other in dance contests. The fusion of foot dances from many sources created tap.
From 1900 to 1955, tap dance was the dominant performance dance form in the U.S. The Vaudeville and T.O.B.A. (black Vaudeville) circuits hired many professional tap dancers. There were skilled tap dancers in every city in the U.S. Vaudeville performers toured in circuits, performing in cities across the U.S. Travelling performers were exposed to dances all over the country, which laid the ground work for the fusion called Lindy Hop.
In the early 1900s, tap dance was called jazz dance. Flying swing outs and flying circles are Lindy Hop moves with tap footwork.
Charleston (1922 to 1926)
The Charleston was invented by 1903, but it may have developed from a much older dance called the Branle. The Charleston was danced to ragtime jazz. Females who danced the Charleston were called flappers.
The Charleston was featured in Harlem stage productions in 1913. On Broadway in 1922, the Charleston was featured in the Zeigfeld Follies. The next year, both the play Liza and the Aubrey Lyles show Runnin' Wild featured the Charleston on Broadway. A nationwide craze for the Charleston began in 1922 as a result of these shows.
External link: [http://www.streetswing.com/histmain/z3chrlst.htm http://www.streetswing.com/histmain/z3chrlst.htm]
Black Bottom (1926 to 1927)
Black Bottom was a dance from New Orleans, Louisiana around 1900. In 1924, the stage play Dinah introduced the Black Bottom to the New York public. In 1926 and 1927, the George White Scandals featured Black Bottom at the Apollo Theatre. Black Bottom swept the country in 1926 and 1927 and replaced Charleston as the most popular social dance.
Other dances
The influences of other dances can be seen through the specific moves that remain in Lindy Hop, like shag basics, the Texas Tommy, and the Apache swing out.
Apache: This dance was danced in closed position, except for the move where the follow moved out in an apache spin.
Texas Tommy: This dance is remembered for the Texas Tommy spin.
Tap Charleston (1925 to 1926): Leonard Reed was said to have invented Tap Charleston after he learned tap in 1925. Tap Charleston was the Charleston with breaks into open position to do tap steps. The connection between Breakaway and Tap Charleston is murky. It could be the same thing attributed to Leonard Reed or something else.
Other: Other dances that influenced Lindy Hop include Collegiate Shag.
Classic era (1927 to 1935)
This era was inspired by ragtime jazz. Lindy Hop evolved from the combination of Breakaway and Charleston. Dancers, like George Snowden (Shorty George) opened up Breakaway and Charleston. The partners moved closer together and further apart while spinning to make the moves more interesting, eventually creating the swing out.
According to legend, George Snowden renamed the dance from Breakaway to Lindy Hop at dance contests at the Harvest Moon Ball in Central Park in September 1927 or at the Savoy Ballroom in 1928 (the story varies). Lindy Hop was named in honor of Charles Lindbergh's transatlantic airplane flight in 1927. In slang of the late 1800s and early 1900s, a lindy was a young woman; it was also the popular nickname of aviator Lindbergh, often called "Lucky Lindy" (although he personally disliked the nickname).
Many dance events at the turn of the century were called "lindy dances" or "lindy hops", so the transatlantic flight may not have been the origin of the name, but it did sanction and popularized the name. It gave a white identity to a black dance, making it possible for the whole country to enjoy.
Lindy Hop dancers were originally banned from the Savoy Ballroom, because they took more space than other dancers and often kicked other dancers. The "Cat's Corner" began when Lindy Hop dancers gathered in one corner of the Savoy ballroom to dance. As Lindy Hop became popular, the Savoy relented and welcomed Lindy Hop dancers. (Reference: Frankie Manning's Northern California Lindy Society workshop interview, January 2002)
The most notable dance troupe of the classic era was the Shorty George Trio, which inspired many other dancers and troupes to take up Lindy Hop.
Prohibition ended in 1933, and Cab Calloway moved from the Savoy to the Cotton Club in 1934. These and other events sparked a change in generation of musicians and dancers.
Aerials era (1935 to 1941)
Lindy Hop exploded in 1935 with a new generation of musicians and dancers. Swing music became popular nationwide, thanks to the Benny Goodman Orchestra. The Savoy was the hottest dance club in New York City, which meant it was the hottest club in the world. Chick Webb was the leader of the house band at the Savoy. His vocalist was the teenage Ella Fitzgerald. Frankie Manning turned 21, invented aerials in Lindy Hop, and challenged George Snowden as the leading dancer at the Savoy.
Whitey's Lindy Hoppers formed before aerials. Whitey was the head bouncer at the Savoy, and he arranged for dancers to perform at parties. George Snowden had been away, performing professionally, so a new generation of dancers became active. A rivalry and a challenge sprang up over whether Shorty George and his crowd or Frankie Manning and his crowd were the better dancers.
Shorty George and his partner Big Bea often finished dances with a move where Big Bea picked Shorty George up on her back and carried him off the floor while he kicked his feet. Frankie Manning wanted to outdo Shorty George, so he convinced his partner Freda Washington to do a back-to-back flip. This became the first Lindy Hop aerial and won the contest. When Shorty George asked Frankie Manning where he got the move, he said, "From you." Frankie Manning then had to explain.
The most notable dance troupe of the aerials era was Whitey's Lindy Maniacs, also known as Whitey's Lindy Hoppers, the Congeroos, and other names, which was led by Hubert White and starred Frankie Manning and Norma Miller, among others. The troupe performed around the world from 1935 to 1941. They performed at private parties and on Broadway. They danced in many movies, including Hellzapoppin' and the Marx Brothers' A Day at the Races. They also performed for the King and Queen of the United Kingdom.
This era ended when World War II began and the country became preoccupied with other things.
World War II era (1941 to 1945)
During the war, many top performers were drafted into military service. Lindy Hop became a wartime recreation. It was imported (in a bastardised form) into Europe by American soldiers.
In 1943, Life magazine featured Lindy Hop on its cover and called it America's National Folk Dance.
Post-war era (1945 to 1984)
After the war, music changed. Jazz musicians wanted patrons to pay attention and listen, not to dance. Jazz became more complex and not danceable.
Lindy Hop spawned both East Coast Swing and West Coast Swing and influenced many other dances, like Carolina Shag, which thrived.
Lindy Hop appeared in movies throughout the 1940s. Frankie Manning eventually could not keep steady work as a dancer after the war, so he joined the post office. Lindy Hop appeared infrequently in movies ever since then.
During this era, East Coast Swing was adopted as a part of the ballroom repertoire. It was codified and simplified. It adopted the ballroom concept of frame.
Music changed from swing to rock. One particular factor was economics. It was much cheaper for music venues and clubs to employ music groups of only three to six people, as opposed to the larger big band orchestras that Lindy Hop dancers typically enjoyed. Television also gave people more distractions than ever before. Lindy Hop slowly faded away to memory.
Revival era (1984 to present)
Lindy Hop never really died out, as it continued to be occasionally danced by older couples who had learned the dance as teenagers in the 1940s and by a few small groups of new young dancers. But it was no longer a well-known fad.
Lindy Hop revived when a group of Swedish dancers (later The Rhythm Hot Shots) travelled to Harlem New York City seeking any original Lindy Hoppers who were still living. They had seen the old movies with Lindy Hop and wanted to know more from the original dancers. They found Al Minns, one of Whitey's Lindy Hoppers.
Californian dancers Steven Mitchell and Erin Stevens also visited Frankie Manning in 1984 on a similar mission. These two groups, American and Swedish, sought out the historical underpinnings of the Lindy Hop dance through independent means. They originally had no connection to each other, and to this day it is unknown as to why isolated populations sought to revive Lindy Hop dance at approximately the same time.
Within a year, these dancers sparked a Lindy Hop revival that continues today. Al Minns, Frankie Manning and Norma Miller came out of retirement and toured the world teaching Lindy Hop.
There was a globalization of Lindy Hop as well as swing music and culture. Each major city and Lindy Hop/swing community has the basic 8-count step, although they each display their own local accent or flavor. Modern globalization of Lindy Hop was assisted by the concept of the Lindy Exchange.
Other events that sparked the revival include the following:
- The Rhythm Hot Shots from Sweden performed all over the world.
- The 1993 movie Swing Kids, about Lindy Hop dancers in pre-war Germany, was a hit.
- The 1996 movie Swingers has a climactic swing dance scene.
- The 1998 Gap commercial "Khaki Swing" caused a boom that lasted for several years in the U.S.
The major styles of Lindy Hop danced today are Savoy-Style Lindy Hop, which keeps the original New York City style, and Hollywood-Style Lindy Hop, which resembles West Coast Swing.
Today, Some Lindy Hop dancers continue evolving the dance with influences from Hip Hop (styling and music), West Coast Swing and Salsa while others explore Jazz, Tap and other Traditional Jazz and Afro-American dances as resources to expand and enrich Lindy Hop.
Dance movement, moves and patterns
Lindy Hop is based on jazz dance and tap dance body movement. Modern Lindy Hop sometimes incoperates movement principles from other schools of dance such as hip hop.
Lindy Hop, being a jazz dance, does not have a single "basic move" as compared to other partner dance forms. It relies on the artistic expression of the dancers involved, whether dancing in a pair, solo or as a part of a routine. There are, however, a number of popular patterns. Some of them are important because they embed key principles of Lindy Hop motion and offer a skeleton on which a dance can be built.
The two key dance patterns of Lindy Hop are the swingout, an 8-count move that usually starts and ends in open position, and the Charleston, an 8-count move that usually starts and ends in closed position. Both moves have many variations. Lindy Hop dancers often use these two dance patterns as a skeleton on which to create their dance choreography - an instant choreography improvised by the dancers on the dance floor at the time of social dancing. Most social Lindy Hop dances are built around variations of the swingout pattern with expansions many improvisational moves.
Lindy Hop uses 8-count steps extensively, reflecting the structure of swing music, as well as other counts. The traditional movement is clockwise, which is the opposite of ballroom.
See Lindy Hop moves for a list of Lindy Hop dance moves.
Musicality
Musicality is the skill allowing the dancer to create and execute choreography (either prepared in advance or improvised on the spot on the dance floor) to match - and, more significately, represent the music - including the melody and the rhythm.
A perfect musicality would mean that the dances create pure dance movements that contains the entire elements of the music, or those elements that the dancers choose to accentrate in order to create their dance or artistic statement. In a perfect world, a viewer shoule be able to "see" the song in the dancers' movements, so even without music, the song would still be recongnizable through the dance itself. In jazz music, there are many elements in a song that could trigger musicality. It can be the melody, or the counter-melody, the phrases and breaks in the melody, the beat, the back beat, the drums, the bass, the keys of the piano or any other musical or rhytmic element of the song.
The development of musicality progresses from new dancers who focus on moves independent of the music to advanced dancers focusing on musicality which fits the moves to the music. Musicality requires knowing the moves cold and knowing the structure of the music.
Partnering technique
Partnering technique is the element of Lindy Hop which controls the communication of the dancers engaged in the dance - the dance partners. Partnering technique allows both dancers to lead and follow dance movement, move together, and/or communicate dance ideas to each other either in an open conversation or a call and response structure.
See also: Connection
Music
Music to dance to
Lindy Hop, as a Jazz dance, is most suited to the music from which it originated - Jazz with a swinging rhythm - including swing jazz, Dixieland, traditional jazz, Hot Jazz and most rhytmic forms of jazz from the jazz era (1920s to 1940s). After the end of the jazz era, Lindy Hop continued to be danced to the various musical forms that evolved, as long as they had a clear swinging rhythm. Such forms include blues, rhythm and blues, jump blues, jazz, groove, and soul.
Nowdays, Lindy Hop is danced to a vareity of music, and most times, the choice of musical style depends on the venue and dance scene. While some clubs prefer dancing to swing jazz music, some clubs play other types of music, or modern music.
The topic of which music is Lindy Hop's music is hotly debated in the swing community, and it is the cause of much artistic discussion as to the definition of the dance.
In an interview at a Northern California Lindy Society workshop, Frankie Manning has said the following: "Lindy is most interesting when danced to live bands. Traditionally, Lindy Hop is danced to swing jazz, but dancers also enjoy ragtime jazz, bebop, blues, rhythm and blues, rockabilly, and rock and roll, and rap, that has a moderate speed. With live bands, dancers cannot predict the songs so easily, so they must pay closer attention which helps them improvize. Originally, musicians would imitate the dancers." (Reference: Frankie Manning, Northern California Lindy Society workshop interview, 2002)
Musical styling
The artistic Development of the dance is well connected and shaped to the type of music used for the pursuit of dancing. While there is no definite "black and white" division between various schools of Lindy Hop and their music, we can define three main groups of Lindy Hop music and musical styling:
- Schools of Lindy Hop which pursue swing jazz and authentic jazz music generally display a style of dancing borrowing and expanding the original Lindy Hop of the 1930s, complete with high energy, bouncey steps, aerial steps, Charleston steps, tap steps, complex rhythmic patterns, and jazz movement.
- Schools of Lindy Hop which pursue more bluesy or modern jazz music display a style which is slower, smoother, "groovier", borrows movement from hip hop or Blues, fluid and relaxed body movements and isolations, and usage of simpler rhythmic patterns.
- Lindy Hop styles based on other types of music such as rock and roll, rockabilly or jump blues are generally a minority niche and less of an influence on the development of the dance form.
Scenes
Lindy Hop tends to be concentrated in small local scenes, although regional, national, and international dance events bring dancers from many of these scenes together. Many Internet forums have emerged in these dance scenes. These message boards serve to provide information to dancers about Lindy Hop and dance events in the geographic area. Yehoodi has become the largest of these and now caters to a national audience, although many smaller local forums (such as Swingmonkey) also exist.
The small village of Herräng in Sweden (north of Stockholm) has unofficially become the international Mecca of Lindy Hop due to the annual Herräng Dance Camp.
See also
Choreographed Lindy Hop / Jazz Routines
These routines are part of the lindy hop jazz dance vocabulary:
- Shim sham (dance)
- Jitterbug Stroll
- Lindy Chorus
- Madison (dance)
- Big Apple (dance)
- Tranky Doo
Related Swing Dances
These dances are either practiced together with Lindy Hop or strongly related or derived from Lindy Hop:
- Swing (dance)
- West Coast Swing
- East Coast Swing
- Jitterbug
- Charleston (dance)
- Tap (dance)
- Jazz dance
- Balboa (dance)
- Shag (dance)
- Collegiate Shag
- Blues (dance move)
- Swing walk
- Swing rueda (dance)
- Jive (dance)
- Modern Jive
Lindy Hop Culture
- Lindy Exchange
- Yehoodi
- Swingmonkey
External links
- [http://www.streetswing.com/homepage.htm Streetswing.com Dance History Archives (Lindy Hop)]
- [http://www.lindycircle.com/history/lindy_hop/ Lindy Hop History]
- [http://dancing.org/lindy-what-is.html What Is Lindy Hop?]
- [http://www.herrang.com/ Herrang Dance Camp in Sweden]
- [http://www.it-must-schwing.de/index_en.php it-must-schwing.de] - German based Lindy Hop page
- [http://dancers.org dancers.org - Find other Lindy Hoppers]
-
Swing (genre):This article is about a period of jazz music history. For the rhythmic effect, see swung note.
Swing music, also known as swing jazz, is a form of jazz music that solidified as a distinctive style during the 1930s in the United States. Swing is distinguished primarily by a strong rhythm section, usually consisting of double bass and drums, medium to fast tempo, and the distinctive "swing" that's common to many forms of jazz.
History
Though swing evolved out of the lively experimentation that began in New Orleans and that developed further (and in varying forms) in Kansas City and New York City, the swing style diverged slightly from the former in ways that distinguished it as a form in its own right.
Swing bands tended to be bigger, and more crowded than other jazz bands, necessitating a slightly higher level of organization than was then the norm. This resulted in band leaders putting more energy into developing arrangements capable of cutting down on the chaos that would result from as many as 12 or 16 musicians spontaneously improvising.
Instead, a typical song played in the swing style would feature a strong, anchoring rhythm section in support of more loosely tied wind, brass, string, and vocal sections. The level of improvisation that the audience might expect at any one time varied depending on the arrangement, the band, the song, and the band-leader. The most common style consisted of having one soloist at a time taking center stage, and take up an improvised routine, with her/his bandmates playing support. As a song progressed, multiple soloists might be expected to pick up the baton, and then pass it on. That said, it was far from uncommon to have two or three band members improvising at any one time.
As jazz in general, and swing jazz in particular, began to grow in popularity throughout the States, a number of changes occurred in the culture that surrounded the music. For one, the introduction of swing in the early 1930s, with its strong rhythms, loud tunes, and "swinging" style led to an explosion of creative dance in the black community. The various rowdy, energetic, creative, and improvisational dances that came into effect during that time came to be known, collectively, as swing dance.
The second change that occurred as swing music increased in popularity outside the black community, was, to some extent, an increasing pressure on musicians and band leaders to soften (some would say dumb-down) the music to cater to a more staid and conservative, Anglo-American audience.
Similar conflicts arose when Swing spread to other countries. In Germany, it conflicted with Nazi ideology (see Swing Kids) and was declared officially forbidden by the Nazi regime. And, while jazz music was initially embraced during the early years of the Soviet Union, it was soon forbidden as a result of being deemed politically unacceptable. After a long hiatus, though, jazz music was eventually readmitted to Soviet audiences.
In later decades, the popular, sterilized, mass-market form of swing music would often, and unfortunately, be the first taste that younger generations might be exposed to, which often led to it begin labeled something akin to 'old fogey big-band dance music'.
Ironically, early swing musicians were often in fact annoyed by the young people who would throw a room into chaos by seemingly tossing each other across the floor at random -- thus somewhat nullifying the idea that swing was developed as dance music, when in fact, swing dancing evolved among young aficionados to complement the energy of the music.
Samples
- Download sample of "Begin the Beguine" by Artie Shaw, a surprise hit that turned the clarinetist into a swing star
- Download sample of "Jumpin' at the Woodside" by Count Basie & His Orchestra, a popular swing song by a jazz legend
- Download sample of "And the Angels Sing" by Benny Goodman and Martha Tilton, a legendary swing recording that helped keep Goodman's career afloat as band members departed
Band leaders
Duke Ellington, Count Basie, Fletcher Henderson, Jean Goldkette, Benny Goodman, Artie Shaw, Gene Krupa, Glenn Miller, Chick Webb
Clarinet
Benny Goodman, Artie Shaw
Trumpet
Louis Armstrong, Roy Eldridge, Harry Edison,...
Piano
Count Basie, Earl Hines, Art Tatum, Teddy Wilson, Jelly Roll Morton
See also
- List of musical genres
- Swing Revival
- Swing (dance)
- Big band
Category:American styles of music
Category:Jazz genres
Category:Swing
ja:スウィング・ジャズ
Jive
- Jive is Swing music, or a type of quick-paced and energetic jazz. Cow Cow Davenport recorded a song called State Street Jive in 1928. Mitchell Parish defined it as "syncopated music played noisily, and (usually) fast, with great emphasis on rhythm."
- Jive Records is a record label
- Jive is a dance.
- Modern Jive dance.
- Hand Jive
- The jive dialect of American English.
- Jive filter, a simple computer program that produces a comic parody of jive.
- JIVE Magazine, a music magazine
- JIVE, Joint Institute for VLBI in Europe
Swing (Java)Swing is a GUI toolkit for Java. Swing is one part of the Java Foundation Classes (JFC). Swing includes graphical user interface (GUI) widgets such as text boxes, buttons, split-panes, and tables.
Swing widgets provide much fancier screen displays than the earlier Abstract Windowing Toolkit. Since they are written in pure Java, they run the same on all platforms, unlike the AWT. They support pluggable look and feel — not by using the native platform's facilities but by roughly emulating them. This means you can get any supported look and feel on any platform. The disadvantage of lightweight components is slower execution. The advantage is uniform behaviour on all platforms.
Example
package helloworld;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;
public final class HelloWorld
Image:hello-world.png
History
The Internet Foundation Classes (IFC) were a graphics library for the Java programming language originally developed by Netscape Communications Corporation and first released on December 16 1996. Swing has been included in the Java Standard Edition since release 1.2.
On April 2 1996, Sun Microsystems and Netscape Communications Corporation announced their intention to combine IFC with other technologies to form the Java Foundation Classes. In addition to the components originally provided by IFC, Swing introduced a mechanism that allowed the look and feel of every component in an application to be altered without making substantial changes to the application code. The introduction of support for a pluggable look and feel allowed Swing components to emulate the appearance of native components while still retaining the benefits of platform independence.
Relationship to AWT
Since early versions of Java, a portion of the Abstract Windowing Toolkit has provided platform independent APIs for user interface components. In AWT, each component is rendered and controlled by a native peer component specific to the underlying Windowing system.
By contrast, Swing components are often described as lightweight because they do not require allocation of native resources in the operating system's windowing toolkit.
Much of the Swing API is generally a complementary extension of the AWT rather than a direct replacement. The core rendering functionality used by Swing to draw its lightweight components is provided by Java2D, a part of AWT. However, the use of lightweight and heavyweight components in the same application is generally discouraged due to Z-order incompatibilities.
Relationship to SWT
The Standard Widget Toolkit (SWT) is a competing toolkit originally developed by IBM and now maintained by the Eclipse Foundation. SWT's implementation has more in common with the heavyweight components of AWT. This confers benefits such as more accurate fidelity with the underlying native windowing toolkit, at the cost of an increased exposure to the native resources in the programming model.
The advent of SWT has given rise to a great deal of division among Java desktop developers with many strongly favouring either SWT or Swing. A renewed focus on Swing look and feel fidelity with the native windowing toolkit in the approaching 6.0 release of Java is probably a direct result of this.
See also
- Project Looking Glass
- wxWidgets
- Event Dispatch Thread
- SwingWorker
References
- Matthew Robinson: Swing, Manning, ISBN 1-930110-88-X
- David M. Geary: Graphic Java 2, Volume 2: Swing, Prentice Hall, ISBN 0-13-079667-0
- James Elliott, Robert Eckstein, Marc Loy, David Wood, Brian Cole: Java Swing, O'Reilly, ISBN 0-596-00408-7
- Kathy Walrath, Mary Campione, Alison Huml, Sharon Zakhour: The JFC Swing Tutorial: A Guide to Constructing GUIs, Addison-Wesley Professional, ISBN 0-201-91467-0
- Joshua Marinacci, Chris Adamson: Swing Hacks, O'Reilly, ISBN 0-596-00907-0
External links
- [http://java.sun.com/docs/books/tutorial/uiswing/index.html The Swing Tutorial]
- [http://java.sun.com/products/jfc/tsc/index.html The Swing Connection]
- [http://community.java.net/javadesktop/ JavaDesktop]
- [http://www.javootoo.com/ Java Look And Feel]
- [http://www.clientjava.com/ ClientJava.com]
- Presentation "[http://javalobby.org/eps/galbraith-swing-1/ Professional Swing: Creating Polished Apps, Part 1/2]" by Ben Galbraith
- Presentation "[http://www.javalobby.org/eps/galbraith-swing-2/ Professional Swing: Creating Polished Apps, Part 2/2]" by Ben Galbraith
- Article "[http://javalobby.org/articles/swing_slow/index.jsp What does "Swing is Slow" mean?]" by Sermet Yucel
- Article "[http://www.onjava.com/pub/a/onjava/2004/02/18/desktop.html Java Desktop Development]" by Andrei Cioroianu
- Article "[http://www.onjava.com/pub/a/onjava/2004/03/10/blackmamba.html BlackMamba: A Swing Case Study]" by Ashwin Jayaprakash
- [http://www.javaworld.com/channel_content/jw-awt-index.shtml Articles on AWT/Swing]
- [http://citeseer.ist.psu.edu/cis?q=Java+Swing Citations from CiteSeer]
- [http://www.swingwiki.org Swing wiki] containing best practices, tips, tricks and howto tutorials
Category:Java platform
Category:Widget toolkits
ja:Swing
Java programming languageJava is an object-oriented programming language developed initially by James Gosling and colleagues at Sun Microsystems. Initially called Oak (named after the oak trees outside Gosling's office), it was intended to replace C++, although the feature set better resembles that of Objective-C. Sun Microsystems currently maintains and updates Java regularly.
Specifications of the Java language, the Java Virtual Machine (JVM) and the Java API are community-maintained through the Sun-managed Java Community Process. Java was developed in 1991 by Gosling and other Sun engineers, as part of the Green Project. After first being made public in 1994, it achieved prominence following the announcement at 1995's SunWorld that Netscape would be including support for it in their Navigator browser.
Java is often confused with JavaScript, with which it shares only a similar C-like syntax.
History
syntax
Early history
The Java platform and language began as an internal project at Sun Microsystems in December of 1990. Patrick Naughton, an engineer at Sun, had become increasingly frustrated with the state of Sun's C++ and C APIs (application programming interfaces) and tools. While considering moving to NeXT, Patrick was offered a chance to work on new technology and thus the Stealth Project was started.
The Stealth Project was soon renamed to the Green Project with James Gosling and Mike Sheridan joining Patrick Naughton. They, together with some other engineers, began work in a small office on Sand Hill Road in Menlo Park, California to develop a new technology, aimed at programming next generation smart appliances such as microwaves, which Sun expected to be a big application of future technology. The team originally considered C++ as the language to use, but many of them as well as Sun's chief scientist, Bill Joy, found C++ and the available APIs problematic for several reasons.
Their platform was an embedded platform and had limited resources. Many members found that C++ was too complicated and that developers often misused it. They found C++'s lack of garbage collection a problem, as well as its lack of portable facilities for security, distributed programming, and threading. Finally, they wanted a platform that could be easily ported to all types of devices.
According to the available accounts, Bill Joy had ideas of a new language combining the best of Mesa and C. In a paper called Further, he proposed to Sun that its engineers should produce an object-oriented environment based on C++. Initially, Gosling attempted to modify and extend C++, which he referred to as C++ ++ -- , but soon abandoned that in favor of creating an entirely new language, which he called Oak after the tree that stood just outside his office.
Like many stealth projects working on new technology, the team worked long hours and by the summer of 1992, they were able to demonstrate portions of the new platform including the Green OS, the Oak language, the libraries, and the hardware. Their first attempt focused on building a PDA-like device named Star7 having a highly graphical interface and a smart agent called "Duke" to assist the user. It was demonstrated on September 3, 1992.
In November of that year, the Green Project was spun off to become FirstPerson, Inc, a wholly owned subsidiary of Sun Microsystems, and the team relocated to Palo Alto. The FirstPerson team was interested in building highly interactive devices, and when Time Warner issued an RFP for a set-top box, FirstPerson changed their target and responded with a proposal for a set-top box platform. However, the cable industry felt that their platform gave too much control to the user and FirstPerson lost their bid to SGI. An additional deal with The 3DO Company for a set-top box also failed to materialize. Unable to generate any interest within the TV industry for their platform, the company was rolled back into Sun.
Java meets the Internet
In June and July of 1994, after a three-day brainstorming session with John Gage, James Gosling, Bill Joy, Patrick Naughton, Wayne Rosing, and Eric Schmidt, the team re-targeted its efforts yet again, this time to use the technology for the Web. They felt that with the advent of the Mosaic browser, the Internet was on its way to evolving into the same highly interactive vision that they had had for the cable TV network. As a prototype, Patrick Naughton wrote a small web browser, WebRunner, later renamed HotJava.
It was also in 1994 that Oak was renamed Java. A trademark search revealed that the name Oak had already been taken by a video adaptor card manufacturer, so the team searched for a new name. The name Java was coined at a local coffee shop frequented by some of the members. It is not clear whether the name is an acronym or not. Most likely it is not, although some accounts claim that it stands for the names of James Gosling, Arthur Van Hoff, and Andy Bechtolsheim, or Just Another Vague Acronym. Lending credence to the idea that Java owes its name to the products sold at the coffee shop is the fact that the first 4 bytes of any class file spells out the words CAFE BABE if read in hexadecimal.
In October of 1994, HotJava and the Java platform was demonstrated for Sun executives. Java 1.0a was made available for download in 1994, but the first public release of Java and the HotJava web browser came on May 23, 1995, at the SunWorld conference. The announcement was made by John Gage, the Director of Science for Sun Microsystems. His announcement was accompanied by a surprise announcement by Marc Andreessen, Executive Vice President of Netscape, that Netscape would be including Java support in its browsers. In January of 1996, the JavaSoft business group was formed by Sun Microsystems to develop the technology.
Recent history
After several years of popularity, Java's place in the browser has steadily eroded. Its usage for simple interactive animations has been almost completely supplanted by Macromedia Flash, and as of 2005 it tends only to be used for more complex applications like Yahoo! Games. It has also suffered from opposition by Microsoft, which no longer plans to ship a Java platform with new versions of Internet Explorer or Windows.
By contrast, on the server-side of the Web, Java is far more popular than ever, with many websites using JavaServer Pages and other Java-based technologies in their front-ends.
On the desktop, stand-alone Java applications remain relatively unusual because of their large overhead. However, with the great advances in computer power in the last decade, along with improvements in VM and compiler quality, several have gained widespread use, including the NetBeans and Eclipse IDEs, Limewire and the Azureus BitTorrent client. Also, Matlab's latest versions (at least from 6.0 and onwards) heavily depend on Java for rendering their user interface and part of their calculation functionalities.
Version history
user interface by clicking a desktop icon or a link on a website.]]
The Java language has undergone several changes since JDK 1.0 as well as numerous additions of packages to the standard library:
- 1.0 (1996) — Initial release.
- 1.1 (1997) — Major additions, most notably the extensive retooling of the event model, as well as the introduction of inner classes.
- 1.2 (December 4, 1998) — Codename Playground. Major changes were made to the API (reflection was introduced, the Swing graphical API was integrated into the core classes etc) and to Sun's JVM (which was equipped with a JIT compiler). These had little impact on the language itself, however: the only change to the Java language was the addition of the keyword strictfp. This and subsequent releases were rebranded "Java 2", but this had no effect on any software version numbers.
- 1.3 (May 8, 2000) — Codename Kestrel. The most notable changes were: ([http://java.sun.com/j2se/1.3/docs/relnotes/features.html Full list of changes])
- HotSpot JVM introduced
- RMI was changed to be based on CORBA
- 1.4 (February 13, 2002) — Codename Merlin. As of 2004, the most widely used version. Changes included: ([http://java.sun.com/j2se/1.4.2/docs/relnotes/features.html Full list of changes])
- assert keyword.
- regular expressions modeled after Perl regular expressions
- exception chaining allows an exception to encapsulate original lower-level exception
- unblocking NIO (New IO)
- logging API
- image IO API for reading and writing images in formats like JPEG and PNG
- integrated XML parser and XSLT processor
- integrated security and cryptography extensions (JCE, JSSE, JAAS)
- 5.0 (September 29, 2004) — Codename Tiger. (Originally numbered 1.5, which is still used as the internal version number.) Added a number of significant new language features. One in particular, annotations, has been argued to be modeled on Microsoft's C#, which was itself modeled on earlier versions of Java:
- Generics — Provides compile-time type safety for collections and eliminates the need for most typecasts.
- Autoboxing/unboxing — Automatic conversions between primitive types (such as int) and wrapper types (such as Integer).
- Metadata — also called annotations, allows language constructs such as classes and methods to be tagged with additional data, which can then be processed by metadata-aware utilities
- Enumerations — the enum keyword creates a typesafe, ordered list of values (such as Day.MONDAY, Day.TUESDAY, etc.). Previously this could only be achieved by non-typesafe constant integers or manually constructed classes (typesafe enum pattern).
- Enhanced for loop — the for loop syntax is extended with special syntax for iterating over each member of an array or Collection, using a construct of the form:
for (Widget w: box)
This example iterates over box, assigning each of its items in turn to the variable w, which is then printed to standard output.
- 6.0 (currently in development, estimated release date 2006) — Codename [https://mustang.dev.java.net/ Mustang]. An early development version of the Java SDK version 6.0 (internal version number 1.6) was made available in November 2004. New builds including enhancements and bug fixes are released on a regular basis.
- 7.0 — Codename Dolphin. As of 2005, this is in the early planning stages.[http://weblogs.java.net/blog/editors/archives/2004/09/evolving_a_lang.html]
In addition to the language changes, much more dramatic changes have been made to the Java class library over the years, which has grown from a few hundred classes in version 1.0 to over three thousand in Java 5.0. Entire new APIs, such as Swing and Java2D, have been introduced, and many of the original 1.0 classes and methods have been deprecated.
Language characteristics
There were five primary goals in the creation of the Java language:
- It should use the object-oriented programming methodology.
- It should allow the same program to be executed on multiple computer platforms.
- It should contain built-in support for using computer networks.
- It should be designed to execute code from remote sources securely.
- It should be easy to use and borrow the good parts of older Object Oriented languages like C++.
Especially for the latter part, however, extensions are sometimes required, like CORBA or OSGi.
Object orientation
The first characteristic, object orientation ("OO"), refers to a method of programming and language design.
Although there are many interpretations of OO, one primary distinguishing idea is to design software so that the various types of data it manipulates are combined together with their relevant operations. Thus, data and code are combined into entities called objects. An object can be thought of as a self-contained bundle of behavior (code) and state (data). The principle is to separate the things that change from the things that stay the same; often, a change to some data structure requires a corresponding change to the code that operates on that data, or vice versa. This separation into coherent objects provides a more stable foundation for a software system's design. The intent is to make large software projects easier to manage, thus improving quality and reducing the number of failed projects.
Another primary goal of OO programming is to develop more generic objects so that software can become more reusable between projects. It is easy to see why a generic "customer" object, for example, should in theory have roughly the same basic set of behaviors between different software projects, especially when these projects overlap on some fundamental level as they often do in large organizations. In this sense, software objects can hopefully be seen more as pluggable components, helping the software industry "erect" projects largely from existing and well tested pieces, thus leading to a massive reduction in development times. However, the reality of software reusability has met with mixed results, mostly due to two difficulties: the design of truly generic objects remains a poorly-understood art, and a methodology for broad communication of reuse opportunities eludes the science. Some open source communities are now emerging whose primary mission is to help ease the reuse problem by providing authors with ways to disseminate information about generally reusable objects and object libraries.
Platform independence
components is independent of the platform it is running on]]
The second characteristic, platform independence, means that programs written in the Java language must run similarly on diverse hardware. One should be able to write a program once and run it anywhere.
This is achieved by most compilers by compiling the Java language code "halfway" to bytecode—simplified machine instructions specific to the Java platform. The code is then run on a virtual machine (VM), a program written in native code on the host hardware that interprets and executes generic Java bytecode. Further, standardized libraries are provided to allow access to features of the host machines (such as graphics, threading and networking) in unified ways. Note that, although there's an explicit compiling stage, at some point, the Java bytecode is interpreted or converted to native machine instructions by the JIT compiler.
There are also implementations of Java compilers that compile to native object code, such as GCJ, removing the intermediate bytecode stage, but the output of these compilers can only be run on a single architecture.
Sun's license for Java insists that all implementations be "compatible". This resulted in a legal dispute with Microsoft after Sun claimed that the Microsoft implementation did not support the RMI and JNI interfaces and had added platform-specific features of their own. Sun sued and won both damages (some $20 million) and a court order enforcing the terms of the license from Sun. In response, Microsoft no longer ships Java with Windows, and in recent versions of Windows, Internet Explorer cannot support Java applets without a third-party plugin. However, Sun and others have made available Java run-time systems at no cost for those and other versions of Windows.
The first implementations of the language used an interpreted virtual machine to achieve portability. These implementations produced programs that ran more slowly than programs written in C or C++, so the language suffered a reputation for poor performance. More recent JVM implementations produce programs that run significantly faster than before, using multiple techniques.
The first technique is to simply compile directly into native code like a more traditional compiler, skipping bytecodes entirely. This achieves good performance, but at the expense of portability. Another technique, known as just-in-time compilation (JIT), translates the Java bytecodes into native code at the time that the program is run. More sophisticated VMs use dynamic recompilation, in which the VM can analyze the behavior of the running program and selectively recompile and optimize critical parts of the program. These latter two techniques allow the program to take advantage of the speed of native code without losing portability.
Portability is a technically difficult goal to achieve, and Java's success at that goal has been mixed. Although it is indeed possible to write programs for the Java platform that behave consistently across many host platforms, the large number of available platforms with small errors or inconsistencies led some to parody Sun's "Write once, run anywhere" slogan as "Write once, debug everywhere".
Platform-independent Java is, however, very successful with server-side applications, such as web services, servlets, or Enterprise Java Beans - and meanwhile also with Embedded systems based on OSGi, using Embedded Java environments.
Automatic garbage collection
One possible argument against languages such as C++ is the burden of having to perform manual memory management. In C++, memory is allocated by the programmer to create an object, then deallocated to delete the object. If a programmer forgets or is unsure when to deallocate, this can lead to a memory leak, where a program consumes more and more memory without cleaning up after itself. Even worse, if a region of memory is deallocated twice, the program can become unstable and will likely crash.
In Java, this potential problem is avoided by automatic garbage collection. Objects are created and placed at an address on the heap. The program or other objects can reference an object by holding a reference to its address on the heap. When no references to an object remain, the Java garbage collector automatically deletes the object, freeing memory and preventing a memory leak. Memory leaks, however, can still occur if a programmer's code holds a reference to an object that is no longer needed—in other words, they can still occur but at higher conceptual levels. But on the whole, Java's automatic garbage collection makes creation and deletion of objects in Java simpler and potentially safer than in C++.
It should be noted, however, that programmers have access to garbage collection in C++ via smart pointers, such as the ones provided by the Boost library or as specified in the C++ committee's technical report TR1 which will be incorporated into the next C++ ISO standard.
It should also be noted that garbage collection in Java is virtually invisible to the developer. That is, developers may have no notion of when garbage collection will take place as it is not necessarily a function of the code they themselves write.
Interfaces and classes
One thing that Java accommodates is creating an interface which classes can then implement. For example, an interface can be created like this:
public interface Deleteable
This code says that any class that implements the interface Deleteable will have a method named delete(). The exact implementation and function of the method are determined by each class. There are many uses for this concept; for example, the following could be a class:
public class Fred implements Deleteable
Then, in another class, the following is legal code:
public void deleteAll (Deleteable [] list)
because any objects in the array are guaranteed to have the delete() method. The Deleteable array may contain references to Fred objects, and the deleteAll() method needn't differentiate between the Fred objects and other Deleteable objects.
The purpose is to separate the details of the implementation of the interface from the code that uses the interface. For example, the Collection interface contains methods that any collection of objects might want to implement, like retrieving or storing objects, but a specific collection could be a resizeable array, a linked list, or any of a number of different implementations.
The feature is a result of compromise. The designers of Java decided not to support multiple inheritance because of the difficulty of C++'s multiple inheritance, but interfaces give some of the benefit of multiple inheritance with, arguably, less complexity, but at the price of code redundancy (since interfaces only defines the signature of a class but cannot contain any implementation, every class inheriting an interface must provide the implementation of the defined methods, unlike in multiple inheritence, where the implementation is also inherited).
Java interfaces behave much like the concept of the Objective-C protocol.
Input/Output
Versions of Java prior to 1.4 only supported stream-based blocking I/O. This required a thread per stream being handled, as no other processing could take place while the active thread blocked waiting for input or output. This was a major scalability and performance issue for anyone needing to implement any Java network service. Since the introduction of NIO (New IO) in Java 1.4, this scalability problem has been rectified by the introduction of a non-blocking I/O framework (though there are a number of open issues in the NIO API as implemented by Sun).
The non-blocking IO framework, though considerably more complex than the original blocking IO framework, allows any number of "channels" to be handled by a single thread. The framework is based on the Reactor Pattern.
APIs
Sun has defined three platforms targeting different application environments and segmented many of its APIs so that they belong to one of the platforms. The platforms are:
- Java 2 Platform, Micro Edition — targeting environments with limited resources,
- Java 2 Platform, Standard Edition — targeting workstation environments, and
- Java 2 Platform, Enterprise Edition — targeting large distributed enterprise or Internet environments.
The classes in the Java APIs are organized into separate groups called packages. Each package contains a set of related interfaces, classes and exceptions. Refer to the separate platforms for a description of the packages available.
The set of APIs is controlled by Sun Microsystems in cooperation with others through its Java Community Process program. Companies or individuals participating in this process can influence the design and development of the APIs. This process has been a subject of controversy.
In 2004, IBM and BEA publicly supported the notion of creating an official open source implementation of Java but as of 2005, Sun Microsystems has refused that.
Hello World example
For an explanation of the tradition of programming "Hello World", see Hello world program.
// The source file must be named WorldGreeting.java
public class WorldGreeting
The above example merits a bit of explanation for those accustomed to languages with inherently relaxed security, weak typing, and weak object orientation.
- Everything in Java is written inside a class, including stand-alone programs.
- Source files are by convention named the same as the class they contain, appending the mandatory suffix .java. Classes which are declared public are required to follow this convention. (In this case, the class is WorldGreeting, therefore the source must be stored in a file called WorldGreeting.java).
- The compiler will generate a class file for each class defined in the source file. The name of the class file is the name of the class, with .class appended. For class file generation, anonymous classes are are treated as if their name was the concatenation of the name of their enclosing class, a $, and an integer.
- Programs to be executed as stand-alone must have a main() method.
- The keyword void indicates that the main() method does not return anything.
- The main method must accept an array of strings. By convention, it is referenced as "args" although any other legal variable name can be used.
- The keyword static indicates that the method is a class method, associated with the class rather than object instances. Main methods must be static.
- The keyword public denotes that a method can be called from code in other classes, or that a class may be used by classes outside the class hierarchy.
- The printing facility is part of the java standard library: The System class defines a public field called "out". The "out" object provides the method println() for displaying data to the screen (standard out).
- Standalone programs are run by giving the Java runtime the name of the class whose main() method is to be invoked. For example, at a Unix command line java -cp . WorldGreeting will start the above program (compiled into WorldGreeting.class) from the current directory. The name of the class whose main method is to be invoked can also be specified in the MANIFEST of a Java archive (jar) file.
International and worldwide use
The language distinguishes between bytes and characters. Characters are stored internally using UCS-2, although as of Java 5, the language also supports using UTF-16 via surrogates. Java program source may therefore contain any Unicode character.
The following is thus perfectly valid java code; it contains Chinese characters in the class and variable names as well as in a string literal:
public class 你好世界
Miscellaneous
Although the language has special syntax for them, arrays and strings are not primitive types: they are reference types that can be assigned to java.lang.Object.
Criticism
Java was intended to serve as a novel way to manage software complexity. Most consider Java technology to deliver reasonably well on this promise. However, Java is not without flaws, and it does not universally accommodate all programming styles, environments, or requirements.
- Not all projects or environments require enterprise-level complexity, such as stand-alone websites or sole-proprietorship programmers. Such individuals find Java's self-enforcing complexity management to be overkill.
- Java is often a focal point of discontent for those who are not enthusiastic about object-oriented programming.
- Java can be considered a less pure object-oriented programming language than for instance Ruby or Smalltalk because it makes certain compromises (such as the fact that not all values are objects) for performance reasons.
- As an established technology, Java inevitably invites comparison with contemporary languages such as C++, C#, Python, and others. Commenting upon Java's proprietary nature, supposed inflexibility to change, and growing entrenchment in the corporate sector, some have said that Java is "the new COBOL". Many consider this to be a somewhat hyperbolic assertion, although it does allude to some legitimate concerns with Java's prospects for the future.
Language issues
- The division between primitive types and objects is disliked by programmers familiar with languages such as Smalltalk and Ruby where everything is an object.
- Conversely, C++ programmers can become confused with Java because in Java primitives are always automatic variables and objects always reside on the heap, whereas C++ programmers are explicitly given the choice in both cases by means of pointers.
- Java code is often more verbose than code written in other languages due to its frequent type declarations.
- Java is predominantly a single-paradigm language. Historically, it has not been very accommodating of paradigms other than object-oriented programming. As of version 5.0, the procedural paradigm is somewhat better supported in Java with the addition of the ability to import static methods and fields so that they can be used globally as one could do in, for example, C.
- Java is a single inheritance language. This causes consternation to programmers accustomed to multiple inheritance, which is available in many other languages. However, Java employs interface classes, which are argued to address certain issues with multiple inheritance while retaining some of its benefits.
- Java does not support user-definable operator overloading, unlike C++.
- Versions of Java before 5.0 required many explicit casts to be written due to the lack of generic types.
- Java's support of text matching and manipulation is not as strong as languages such as perl or PHP, although regular expressions were introduced in J2SE 1.4.
Library issues
The look and feel of GUI applications written in Java using the Swing platform is often different from native applications. While programmers can choose to use the AWT toolkit that displays native widgets (and thus look like the operating platform), the AWT toolkit is unable to meet advanced GUI programming needs by wrapping around advanced widgets and not sacrificing portability across the various supported platforms, each of which have vastly different APIs especially for higher-level widgets. The Swing toolkit, written completely in Java, avoids this problem by reimplementing widgets using only the most basic drawing mechanisms that are guaranteed available on all platforms. The drawback is that extra effort is required to resemble the operating platform. While this is possible (using the GTK+ and Windows Look-and-Feel), most users do not know how to change the default Metal Look-And-Feel to one that resembles their native platform, and as a result they are stuck with Java applications that look radically different from their native applications. Of note however, Apple Computer's own optimized version of the Java Runtime, which is included within the Mac OS X distribution, by default implements its "Aqua" Look-And-Feel, giving Swing applications instant familiarity to Mac users.
Some parts of the standard Java libraries are considered excessively complicated, or badly designed, but cannot be changed due to the need for backward compatibility.
Performance issues
Java has obtained a reputation for slow performance, primarily because most users have targeted the Java virtual machine rather than compiling the language directly to native machine code. Using a JVM imposes a fairly large speed penalty, either spread throughout the whole program (if using an interpreter JVM) or imposed once at class loading time (if using a JIT-compiling JVM). In the latter case, the penalty is particularly noticable in programs which run for only a short time.
Whether or not modern implementations of Java are significantly slower than other languages is still hotly debated. Many argue that this is a misconception based on old benchmarks and information produced by competitors. Nevertheless, use of Java for major desktop applications still remains rare, and for highly CPU-intensive applications the language is not used at all.
A number of language features unavoidably harm performance and memory usage, even if native compilation is used:
- Garbage collection
- Array bounds checking
- Run-time type checking
Java was designed with an emphasis on security and portability, so low-level features like hardware-specific data types and pointers to arbitrary memory were deliberately omitted. In low-level applications which require these features, they must be accessed by calling C code using the Java Native Interface (JNI), which can itself be a performance bottleneck.
Java Runtime Environment
The Java Runtime Environment or JRE is the software required to run any application deployed on the Java platform. End-users commonly use a JRE in software packages and plugins. Sun also distributes a superset of the JRE called the Java 2 SDK (more commonly known as the JDK), which includes development tools such as the Java compiler, Javadoc, and debugger.
;Components of the JRE
- Java libraries - which are the compiled byte codes of source developed by the JRE implementor to support application development in Java. Examples of these libraries are:
- The core libraries, which include:
- Collection libraries which implement data structures such as lists, dictionaries, trees and sets
- XML Parsing libraries
- Security
- Internationalization and Localization libraries
- The integration libraries, which allow the application writer to communicate with external systems. These libraries include:
- The Java Database Connectivity (JDBC) API for database access
- Java Naming and Directory Interface (JNDI) for lookup and discovery
- RMI and CORBA for distributed application development
- User Interface libraries, which include:
- The (heavyweight, or native) Abstract Windowing Toolkit (AWT), which provides GUI components, the means for laying out those components and the means for handling events from those components
- The (lightweight) Swing libraries, which are built on AWT but provide (non-native) implementations of the AWT widgetry
- APIs for audio capture, processing, and playback
- A platform dependent implementation of Java virtual machine (JVM) which is the means by which the byte codes of the Java libraries and third party applications are executed
- Plugins, which enable applets to be run in web browsers
- Java Web Start, which allows Java applications to be efficiently distributed to end users across the Internet
- Licensing and documentation
Extensions and related architectures
Extensions and architectures closely tied to the Java programming language include:
- J2EE (Enterprise edition)
- J2ME (Micro-Edition for PDAs and cellular phones)
- JMF (Java Media Framework)
- JNDI (Java Naming and Directory Interface)
- JSML (Java Speech API Markup Language)
- JDBC (Java Database Connectivity)
- JDO (Java Data Objects)
- JAI (Java Advanced Imaging)
- JAIN (Java API for Integrated Networks)
- JDMK (Java Dynamic Management Kit)
- Jini (a network architecture for the construction of distributed systems)
- Jiro
- Java Card
- JavaSpaces
- Java Modeling Language (JML)
- JMI (Java Metadata Interface)
- JMX (Java Management Extensions)
- JSP (JavaServer Pages)
- JSF (JavaServer Faces)
- JNI (Java Native Interface)
- JXTA (Open Protocols for P2P Virtual Network)
- J3D (A high level API for 3D graphics programming)
- JOGL (A low level API for 3D graphics programming, using OpenGL)
- OSGi (Dynamic Service Management and Remote Maintenance)
- SuperWaba (JavaVMs for handhelds)
See also
- Java virtual machine
- Java applet
- Comparison of Java to C++
- Optimization of Java
- Java Platform Debugger Architecture
- Join Java programming language
- List of Java-programs
- Java User Group
- Java XML
- Java Servlet
- Java 2 Platform, Standard Edition (J2SE)
- List of Java scripting languages
- Javapedia
- Java Community Process
- JavaOS
- Java keywords
- zAAP (Java processor)
- Microsoft J++
References
- Jon Byous, [http://java.sun.com/features/1998/05/birthday.html Java technology: The early years]. Sun Developer Network, no date [ca. 1998]. Retrieved April 22, 2005.
- James Gosling, [http://today.java.net/jag/old/green/ A brief history of the Green project]. Java.net, no date [ca. Q1/1998]. Retrieved April 22, 2005.
- James Gosling, Bill Joy, Guy Steele, and Gilad Bracha, The Java language specification, second edition. Addison-Wesley, 2000. ISBN 0201310082.
- James Gosling, Bill Joy, Guy Steele, and Gilad Bracha, The Java language specification, third edition. Addison-Wesley, 2005. ISBN 0321246780.
- Tim Lindholm and Frank Yellin. The Java Virtual Machine specification, second edition. Addison-Wesley, 1999. ISBN 0201432943.
Notes
# The device was named Star7 after a telephone feature activated by - 7 on a telephone keypad, which enabled users to answer the telephone anywhere.
External links
Sun
- [http://java.sun.com/ Official Java home site]
- [http://java.sun.com/docs/books/jls/ The Java Language Specification, Third edition] |