The language of programming
Back in the 80s, Infocom [1] created a database program named Cornerstone.  Because it was an integrated environment, identifiers were abstracted.  A line of code displayed on the screen as:    xn = (A * y) * x * (1 - x)

was actually stored as:    id17 = (id1 * id11) * id10 * (1 - id10)

and there was a mapping of internal IDs to visible names:    id1  A
    id2  B
    ...
    id10 x
    id11 y
    ...
    id17 xn

The upshot---you could change the name of a variable anywhere in the editor and the code would still work because the "name" picked by the programmer was not the actual "name" used by the system. I often wonder if that can't even extend to keywords in a language as well, translating this [2]:    medan not_done
    börja
      för x:= 1 till 5 gör
      börja
        om person^.age = 120 så
          too_old(person);
        om person^.age > 130 så
          gåtill person_should_be_dead;
      slut;
    slut;

into:    while not_done
    begin
      for x := 1 to 5 do
      begin
        if person^.age = 120 then
          too_old(person);
        if person^.age > 130 then
          return person_should_be_dead;
      end
    end

Or heck, while we're at it:    while(not_done)
    {
      for (x = 1 ; x <= 5 ; x++)
      {
        if (person->age = 120)
          too_old(person);
        if (person->age > 130)
          return person_should_be_dead;
      }
    }

But I'm not holding my breath on this.[1] Yes, the company that made all the text adventure games.[2] http://boston.conman.org/2008/01/04.1