# If Shakespeare wrote C++

**URL:** <https://boards.straightdope.com/t/if-shakespeare-wrote-c/63580>\
**Category:** Miscellaneous and Personal Stuff I Must Share\
**Created:** [April 28, 2001, 12:36am UTC](https://boards.straightdope.com/t/if-shakespeare-wrote-c/63580 "2001-04-28T00:36:09Z")\
**Posts on this page:** 3\
**Page:** 3

<div class="post-metadata">

**Author:** ![AHunter3](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/ahunter3/32/368_2.png) [@AHunter3](https://boards.straightdope.com/u/AHunter3)\
**Post date:** [May 13, 2003, 9:35pm UTC](https://boards.straightdope.com/t/if-shakespeare-wrote-c/63580/41 "2003-05-13T21:35:22Z")

</div>

All I can do is a little AppleScript and some FileMaker scripting…

```auto

Set Field [Ears, Friends::Ears&"¶"&Countrymen::Ears]
If [Status(CurrentCaesarSpeech) = "praise"
    Exit Script
End If
If [Status(CurrentCaesarSpeech) = "bury"
Go to First Deed
Loop
     Substitute(DeedMemory, "good", "")
     Go to Next Deed [Exit After Last]
End Loop
Go to Related Record [show only, HonorableMen]
Loop
    Exit Loop If [Caesar::DeedMemory > Brutus::DeedMemory]
     Insert Calculated Value [DeedMemory, Case(Caesar<Ambitious, "captives home to Rome")
     Insert Calculated Value [DeedMemory, Case(Caesar<Ambitious, "poor cry, Caesar wept")
     Insert Calculated Value [DeedMemory, Case(Caesar<Ambitious, "refuse kingly crown")
     Go to Honorable Man [Next, Exit After Last]
 End Loop
Show Message ["You all did love him once! Why do you not mourn?" Buttons "No judgment", "No reason"]
If [Status(currentmessagechoice) = 2
Pause [Indefinite, for User]
Else
Allow User Abort [off]
Loop
    Exit Loop If [Status(CurrentHeart) <> Status(CurrentCaesarCoffin)]
    Pause
End Loop

```

---

<div class="post-metadata">

**Author:** ![SolGrundy](https://avatars.discourse-cdn.com/v4/letter/s/bbce88/32.png) [@SolGrundy](https://boards.straightdope.com/u/SolGrundy)\
**Post date:** [May 14, 2003, 1:54am UTC](https://boards.straightdope.com/t/if-shakespeare-wrote-c/63580/42 "2003-05-14T01:54:58Z")

</div>

I hope everyone has seen the ingenious if unweildy [Shakespeare Programming Language](http://shakespearelang.sourceforge.net/report/shakespeare/).

Here’s another one from C++. (I don’t care if this is an old thread, I’m digging it.)

```auto

// A Midsummer Night's Dream.cpp
//

void Puck::PerformSoliloquy(Audience& theAudience)
{
   if (weShadows.HaveOffended()) {
      theAudience.Think(this) && all.mend();
      while (theseVisions.bAppeared) {
         theAudience.Slumber(here);
      }
      theme.SetFlag(kFlagWeak | kFlagIdle);
      theme.Yield();

      Audience& gentles = theAudience;
      gentles.Reprehend(false);

      if (gentles.Pardon()) {
         Mend();
      }
      
      this->SetFlag(kFlagHonest);
      
      if (mUs.contains(luck) && !luck->mbEarned && 
          !CanEscape(serpent.mTongue)) {
          ScheduleAmends(kTimerEreLong);
      } else {
          theAudience.Call(this, aLiar);
      }

      theAudience.Bid("Good night", kTargetAll);
      if (theAudience.IsFriends(this)) {
         theAudience.GiveHands(this);
         Robin.PostMessage(kMessageRestoreAmends, theAudience);
      }
   }
   exit();
}

```

---

<div class="post-metadata">

**Author:** ![SolGrundy](https://avatars.discourse-cdn.com/v4/letter/s/bbce88/32.png) [@SolGrundy](https://boards.straightdope.com/u/SolGrundy)\
**Post date:** [May 14, 2003, 5:38pm UTC](https://boards.straightdope.com/t/if-shakespeare-wrote-c/63580/43 "2003-05-14T17:38:55Z")

</div>

And if you want to go slightly more low-brow:

```auto

assert(BigButts.bLiked && !I->CanLie());
BrotherList::iterator other;
for (other = gBrotherList.begin(); other != gBrotherList.end(); ++other) {
   verify(!other.CanDeny());
}
if (aGirl.Walks(in) &&
   aGirl.Has(aWaist) &&
   aGirl.mWaist.size == kSizeIttyBitty &&
   aGirl.Has(aRoundThing) &&
   aGirl.mRoundThing.Location() == kLocationInYourFace) {
   you.GetSprung();
}

```

or with folk music:

```auto

int Wind::Blow()
{
   int roadCount = 0;
   RoadList::iterator road = gRoadList.begin();
   while (!aMan.IsMan()) {
      aMan.Walk(road++);
      roadCount++;
   }
   return roadCount;
}

```

[Previous page](https://boards.straightdope.com/t/if-shakespeare-wrote-c/63580.md?page=2)
