X
  • Java |
    December 15, 2006

Why is Swing Called Swing?

Today I was asked about the product name of
Swing,
which of course, is the name of the Java SE package used for creating GUIs and related APIs. Since I started at Sun in June of '99 I only recalled that Swing was used as the code name and it stuck. So I asked Jeff Dinkins, one of the original Swing engineers and former manager of the Swing team. Here is the story, from Jeff.
Georges Saab came up with the name...

The story is: The team went to Hobees for lunch, and the topic turned to what to name the new toolkit we were writing. Up till then the name was code named KFC, which was chosen by our manager (Rick Levenson) as a way to ensure we'd come with with a better name before shipping; he knew there was no way "KFC", aka Kentucky Fried Chicken, would be allowed by the lawyers.

Some names that were tossed around included Juliet and Carousel. There were many more, but none felt "just right."

Finally after lunch, while driving back to Sun, Amy Fowler (lead engineer of the team) asked our most hip team member, Georges Saab, "Georges, you know what's up and coming... what's the new happening thing in San Francisco?"

Georges responded with "Swing dancing is getting to be really big." And that was it, we all knew it was perfect. When we got back to the office I did a global search and replace of "kfc" with "swing", and the rest is history.

Thanks for that bit of history, Jeff! Rick Levenson seems to be a manager capable of interesting motivational techniques.

Edited to add: Jeff has posted a link to this blog entry on javadesktop.org along with this most excellent graphic (Rick is on the left and Georges is on the right):

Thanks, Jeff!!

-- Sharon Zakhour

Join the discussion

Comments ( 10 )
  • Dave King Tuesday, December 19, 2006
    ok so that old bit about how the MVC diagram looked like a swing was bs?
    - Peace
  • Rich Unger Tuesday, December 19, 2006

    Ah, I remember writing my first swing app (as an intern at Sun) and learning to swing dance the same summer.

    Now I'm a member of the performance troupe Swing Cats (swingcats.net) and a NetBeans governance board member.

    There ought to be a good application for this at JavaOne. The troupe's performed at Oracle's conference at Moscone, but not Sun's... :)

  • Jeff Dinkins Tuesday, December 19, 2006
    "ok so that old bit about how the MVC diagram looked like a swing was bs? - Peace"
    Hah - I've not heard that one before. I like it though, wish I'd thought of it.
  • dillon Tuesday, December 19, 2006
    kfc is teh best
  • Syhan Tuesday, December 19, 2006
    [Trackback] 昨晚在sun的网站上看到一篇文章比较有意思,简单翻译了一下为什么swing叫做swing今天我被问起swing这个产品的名字,也是JavaSEpackage中用来创建GUI和相关的API。因为我在...
  • Balakumar Muthu Wednesday, December 20, 2006
    Now I got the reason! :)
  • dmitry Thursday, December 21, 2006
    this is so cool!!! I've been programming Swing since it first came out and I've been learning lindy hop for the last year. Up until now I had no idea these two were connected :))))
  • Laurent Bilodeau Wednesday, December 27, 2006
    There is more than that to the word Swing.
    In the movie industry, the Swing Gang is the team of carpenters who instantly prop up and take down sets and decors.
    The Swing Gang is part of the hidden infrastructure and organization that creates a movie's look and feel.
    This in itself make Swing a perfect nommer for what it is and does for programming.
  • arjun Wednesday, January 31, 2007
    I AM A POLY STUDENT IAM DOING A SIMPLE PROJECT IN JAVA BUT IT GOT SO MANY PROBLEMS...CAN ANYBODY HELP ME TO DO IT...?MY PROGRAMMME CODE IS
    public class Pay
    {

    public static void main(String[]args)throws Exception

    {

    int i=0,k=0;

    double c=0,h,g=0;

    int[] j=new int[10];

    //int[] b=new int[10];

    double[] Salary=new double[10];

    char a;

    String[] E_Name=new String[10];

    String[] Chek=new String[10];

    String[] Appo={"Programmer","Supervisor","Manager"};

    System.out.println("Payroll Menu");

    System.out.println("============");

    do

    {

    System.out.println("1. Enter Name,Appointment and Years of Experiance");

    System.out.println("2. List All Employees and Calculate Payout");

    System.out.println("Q. Quit");

    System.out.print("Please enter your choice < 1, 2 or Q>:");

    a=(char)System.in.read();

    System.in.read();

    System.in.read();

    switch(a)

    {

    case '1':

    System.out.println("Details of Employee "+(k+1));

    System.out.println("=====================");

    System.out.print("Enter Name:");

    E_Name[i]=CspInput.readString();

    System.out.print("Select Appointment[1 for programmer],[2 for Supervisor],[3 for Manager]:");

    do

    {

    j[i]=CspInput.readInt();

    if(j[i]<0||j[i]>3)

    System.out.print("Wrong, Please re-enter:");

    }while(j[i]<0||j[i]>3);

    //c=CspInput.readInt();

    System.out.print("Years in this appointment:");

    //b[i]=CspInput.readInt();

    h=CspInput.readInt();

    if(j[i]==1)

    c=getSalary(800,h,80);


    else if(j[i]==2)

    c=getSalary(1800,h,180);


    else if(j[i]==3)

    c=getSalary(3000,h,300);

    Salary[i]=c;

    System.out.println(E_Name[i]+"'s appointment is "+Appo[(j[i]-1)]+"; Earning "+Salary[i]+"\\n\\n");

    k++;

    i++;

    break;

    case '2':

    i=0;

    System.out.println("List of "+(k)+" Employees");

    System.out.println("===========================");

    System.out.println("S/No\\tName\\t\\tSalary\\t\\tAppointment");

    System.out.println("====\\t====\\t\\t======\\t\\t===========");

    for(i=0;i<k;i++)

    {

    System.out.println((i+1)+"\\t"+E_Name[i]+"\\t\\t"+Salary[i]+"\\t\\t"+Appo[j[i]-1]);

    g=g+Salary[i];

    }


    System.out.println("Total Payout per month:"+g+"\\n\\n");

    break;

    case 'Q':break;

    case 'q':break;

    default:System.out.println("Error Please RE_ENTER");

    break;

    }



    }while(a!='Q'&&a!='q');

    }

    static double getSalary(int a,double b,int c)

    {


    return a+(b\*c);

    }
    }
    PLS DO IT FOR MEEE PLS PLS PLS...
  • Jan de Rijke Sunday, March 18, 2007
    I always thought swing was a tribute to the Java Mascotte, Duke and Duke Ellington, the king of Swing Music.
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.Captcha
Oracle

Integrated Cloud Applications & Platform Services