\$\begingroup\$

Emojicode, 292 bytes (140 characters)

🏁🍇🔤Baby🔤➡️b🔤Daddy🔤➡️y🔤Mommy🔤➡️o🔤Grandpa🔤➡️g🔤Grandma🔤➡️a🔤 Shark🔤➡️s🔤 doo🔤➡️d🍨b y o g a🍆➡️f🔂m f🍇🔂i🆕⏩⏩0 3❗️🍇😀🍪m s d d d d d d🍪️❗️🍉😀🍪m s🔤!🔤🍪❗️🍉🍉

Run it

Expanded out:

🏁🍇 🔤Baby🔤 ➡️ b 🔤Daddy🔤 ➡️ y 🔤Mommy🔤 ➡️ o 🔤Grandpa🔤 ➡️ g 🔤Grandma🔤 ➡️ a 🔤 Shark🔤 ➡️ s 🔤 doo🔤 ➡️ d 🍨b y o g a🍆➡️f 🔂m f🍇 🔂i🆕⏩⏩0 3❗️🍇 😀🍪m s d d d d d d🍪️❗️ 🍉 😀🍪m s🔤!🔤🍪❗️ 🍉 🍉

Explained (per the Emojicode doc):

🍇🍉

The same as a { and } (e.g. a code block)

🏁

The "program start" (e.g. int main() )

🔤Baby🔤 ➡️ b

Variable assignment (e.g. const char* b = "Baby"; )

🍨b y o g a🍆➡️f

Says, create a list of values between 🍨 and 🍆 and assign (➡️) to f (e.g. const char* f[] = {b,y,o,g,a}; )

🔂m f🍇 ... 🍉

This line says to loop over the elements in f using the alias m , where the ... is the code between 🍇 and 🍉.

🔂 i 🆕⏩⏩ 0 3❗️🍇 ... 🍉

This line says to loop over the range [0,3), where the ... is the code between 🍇 and 🍉.

😀🍪 ... 🍪️❗️

This line says to print the format specified in ... (e.g. printf("%s

"); )

The code translated to C:

#include <stdio.h> int main() { const char* b = "Baby"; const char* y = "Daddy"; const char* o = "Mommy"; const char* g = "Grandpa"; const char* a = "Grandma"; const char* s = " Shark"; const char* d = " doo"; const char* f[] = {b,y,o,g,a}; int m = 0, i = 0; for (; m < 5; ++m) { for (i = 0; i < 3; ++i) { printf("%s%s%s%s%s%s%s%s

", f[m], s, d, d, d, d, d, d); } printf("%s%s!

", f[m], s); } return 0; }

Following this, the original code (posted below for posterity) had some issues; mostly that the 🏁🍇🍉 block was not included for those who wish to run it, and the emoji's were not actually properly escaped, to that, here is the actual running version of that code:

Original modified to run: Emojicode, 224 bytes (67 characters)

🏁🍇🍨🔤👶🔤🔤👨🔤🔤🤱🔤🔤👴🔤🔤👵🔤🍆➡️f🔂m f🍇🔂i🆕⏩⏩0 3❗️🍇😀🍪m🔤🦈💩💩💩💩💩💩🔤🍪️❗️🍉😀🍪m🔤🦈!🔤🍪❗️🍉🍉

Expanded out:

🏁🍇 🍨 🔤👶🔤 🔤👨🔤 🔤🤱🔤 🔤👴🔤 🔤👵🔤 🍆 ➡️ f 🔂 m f 🍇 🔂 i 🆕⏩⏩ 0 3❗️🍇 😀🍪m🔤🦈💩💩💩💩💩💩🔤🍪️❗️ 🍉 😀🍪m🔤🦈!🔤🍪❗️ 🍉 🍉

Which produces the output:

👶🦈💩💩💩💩💩💩 👶🦈💩💩💩💩💩💩 👶🦈💩💩💩💩💩💩 👶🦈! 👨🦈💩💩💩💩💩💩 👨🦈💩💩💩💩💩💩 👨🦈💩💩💩💩💩💩 👨🦈! 🤱🦈💩💩💩💩💩💩 🤱🦈💩💩💩💩💩💩 🤱🦈💩💩💩💩💩💩 🤱🦈! 👴🦈💩💩💩💩💩💩 👴🦈💩💩💩💩💩💩 👴🦈💩💩💩💩💩💩 👴🦈! 👵🦈💩💩💩💩💩💩 👵🦈💩💩💩💩💩💩 👵🦈💩💩💩💩💩💩 👵🦈!

Run it

Where in you have the individual emoji's representing the words:

👶 -> Baby 👨 -> Daddy 🤱 -> Mommy 👴 -> Grandpa 👵 -> Grandma 🦈 -> Shark 💩 -> doo

Original: Emojicode, 138 bytes (47 characters)

🍨👶👨🤱👴👵🍆➡️f🔂m f🍇🔂i🆕⏩⏩0 3❗️🍇😀m🦈💩💩💩💩💩💩❗️🍉😀m🦈!❗️🍉

Expanded out: