The Real Slim Shady

44

12

Echo the following in as few bytes as possible:

I'm Slim Shady. Yes, I'm the real Shady.
All you other Slim Shadys are just imitating.
So, won't the real Slim Shady please stand up?
Please stand up. Please stand up.

The following five words must appear EXACTLY ONCE in your code:

I'm
Slim
Shady
real
stand

rybo111

Posted 2014-08-01T14:31:39.700

Reputation: 4 071

32Now that stupid song is in my head. – Darth Egregious – 2014-08-01T20:31:16.333

Is it ok if the program output more than the full text? Ie. enclosing the lyric in parens. – Sylwester – 2014-08-02T17:59:21.177

@Sylwester As long as it follows the rules, you can code it how you want. – rybo111 – 2014-08-03T10:04:34.250

Is this really [tag:kolmogorov-complexity]? It's true that any program which has the correct output bounds the Kolmogorov complexity above, but the extra constraint seems likely to force a non-optimal program. – Peter Taylor – 2014-08-05T15:15:32.327

@PeterTaylor you may be right - I'll leave it to the community to edit or not. – rybo111 – 2014-08-05T16:28:05.220

do we have to have new lines in the same places you have them in the example output? – Malachi – 2014-08-07T15:23:43.153

@Malachi it must match the output exactly, yes. – rybo111 – 2014-08-07T15:27:33.647

Answers

29

Python: 176

print"{0}{1}{2}. Yes, {0}{3}{2}.\nAll you other {1}{2}s are just imitating.\nSo, won't {3}{1}{2} p{4}?\nP{4}. P{4}.".format("I'm ","Slim ","Shady","the real ","lease stand up")

Naturally, the same idea as other compression solutions (though independently obtained).

nneonneo

Posted 2014-08-01T14:31:39.700

Reputation: 11 445

1I mistakenly downvoted this one. Sorry. (If you make any change I think I can remove the downvote) – edc65 – 2014-08-01T17:26:01.553

@edc65: Thanks for the honesty :) I edited the answer. – nneonneo – 2014-08-01T18:39:56.267

You can shave off 3 bytes just by reusing the spaces.print"{0}{1}{2}. Yes, {0}{3}{2}.\nAll you other{1}{2}s are just imitating.\nSo, won't{3}{1}{2} p{4}?\nP{4}. P{4}.".format("I'm"," Slim"," Shady"," the real","lease stand up") – feersum – 2014-08-19T08:37:05.100

25

Brainfuck 1923 bytes

Enjoy...

-[------->+<]>.+[-->+<]>++.---[->+++<]>+.
[->+++++<]>-.>-[--->+<]>--.--[--->++++<]
>.---.++++.[->+++++<]>-.>-[--->+<]>--.>+
[----->+++<]>+.-------.+++.+[--->+<]>++.
-----[++>---<]>.++[--->++<]>.--[->+++<]>-.
[->++++<]>+.[--->+<]>----.-[++>---<]>+.
------------.++++[->++<]>+.+[-->+<]>++.---
[->+++<]>+.[->+++++<]>-.---[->++++<]
>.------------.---.--[--->+<]>-.---[----->++<]
>.-------------.----.+++++++++++.[++>---<]
>--.>-[--->+<]>--.>+[----->+++<]>+.-------.
+++.+[--->+<]>++.-----[++>---<]>.>
++++++++++.+++[->+++++<]>.[--->+<]>+..
[++>---<]>--.--[->++++<]>+.----------.++++++.-
[---->+<]>+++.+++++[->+++<]
>.+++++.------------.---.+++++++++++++.
[-->+++++<]>+++.>-[--->+<]>--.--
[--->++++<]>.---.++++.[->+++++<]>-.>-
[--->+I'm<]>--.>+[----->+++<]>+.-------.+++.+
[--->+<]>++.------.+[---->+<]>+++.[->+++<]>+.--
[--->+<]>---.-------------.--[--->+<]>-.-
[--->++<]>.+++++++++++.--.+.
[---Slim->+<]>+++.-[--->++<]>-.++++.----.
+++++++++++.+[->+++<]>++.--[--->+<]
>-.-----------.+++++.-------.--[->+++<]>-.
>++++++++++.>-[--->+<]>--.[--->+<]>--.
[->+++++<]>+.------------.--[->++++<]>-.
--------.-.[++>---<]>++.[->+++<]>-.[---->+
<]>+++.---[->++++<]>.------------.---.--[---
>+<]>-.---[----->Shady++<]>.-------------.-
---.+++++++++++.[++>---<]>--.>-[--->+<]
>--.--[--->++++<]>.---.++++.[->+++++<]
>-.>-[--->+<]>--.>+[----->+++<]>+.-------.
+++.+[--->+<]>++.-[---->+<]>++.[-->+++++++<]
>.----.-------.----.--[--->+<]>--.++++[->+++<]
>.--[--->+<]>-.---[->++++<]>-.+.+[->+++<]
>++.+++++++++++++.----------.-[--->+<]
>-.---[->++++<]>+.-----.[--->++++<]>-.>
++++++++++.[->++++++++<]>.+[--->++++<]
>.---real----.----.--[--->+<]>--.++++[->+++<]
>.--[--->+<]>-.---[->++++<]>-.+.+[->+++<]
>++.+++++++++++++.----------.-[--->+<]>-.---
[->++++<]>+.-----.[->+++++<]>--.++[--->++<]
>.[-->stand+++++<]>.+[--->++++<]>
.-------.----.--[--->+<]>--.++++[->+++<]
>.--[--->+<]>-.---[->++++<]>-.+.+[->+++<]
>++.+++++++++++++.----------.-[--->+<]
>-.---[->++++<]>+.-----.[->+++++<]>--.

Standard Loop Holes

Joshpbarron

Posted 2014-08-01T14:31:39.700

Reputation: 787

Does not include the five words. – nwp – 2014-08-01T21:41:46.637

6Perhaps scroll right, however i'll edit the post so you don't have too... – Joshpbarron – 2014-08-01T21:43:48.027

I did scroll but somehow missed the words, sorry. – nwp – 2014-08-01T21:45:18.003

NOW it's clear! – edc65 – 2014-08-01T21:52:42.710

how many bytes? – Malachi – 2014-08-01T22:06:36.593

Am I correct in saying 1923 with the new lines removed? – Joshpbarron – 2014-08-01T22:08:40.927

1I came up with 1918 characters, I don't know that any of these characters are outside the norm where they would tack on extra bytes. I don't know another way of counting Bytes yet so I would say 1918 – Malachi – 2014-08-04T13:03:38.787

17

Perl, 155

With improvements by Martin Büttner and Thaylon:

$_="01. Yes, 02X.
All you other1s are just imitating.
So, won't21 p3?
P3. P3.";s/\d/("I'm"," SlimX"," the real","lease stand up")[$&]/ge;s/X/ Shady/g;print

r3mainer

Posted 2014-08-01T14:31:39.700

Reputation: 19 135

@MartinBüttner Excellent suggestions. Thanks :-) – r3mainer – 2014-08-01T16:04:06.890

You can omit the last ; too. – Thaylon – 2014-08-01T16:26:44.977

2Love the "All you other 1s" part – William Barbosa – 2014-08-01T16:28:10.930

Shifting around the " " for 157: $_="01. Yes, 032. All you other1s are just imitating. So, won't31 p4? P4. P4.";s/0/I'm/g;s/1/ Slim2/g;s/2/ Shady/g;s/3/ the real/g;s/4/lease stand up/g;print – Thaylon – 2014-08-01T16:32:32.143

Mines so similar now, and I was later, so Ill just delete it. You can get another 2 Byte with: $_="01. Yes, 02X. All you other1s are just imitating. So, won't21 p3? P3. P3.";s/\d/("I'm"," SlimX"," the real","lease stand up")[$&]/ge;s/X/ Shady/g;print – Thaylon – 2014-08-01T16:57:06.497

@Thaylon That's a neat trick with the array replacement. Thanks for all the help! – r3mainer – 2014-08-01T19:42:40.613

12

Ruby, 154 bytes

$><<"012. Yes, 032.
All you other12s are just imitating.
So, won't312 p4?
P4. P4.".gsub(/\d/){%W{I'm \ Slim \ Shady \ the\ real lease\ stand\ up}[$&.hex]}

After helping out a few people with how to split up the filler strings I decided to give their replacement callback idea a go. ;)

Martin Ender

Posted 2014-08-01T14:31:39.700

Reputation: 184 808

1You can save some characters: #{h+a} is shorter than "+h+a+", and #{d+h+a} is shorter than "+d+h+a+". – ProgramFOX – 2014-08-01T15:26:28.463

1@ProgramFOX o.O ... I'm ashamed to say I only thought of #{h}#{a}. – Martin Ender – 2014-08-01T15:27:20.203

Can save a few more with h=" Slim"+a=" Shady", and one by replacing puts with $><<. – histocrat – 2014-08-01T21:57:00.823

154 with .gsub(/\d/){%W{I'm \ Slim \ Shady \ the\ real lease\ stand\ up}[$&.hex]} – Ventero – 2014-08-03T15:31:06.033

@Ventero thanks! :) – Martin Ender – 2014-08-03T18:00:31.857

10

JavaScript (E6) 165

Just the same in another language

alert("012. Yes, 05326All you other12s are just imitating6So, won't5312 p4?\nP4. P4."
.replace(/\d/g,x=>"I'm1 Slim1 Shady1real1lease stand up1 the 1.\n".split(1)[x]))

Explanation: replace each single digit in the first string with the corresponding string in the array ["I'm"," Slim"," Shady","real","lease stand up"," the ",".\n"]

Revised with the new rules here at PPCG (output returned from a function, no constraints about features newer than the challenge), this could be 158. See the snippet

F=
_=>`012. Yes, 0532.
All you other12s are just imitating.
So, won't5312 p4?
P4. P4.`.replace(/\d/g,x=>"I'm, Slim, Shady,real,lease stand up, the ".split`,`[x])

console.log(F())

edc65

Posted 2014-08-01T14:31:39.700

Reputation: 31 086

Nice implementation :) You can save a byte by using a template literal in the replace function and replacing \n with an actual newline. – Shaggy – 2017-04-18T15:20:54.867

@Shaggy I could do better with template literals, but they where not implemented in any browser at time (Aug 2014) – edc65 – 2017-04-18T19:14:20.233

Ah, I see. Does that invalidate my answer, so, seeing as this question was posted before the spec that defines template literals was standardised?

– Shaggy – 2017-04-18T19:33:33.593

@Shaggy your answer is not invalid: if there was no acceptable/legal interpreter for the language at the time the question was written, an answer may be submitted as non-competing. (https://codegolf.meta.stackexchange.com/a/7990/21348)

– edc65 – 2017-04-19T08:57:41.327

Can someone explain how this works? Looks like magic to me. – Jacob Persi – 2018-01-02T19:34:39.000

1@JacobPersi have a look – edc65 – 2018-01-02T23:14:46.210

1crazy shit, i like it – john Smith – 2014-08-05T13:35:43.343

6

GolfScript, 162 154 152 144 bytes

"I'm ":i"Slim ":|"Shady":y". Yes, "i"the real ":!y".
All you other "|y"s are just imitating.
So, won't "!|y" p""lease stand up":l"?
P"l". P"l"."

Test online

ProgramFOX

Posted 2014-08-01T14:31:39.700

Reputation: 8 017

3You can save 8 bytes by replacing \n and n with an actual linefeeds and choosing non-alphanumeric variable names (e.g., &) to eliminate the whitespace around them. – Dennis – 2014-08-02T03:28:39.587

@Dennis Thanks a lot! I edited my answer. – ProgramFOX – 2014-08-04T06:50:16.137

The war has begun. – Josiah Winslow – 2014-11-01T23:13:02.863

6

CJam - 133

"I'm| Slim| Shady| the real|lease stand up|432. Yes, 412.
All you other32s are just imitating.
So, won't132 p0?
P0. P0."'|/~5,{`/\*}/

Try it at http://cjam.aditsu.net/

I think it also works in GolfScript if you replace '| with "|"

aditsu quit because SE is EVIL

Posted 2014-08-01T14:31:39.700

Reputation: 22 326

7All you other thirty-twos are just imitating. So, won't one three two pee ze-ro? Pee ze-ro. Pee ze-ro. That's how it's gonna sound in my head from now on. :P – Dennis – 2014-08-02T15:43:55.070

5

VBA 343 bytes

Sub EMINEM()
e = "Slim "
m = "Shady"
i = "I'm "
n = "lease stand up"
em = "real "

MsgBox i & e & m & ". Yes, " & i & "the " & em & m & "." & Chr(10) & "All you other " & e & m & "s are just imitating." & Chr(10) & "So, won't the " & em & e & m & " p" & n & Chr(10) & "P" & n & ". P" & n & "."

End Sub

Alex

Posted 2014-08-01T14:31:39.700

Reputation: 369

1Very Nice implementation – Malachi – 2014-08-01T20:41:35.590

Thanks Malachi, can't skip this golf as an old fans of Eminem. – Alex – 2014-08-01T20:42:42.810

I am working on one right now. – Malachi – 2014-08-01T20:42:58.207

I am interested to see another approach! Maybe ascii? – Alex – 2014-08-01T20:43:40.210

I could corner the market and port my C# to VB – Malachi – 2014-08-01T20:53:23.350

Looking forward to it! – Alex – 2014-08-01T20:53:54.490

2It's great to see someone golfing in VBA. Can't you print to the immediate window with ? though? – RubberDuck – 2014-08-01T21:01:27.200

1@ckuhn203 "?" changes to 'print' but i'll need debug.print so it screw up everytime i use "?". Feel free to point out if I can do it here, thanks! – Alex – 2014-08-01T21:02:36.747

http://codegolf.stackexchange.com/a/35564/20807 – RubberDuck – 2014-08-01T21:16:09.390

5

C# 209 205 201 197 209 212 217

class P{static void Main(){System.Console.Write("{0}{1}{2}. Yes, {0}{3}{2}.\nAll you other {1}{2}s are just imitating.\nSo, won't {3}{1}{2} p{4}?\nP{4}. P{4}.", "I'm ","Slim ","Shady","the real ","lease stand up");}}

Now with Proper Capitalization and New Lines

Malachi

Posted 2014-08-01T14:31:39.700

Reputation: 240

1You could probably save some more chars by moving spaces from format string to replacements, like WriteLine("{0}{1}","I'm ","Slim "). – NightElfik – 2014-08-02T00:09:48.140

1The ending newline doesn't seem to be a requirement, so consider using .Write() instead of .WriteLine(). Even if it's required, .Write() with a \n is shorter. – Bob – 2014-08-02T11:35:15.013

thank you @Bob that saved me another 4 byes! even on my VB answer too! – Malachi – 2014-08-03T00:17:59.407

You don't have capital P's on the Please Stand up twice – IEatBagels – 2014-08-07T14:53:54.527

@TopinFrassi, I fixed it on this answer and on my VB answer as well. I was also missing a space. I am asking about the new lines in the output right now... – Malachi – 2014-08-07T15:24:07.797

5

VB 253 249 245 241 244 285 259 223

I hate New Line termination

Module M
Sub Main
Console.Write("{0}{1}{2}. Yes, {0}{3}{2}.{5}All you other {1}{2}s are just imitating.{5}So, won't {3}{1}{2} p{4}?{5}P{4}. P{4}.","I'm ","Slim ","Shady","the real ","lease stand up",vbCr)
End Sub
End Module

Now with proper Capitalization And Newlines in the output, and no Tabs *

Thank you VB for vbCrLf

Thank you, @Taylor Scott!

Malachi

Posted 2014-08-01T14:31:39.700

Reputation: 240

1223 Bytes – Taylor Scott – 2018-01-02T18:17:21.310

1@TaylorScott, apparently it will allow you to code it without the indentations now. or maybe that is just Mono for you – Malachi – 2018-01-04T22:11:34.227

As far as I am aware, yes, what the compiler can parse is heavily dependent on what version you are on - especially heading back to VB 6.0 and prior – Taylor Scott – 2018-01-04T22:13:19.023

I wonder if this will run without the tabs and new lines????? – Malachi – 2014-08-04T12:58:52.853

it won't let me in Visual Studio 2013 – Malachi – 2014-08-04T12:59:55.450

5

VBA 307 Bytes

And obfuscated with line separators (just for fun). Based on this answer

Function p()
e = "Slim ": m = "Shady": i = "I'm ": n = "lease stand up": s = "real ": a = "."
p = i & e & m & ". Yes, " & i & "the " & s & m & a & Chr(10) & "All you other " & e & m & "s are just imitating." & Chr(10) & "So, won't the " & s & e & m & " p" & n & Chr(10) & "P" & n & ". P" & n & a
End Function

Called from the immediate window with ?p.

The 307 includes the ?p.

RubberDuck

Posted 2014-08-01T14:31:39.700

Reputation: 321

can't you get rid of the spaces between operators? – Malachi – 2015-09-29T19:48:12.663

1@Malachi according to the spec, yes, but actual implementations force the whitespace on you. If I did it in VBScript instead I could probably shorten it up a bit. – RubberDuck – 2015-09-29T20:00:49.627

Would you save bytes by assigning a variable to Chr(10)? – caird coinheringaahing – 2018-01-04T23:18:49.067

No @cairdcoinheringaahing. I considered that when I first golfed this, but the variable & line separator would be just as many chars. Maybe one saved? – RubberDuck – 2018-01-04T23:51:56.833

1Oh, ?P in immediate window I see, +1 – Alex – 2014-08-01T21:21:49.687

you should get rid of a = "." I think you could shave off a few Bytes – Malachi – 2014-08-01T21:39:40.643

Actually, on second thought, I think it's more readable with the line seperators vs new lines... – RubberDuck – 2014-08-01T23:52:49.297

5

PHP - 151 bytes

<?="I'm Slim Shady".gzinflate("]Œ1
„0E{Á;üÎFr…ÅÒNHe9à°F&‰d&,Þ~Avmßûï;̬=Æ.ÂVFaø•–ÃµÍ ‚#WäÓx    ñR
*Œ­ª!Ä`d!½Ï¹Ï=>9uöót7Ø…Ij”ÔýÕ6Ó?qx‚/");@realstand;

hexdump:

0000000 3f3c 223d 2749 206d 6c53 6d69 5320 6168
0000010 7964 2e22 7a67 6e69 6c66 7461 2865 5d22
0000020 318c 840a 1030 7b45 3bc1 cefc 7246 c585
0000030 4ed2 6548 e039 46b0 8926 2664 de2c 057e
0000040 7641 df6d effb cc3b 3dac 2ec6 56c2 6146
0000050 f812 9695 b5c3 20cd 2382 e457 14d3 0978
0000060 52f1 2a0a ad8c 21aa 60c4 2164 cfbd cfb9
0000070 3e3d 7539 f3f6 3774 85d8 1949 946a d416
0000080 d5fd d336 713f 8278 222f 3b29 7240 6165
0000090 736c 6174 646e 003b
0000097

Another answer without using gzinflate (228 bytes):

Reads shorts (16 bits), extracts 3 5-bit integers as indices of a lookup table.

<?$a=str_split(" .Yes,AlyouthrajimngSw'pP?
")+[27=>"I'm ",'Slim ',@Shady,'the real ','lease stand up'];$b=unpack(@v26,'o…~:tç       (ƒ-4€t£9ê`0BË-SBT $2U`Y{ÿXg |ác');foreach($b as$c)echo$a[$c>>10],$a[$c>>5&31],$a[$c&31];

hexdump:

0000000 3f3c 6124 733d 7274 735f 6c70 7469 2228
0000010 2e20 6559 2c73 6c41 6f79 7475 7268 6a61
0000020 6d69 676e 7753 7027 3f50 220a 2b29 325b
0000030 3d37 223e 2749 206d 2c22 5327 696c 206d
0000040 2c27 5340 6168 7964 272c 6874 2065 6572
0000050 6c61 2720 272c 656c 7361 2065 7473 6e61
0000060 2064 7075 5d27 243b 3d62 6e75 6170 6b63
0000070 4028 3276 2c36 9d27 026f 8504 7e0c 3a03
0000080 e774 0918 0901 8328 1c2d 8034 a374 ea39
0000090 6001 3011 cb42 532d 5442 a007 3224 6055
00000a0 9d59 ff7b 5802 2067 e17c 2763 3b29 6f66
00000b0 6572 6361 2868 6224 6120 2473 2963 6365
00000c0 6f68 6124 245b 3e63 313e 5d30 242c 5b61
00000d0 6324 3e3e 2635 3133 2c5d 6124 245b 2663
00000e0 3133 3b5d
00000e4

es1024

Posted 2014-08-01T14:31:39.700

Reputation: 8 953

5

C, 374

By moving memory

Not the shortest but can it get any faster?

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *s;
void m (int d, int f, int p)
{
    memmove (s+p+f, s+p, strlen(s)-p+1); // Shift a part of the string to make room for our insertion
    memcpy (s+p, s+d, f); // Copy the desired reference in place
}
int main ()
{
    s = malloc (168);
    strcpy (s,"I'm Slim Shady. Yes, the real.\nAll you others are just imitating.\nSo, won't the please stand up?\nP. ");

    m (0, 4, 21);
    m (8, 6, 33);
    m (3, 11, 54);
    m (28, 5, 100);
    m (3, 11, 105);
    m (118, 14, 135);
    m (134, 16, 151);
    puts (s);
}

It's 374 chars long after minification.

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char*s;void m(int d,int f,int p){memmove(s+p+f,s+p,strlen(s)-p+1);memcpy(s+p,s+d,f);}int main(){s=malloc(168);strcpy(s,"I'm Slim Shady. Yes, the real.\nAll you others are just imitating.\nSo, won't the please stand up?\nP. ");m(0,4,21);m(8,6,33);m(3,11,54);m(28,5,100);m(3,11,105);m(118,14,135);m(134,16,151);puts(s);}

marctrem

Posted 2014-08-01T14:31:39.700

Reputation: 151

1Nice, but you can golf it down to 278 bytes: char s[168]="I'm Slim Shady. Yes, the real.\nAll you others are just imitating.\nSo, won't the please stand up?\nP. ";m(d,f,p){memmove(s+p+f,s+p,strlen(s)-p+1);memcpy(s+p,s+d,f);}main(){m(0,4,21);m(8,6,33);m(3,11,54);m(28,5,100);m(3,11,105);m(118,14,135);m(134,16,151);puts(s);} – Johan du Toit – 2017-04-18T16:20:40.020

5

Java, 247

My first code golf, while learning Java. Posted it because it beats the other (fully functional) Java entry and the Haskell entry.

class S{public static void main(String[]a){String s="I'm",t=" Slim",u=" Shady",v=" the real",w="lease stand up";System.out.print(s+t+u+". Yes, "+s+v+u+".\nAll you other"+t+u+"s are just imitating.\nSo, won't"+v+t+u+" p"+w+"?\nP"+w+". P"+w+".");}}

CoolWilly

Posted 2014-08-01T14:31:39.700

Reputation: 301

4

PowerShell 194 189 164

"{0}{1}{2}. Yes, {0}{3}{2}.`nAll you other {1}{2}s are just imitating.`nSo, won't {3}{1}{2} p{4}?`nP{4}. P{4}."-f"I'm ","Slim ","Shady","the real ","lease stand up"

Somehow my answer ened up resembling @nneonneo's a lot, even though it wasn't my original intent...

DarkAjax

Posted 2014-08-01T14:31:39.700

Reputation: 669

Changing \n to line breaks save three bytes – Veskah – 2019-07-22T14:08:19.790

3

///, 131 bytes

/0/ Shady//1/lease stand up//2/ the real//3/ Slim0//4/I'm/43. Yes, 420.
All you other3s are just imitating.
So, won't23 p1?
P1. P1.

Try it online!

Erik the Outgolfer

Posted 2014-08-01T14:31:39.700

Reputation: 38 134

3

Rust (full program), 183 180 178 173 172 bytes

178 -> 173 bytes, thanks to Sara J

fn main(){print!("{}{}{}. Yes, {0}{}{2}.
All you other{1}{2}s are just imitating.
So, won't{3}{1}{2} p{}?
P{4}. P{4}.","I'm"," Slim"," Shady"," the real","lease stand up")}

Try it online!

ruohola

Posted 2014-08-01T14:31:39.700

Reputation: 414

173 bytes – Sara J – 2019-07-22T15:34:15.517

@SaraJ Ofc, obviously! Thanks :) – ruohola – 2019-07-22T15:41:04.387

3

Lua 201 193 188 178

h=" Shady"i="I'm"s=" Slim"..h r=" the real"u="lease stand up"io.write(i,s,". Yes, ",i,r,h,".\nAll you other",s,"s are just imitating.\nSo, won't",r,s," p",u,"?\nP",u,". P",u,".")

Ungolfed & expanded some

h=" Shady"
i="I'm"
s=" Slim"..h
r=" the real"
u="lease stand up"
io.write(i,s,". Yes, ",i,r,h,".\nAll you other",s,"s are just imitating.\nSo, won't",r,s," p",u,"?\nP",u,". P",u,".")

Kyle Kanos

Posted 2014-08-01T14:31:39.700

Reputation: 4 270

3

PYTHON: 198 193 bytes

i,s,h,r,t="I'm ","Slim ","Shady","real ","lease stand up"
print i+s+h+". Yes, "+i+"the "+r+h+".\nAll you other "+s+h+"s are just imitating.\nSo, won't the "+r+s+h+" p"+t+"?\n"+"P"+t+'. P'+t+'.'

RageCage

Posted 2014-08-01T14:31:39.700

Reputation: 245

move please into the variable holding stand up and get rid of your g variable, and possibly remove /n you don't need them – Malachi – 2014-08-01T21:34:12.647

If I remove the \n the newlines will be gone, and I presume those are necessary for the output. – RageCage – 2014-08-05T13:02:50.987

3

PHP - 196 171

<?$S="Shady";$P="lease stand up";$R="the real ";$I="I'm ";$s="Slim ";echo"$I$s$S. Yes, $I$R$S
All you other $s$S"."s are just imitating.
So, won't $R$s$S p$P?
P$P. P$P."

;

ArcticanAudio

Posted 2014-08-01T14:31:39.700

Reputation: 111

3

Perl, 161 164 bytes

Not quite as short as squeamish ossifrage's answer, but I wanted to share the CamelCaseCompression, which no one else has used and allows the removal of many spaces and quotation marks.

It does need a slightly longer text to become truly beneficial, though.

$_="0 1 2. Yes, 03 2.
AllYouOther 1 2sAreJustImitating.
So, won't3 1 24?
4. 4.";s/\d/qw(I'm Slim Shady TheReal PleaseStandUp)[$&]/ge;s/\B([A-Z])/ \L\2/g;print

Edit: Following Thaylon's suggestion, the s/(\S)([A-Z])/\1 \L\2/g substitution has been shortened by four characters. That doesn't pick up on comma-capital digraphs, though, so an extra space had to be inserted before "won't".

comperendinous

Posted 2014-08-01T14:31:39.700

Reputation: 466

Interesting. A bit shorter with "not a word boundary": s/\B([A-Z])/ \L\1/g; – Thaylon – 2014-08-04T09:31:01.613

Thanks @Thaylon. \B is something I'm going to have to read about. It's weird. – comperendinous – 2014-08-05T06:36:18.680

3

Common Lisp, 197

(let((a"I'm ")(b"Slim ")(c"Shady")(d"real ")(e"lease stand up"))(format t"~{~A~}"(list a b c". Yes, "a"the "d c".
All you other "b c"s are just imitating.
So, won't the "d b c" p"e"?
P"e". P"e"")))

fstamour

Posted 2014-08-01T14:31:39.700

Reputation: 131

3

Golfscript - 140 (tweetable)

"I'm"" Slim"" Shady"". Yes, "3$" the real"3$".
All you other"6$2$"s are just imitating.
So won't"5$3$3$" p""lease stand up""?
P"1$". P"1$"."

I'm Slim Shady. Yes, 3 the real 3.

All you other 62s are just imitating.

So won't 533 please stand up?

P1. P1.

Josiah Winslow

Posted 2014-08-01T14:31:39.700

Reputation: 725

2

JavaScript (ES6), 165 163 bytes

f=

_=>`${a="I'm"}${b=` Slim${c=` Shady`}`}. Yes, ${a+(d=" the real")+c}.
All you other${b}s are just imitating.
So, won't${d+b} p${e="lease stand up"}?
P${e}. P${e}.`

console.log(f());

Shaggy

Posted 2014-08-01T14:31:39.700

Reputation: 24 623

2

Python 3.6, 166 bytes

a,b,c,d="I'm","Slim Shady","the real","lease stand up"
print(a,b+". Yes,",a,c,b[5:]+".\nAll you other",b+"s are just imitating.\nSo, won't",c,b,f"p{d}?\nP{d}. P{d}.")

Try it online!

landfill baby

Posted 2014-08-01T14:31:39.700

Reputation: 21

2

Java, 308 301 298 292 258

Java is a bit verbose, but here is my try:

class P{public static void main(String[]c){String s=" Shady",t=" the real",l="lease stand up",i=" Slim",m="I'm";System.out.format("%s%s%s. Yes, %s%s%s.\nAll you other%s%ss are just imitating.\nSo, won't%s%s%s p%s?\nP%s. P%s.",m,i,s,m,t,s,i,s,t,i,s,l,l,l);}}

tim

Posted 2014-08-01T14:31:39.700

Reputation: 451

1You can 1-merge 'real' and 'the', they're always together 2-move some blanks out of the big format string 3-above all: use more single variables, the a array is of no use. All in all you can go to ~270 – edc65 – 2014-08-01T21:05:14.777

@edc65 I didn't know that I could declare multiple strings in Java without writing String multiple times. That's why I had the array for all but one variable. Thanks a lot for the hints. – tim – 2014-08-01T21:40:42.703

2

C# 226

class P{static void Main(){System.Console.Write("{0}{1}{2}. Yes, {0} the{3} {2}.All you other{1}{2}s are just imitating.So, won't the{3}{1}{2} please{4}up?Please{4}up. Please{4}up.","I'm"," Slim ","Shady"," real"," stand ");}}

CheeZe5

Posted 2014-08-01T14:31:39.700

Reputation: 121

you missed some spots where you can remove a bunch of characters, check mine out. http://codegolf.stackexchange.com/a/35557/9435

– Malachi – 2014-08-01T21:03:13.453

2

MySQL: 273 267

set @i="I'm", @s="Slim", @h="Shady", @r="real", @t="stand", @p="lease stand up";select concat(@i," ",@s," ",@h,". Yes, ",@i," the ",@r," ",@h,".\r\nAll you other ",@s," ",@h,"s are just imitating.\r\nSo, won't the ",@r," ",@s," ",@h," p",@p,"?\r\nP",@p,". P",@p,".");

g.carvalho97

Posted 2014-08-01T14:31:39.700

Reputation: 139

2

Ruby: 211

This one is impressive since simply printing the text is more efficient, but this is way cooler.

puts Zlib.inflate("eJxdjDEKwzAQBHu9Yjs3Rl8ILt0FVKU88GErnCWhO2H8e6sIwUmzxQyz87AjSOyz0XJ6vFhHzB3axqhM8hFuEsGZG3IX9ZYoqDLeTQ1xj0YW0+pdyCOOnAa7/XwTFGFShhqlBa083PMXePyDC15NOP8=".unpack("m0")[0])#I'mSlimShadyrealstand

Automatico

Posted 2014-08-01T14:31:39.700

Reputation: 171

2

F#, 250 242

[1..21]|>List.iter((function|1|5->"I'm "|2|9|13->"Slim "|4->". Yes, "|6|12->"the real "|8->".\nAll you other "|11->"s are just imitating.\nSo won't "|15->" p"|16|18|20-> "lease stand up"|17->"?\nP"|19->". P"|21->"."|_->"Shady")>>printf "%s")

More readable version with line breaks:

[1..21]|>List.iter((function
|1|5->"I'm "
|2|9|13->"Slim "
|4->". Yes, "
|6|12->"the real "
|8->".\nAll you other "
|11->"s are just imitating.\nSo won't "
|15->" p"
|16|18|20-> "lease stand up"
|17->"?\nP"
|19->". P"
|21->"."
|_->"Shady")>>printf "%s")

Mark Pattison

Posted 2014-08-01T14:31:39.700

Reputation: 121

2

JavaScript 259 240 238 bytes

Not that good but might as well post an answer.

b=String.prototype,b.a=b.replace,alert("123. Yes, 16537All you other 23s are just imitating7So, won't 6523 p4?\nP4. P4.".a(/1/g,"I'm ").a(/2/g,"Slim ").a(/3/g,"Shady").a(/4/g,"lease stand up").a(/5/g,"real ").a(/6/g,"the ").a(/7/g,".\n"))

More readable version :

b=String.prototype
b.a=b.replace
alert("123. Yes, 16537All you other 23s are just imitating7So, won't 6523 p4?\nP4. P4."
    .a(/1/g,"I'm ")
    .a(/2/g,"Slim ")
    .a(/3/g,"Shady")
    .a(/4/g,"lease stand up")
    .a(/5/g,"real ")
    .a(/6/g,"the ")
    .a(/7/g,".\n")
    )

Zaenille

Posted 2014-08-01T14:31:39.700

Reputation: 538

2

PHP, 179 Bytes

<?
$i="I'm";
$s=" Slim";
$h=" Shady";
$p="lease stand up";
$r=" the real";
echo"$i$s$h. Yes, $i$r$h.\nAll you other$s$h"."s are just imitating.\nSo, won't$r$s$h p$p?\nP$p. P$p.";

And golfed

<?$i="I'm";$s=" Slim";$h=" Shady";$p="lease stand up";$r=" the real";echo"$i$s$h. Yes, $i$r$h.\nAll you other$s$h"."s are just imitating.\nSo, won't$r$s$h p$p?\nP$p. P$p.";

Brobin

Posted 2014-08-01T14:31:39.700

Reputation: 201

1

C (gcc), 186 181 bytes

-5 bytes thanks to ceilingcat.

f(){char*a=" Slim Shady",*c="I'm the real";printf("%.3s%s. Yes, %s%s.\nAll you other%ss are just imitating.\nSo, won't%s%s p%s?\nP%8$s. P%8$s.",c,a,c,a+5,a,c+3,a,"lease stand up");}

Try it online!

gastropner

Posted 2014-08-01T14:31:39.700

Reputation: 3 264

1

Stax, 116 115 112 97 bytes

═Φ-cgvUV;Mc╔&♠◘Aτö,↔↕■∙o→¬▬⌡♪╓B▒ε,æO5≤,╝2Æ;╗)▀ìc)E]«╬ôÅ∩╖╚d:☻╔╩2Ñs*çφIBë╕gpÜI'mSlimShadyrealstand

Run and debug it

All credit to this answer to Khuldraeseth na'Barya. I originally had a solution, but it's been completely re-written with none of the original now.

Stax programs have two representations. Pure ASCII and "packed". Packed stax uses all 256 byte values, and thus is smaller than ASCII, which uses only 95. This solution is particularly clever because it's packed code that contains the required words. When unpacked, the I'mSlimShadyrealstand roughly becomes "j|ksRfwb)ys\\GP*vOyn@[<a\\"d which is a no-op. The rest of the program is pretty straight-forward compressed string literals.

recursive

Posted 2014-08-01T14:31:39.700

Reputation: 8 616

1

Compress the whole darn thing and use a comment for 112 bytes.

– Khuldraeseth na'Barya – 2019-08-19T22:06:18.490

Wow, That's so simple. I love it. – recursive – 2019-08-19T23:37:01.957

Kinda makes me wonder. The site doesn't allow packing of tabs, but some meddling with TS yields a packing of "\t<c>" that unpacks to "h<c-1>". Might it be possible to pack a tab in such a way that unpacking preserves it and that arbitrary characters can be inserted somewhere in the packed version? – Khuldraeseth na'Barya – 2019-08-20T03:09:20.537

@Khuldraesethna'Barya: I think you're on to something. Two ascii programs with the same length that share some suffix will share a prefix in their packed representation. I don't think tabs are going to be able to help, but I think it might be possible to embed the words in the midst of an ignored string literal when unpacked.

Here is the unpacking code used by the "web app".

– recursive – 2019-08-20T14:39:45.100

1Got it! This can likely be shortened by removing the d, but it's an improvement nevertheless. – Khuldraeseth na'Barya – 2019-08-20T15:03:55.850

I'm dumbfounded right now. As far as I can tell, getting that necessary " character (and without something before it that would break execution or output!) was pure luck. – Khuldraeseth na'Barya – 2019-08-20T15:11:53.840

Wow, that was very quick work. – recursive – 2019-08-20T15:39:26.710

1

Matlab 206 bytes

i='I''m ';s='Slim ';h='Shady';r=' real ';t=' stand ';p=['Please' t 'up. '];sprintf([i s h '. Yes, ' i 'the' r h '.\nAll you other ' s h 's are just imitating.\nSo, won''t the' r s h ' please' t 'up?.\n' p p])

flawr

Posted 2014-08-01T14:31:39.700

Reputation: 40 560

Found a typo: h ' are should become h 's are. -- You could also save a little by changing up. to up. so you don't need the ' ' near the end. – Dennis Jaheruddin – 2014-08-04T11:47:33.950

1

F#, 197 bytes

printf"%A"<|System.String.Format("{0}{1}{2}. Yes, {0}{3}{2}.\nAll you other {1}{2}s are just imitating.\nSo, won't {3}{1}{2} p{4}?\nP{4}. P{4}.","I'm ","Slim ","Shady","the real ","lease stand up")

F#, 210 bytes (alternate method)

let a,b,c,d,e="I'm ","Slim ","Shady","the real ","lease stand up"
printf"%s"<|a+b+c+". Yes, "+a+d+c+".\nAll you other "+b+c+"s are just imitating.\nSo, won't "+d+b+c+" p"+e+"?\nP"+e+". P"+e+"."

Ken

Posted 2014-08-01T14:31:39.700

Reputation: 111

1

Java - 204

Ungolfed:

String i = "I'm", s = " Slim", h = " Shady", r = " the real", t = "lease stand up";
System.out.printf(i + s + h + ". Yes, " + i + r + h + ".%n"
        + "All you other " + s + h + "s are just imitating.%n"
        + "So, won't" + r + h + " p" + t + "?%n"
        + "P" + t + ". P" + t + ".");

Golfed:

String i="I'm",s=" Slim",h = " Shady",r =" the real",t="lease stand up";System.out.printf(i+s+h+". Yes, "+i+r+h+".%nAll you other"+s+h+"s are just imitating.%nSo, won't"+r+h+" p"+t+"?%nP"+t+". P"+t+".");

Barracuda

Posted 2014-08-01T14:31:39.700

Reputation: 31

1

Haskell, 250 221 bytes

Hell it beats the java version, so I'm posting. Is this really as good as it gets, or is there some secret function or monad or something that would make this task easier to complete succinctly?

Edit: I used intercalcate " " instead of unwords...

putStr$let i="I'm";s="Slim";h="Shady";r="the real";p="lease stand up";d=".";n='\n';in unwords[i,s,h++d,"Yes,",i,r,h++d,n:"All you other",s,h++"s","are just imitating"++d,n:"So, won't",r,s,h,'p':p++"?",n:'P':p++d,'P':p++d]

DrJPepper

Posted 2014-08-01T14:31:39.700

Reputation: 499

I just posted a Java entry which beats your Haskell entry. Thought you might want to know ;) – CoolWilly – 2014-08-05T08:54:18.633

1

Python3 - 233 219

d,s="i'm|slim|shady|real|stand|yes|the|all you other|are just imitating|so,won't|please|up",'A B C.F,A G D C.H B Cs I.J G D B C K E L?K E L.K E L.'
for w in'ABCDEFGHIJKL':s=s.replace(w,d.split('|')[ord(w)-65])
print(s)

Late night entry, I think there's still some room for optimization, feel free to suggest.

LemonBoy

Posted 2014-08-01T14:31:39.700

Reputation: 339

This entry is unfortunately invalid - as it produces the wrong output as can be seen here perhaps you could try this or this for 195 Bytes

– Taylor Scott – 2018-01-06T05:43:55.757

1

Dart - 178 characters

Plain string interpolation and variables.

main({i:"I'm ",r:"the real ",s:"Slim ",z:"Shady",t:"lease stand up"}){print("$i$s$z. Yes, $i$r$z.\nAll you other $s${z}s are just imitating.\nSo, won't $r$s$z p$t?\nP$t. P$t.");}

Fiddling with whitespace can get it down to 176:

main({i:"I'm",r:" the real",s:" Slim",z:" Shady",t:"lease stand up"}){print("$i$s$z. Yes, $i$r$z.\nAll you other$s${z}s are just imitating.\nSo, won't$r$s$z p$t?\nP$t. P$t.");}

lrn

Posted 2014-08-01T14:31:39.700

Reputation: 521

1

Clojure - 255 chars

Simple solution from a Clojure newbie. Golfed:

(defn p[f & x](println(apply format f x)))(let[i "I'm" s "Shady" l "Slim" e "lease stand up" r "the real"](p "%s %s %s. Yes, %s %s %s." i l s i r s)(p "All you other %s %ss are just imitating." l s)(p "So, won't %s %s %s p%s?" r l s e)(p "P%s. P%s." e e))

Ungolfed:

(defn p [f & x] (println (apply format f x)))
(let [i "I'm" s "Shady" l "Slim" e "lease stand up" r "the real"]
    (p "%s %s %s. Yes, %s %s %s." i l s i r s)
    (p "All you other %s %ss are just imitating." l s)
    (p "So, won't %s %s %s p%s?" r l s e)
    (p "P%s. P%s." e e))

Michael Easter

Posted 2014-08-01T14:31:39.700

Reputation: 585

1

Javascript, 191

Pretty basic attempt:

alert((a="I'm")+(b=" Slim")+(c=" Shady")+". Yes, "+a+" the "+(d="real")+c+".\nAll you other"+b+c+"s are just imitating.\nSo, won't the "+d+b+c+" p"+(e="lease stand up")+"?\nP"+e+". P"+e+".");

Rhubarb Custard

Posted 2014-08-01T14:31:39.700

Reputation: 374

1

VBA, 165

Paste directly in the intermediate pane.

i="I'm":s=" Slim Shady":r=" the real":p="lease stand up":?i+s". Yes, "i+r+mid(s,6)".":?"All you other"s"s are just imitating.":?"So, won't"r+s" p"p"?":?"P"p". P"p"."

Major golfing comes from the quirky properties of VBA's intermediate pane's ? command. You can place a string variable followed immediately by a string literal and they will concatenate with no spaces.

JesterBLUE

Posted 2014-08-01T14:31:39.700

Reputation: 696

1

Pure bash, 156 bytes

Nothing especially exciting here:

f()(echo "$1$2$3. Yes, $1$4$3.
All you other $2$3s are just imitating.
So, won't $4$2$3 ${5,}?
$5. $5.")
f "I'm " Slim\  Shady "the real " "Please stand up"

Digital Trauma

Posted 2014-08-01T14:31:39.700

Reputation: 64 644

0

c, 214 byte

main(){char*k[]={"I'm ","Slim ","Shady","the real ","lease stand up"},*w="012. Yes, 032.\nAll you other 12s are just imitating.\nSo, won't 312 p4?\nP4. P4.",c;for(;*w;)c=*w++,c>47&&c<58?printf(k[c-48]):putchar(c);}

Try it online

Johan du Toit

Posted 2014-08-01T14:31:39.700

Reputation: 1 524

0

C, 220 bytes

char*s="I'm",*h="Slim",*a="Shady",*d="real",*y="lease stand up";f(){printf("%s %s %s. Yes, %s the %s %s.\nAll you other %s %ss are just imitating.\nSo, won't the %s %s %s p%s?\nP%s. P%s.",s,h,a,s,d,a,h,a,d,d,h,a,y,y,y);}

Detailed Live

#include <stdio.h>

char  *  s  =  "I'm"             ;
char  *  h  =  "Slim"            ;
char  *  a  =  "Shady"           ;
char  *  d  =  "real"            ;
char  *  y  =  "lease stand up"  ;

f(){printf("%s %s %s. Yes, %s the %s %s.\n\\
All you other %s %ss are just imitating.\n\\
So, won't the %s %s %s p%s?\nP%s. P%s.",

    s,
        h,
            a,
    s,
                d,
            a,
        h,
            a,
                d,
                d,
        h,
            a,
                    y,
                    y,
                    y

);}int main(){f();return 0;}

Khaled.K

Posted 2014-08-01T14:31:39.700

Reputation: 1 435

0

VBA, 164 Bytes

Anonymous VBE immediate window function that take no input and outputs to the VBE immediate window.

l=" Slim Shady":i="I'm":r=" the real":t="lease stand up":?i;s". Yes, "i;r;Mid(s,6)".":?"All you other"s" are just imitating.":?"So, won't"r;s" p"t"?":?"P"t". P"t".

Taylor Scott

Posted 2014-08-01T14:31:39.700

Reputation: 6 709

0

PHP, 166 bytes:

<?=($i="I'm"),($l=" Slim".$s=" Shady"),". Yes, $i",($r="  the real"),"$s.
All you other${l}s are just imitating.
So, won't$r$l p",($p="lease stand up"),"?
P$p. P$p.";

Titus

Posted 2014-08-01T14:31:39.700

Reputation: 13 814

0

J, 152 151 bytes

echo(0 :0)rplc'12345';"0'\'cut' Slim\ Shady\lease stand up\ the real\I''m'
512. Yes, 542.
All you other12s are just imitating.
So, won't412 p3?
P3. P3.

Try it online!

FrownyFrog

Posted 2014-08-01T14:31:39.700

Reputation: 3 112

0

Java 8, 181 bytes (function)

v->"".format("%s%s%s. Yes, %1$s%s%3$s.%nAll you other %2$s%3$ss are just imitating.%nSo, won't %4$s%2$s%3$s p%s?%nP%5$s. P%5$s.","I'm ","Slim ","Shady","the real ","lease stand up")

Try it online.

Java 8, 229 bytes (full program)

interface M{static void main(String[]a){System.out.printf("%s%s%s. Yes, %1$s%s%3$s.%nAll you other %2$s%3$ss are just imitating.%nSo, won't %4$s%2$s%3$s p%s?%nP%5$s. P%5$s.","I'm ","Slim ","Shady","the real ","lease stand up");}}

Try it online.

Kevin Cruijssen

Posted 2014-08-01T14:31:39.700

Reputation: 67 575

0

ink, 177 bytes

VAR i="I'm"
~temp s=" Slim"+w
VAR w=" Shady"
VAR r=" the real"
VAR l="lease stand up"
{i+s}. Yes, {i+r+w}.
All you other{s}s are just imitating.
So, won't{r+s} p{l}?
P{l}. P{l}.

Try it online!

Sara J

Posted 2014-08-01T14:31:39.700

Reputation: 2 576

0

C# .NET 211 + class stuff etc = 255 bytes

public class p{public static void Main(){System.Console.WriteLine(@"{0}{1}{2}. Yes, {0}the {3}{2}.
All you other {1}{2}s  are just imitating.
So, won't the {3}{1}{2} please {4}up?
Please {4}up. Please {4}up.","I'm ","Slim ","Shady","real ","stand ");}}

This is probably as {1} as it gets ;)
I just the @ string tag instead of \r\n because thats 1 byte instead of 12 (3 * \r\n)
EDIT: Didn't know you needed the full class so here

canttalkjustcode

Posted 2014-08-01T14:31:39.700

Reputation: 131

1

You can get 229 bytes by moving some more words into the variables and shuffling the spaces around a bit.

– Sara J – 2019-08-19T23:25:45.983

181 bytes by changing to using the Visual Interactive Compiler. By the way, class stuff and the main method are usually not counted toward the bytes anyway. – Malivil – 2019-11-22T13:12:44.573

0

R, 168 160 bytes

-8 bytes thanks to Giuseppe

`[`=gsub;cat(1["I'm",2[" Slim ",3["Shady",4[" the real",5["lease stand up","123. Yes, 14 3.
All you other23s are just imitating.
So, won't423 p5?
P5. P5."]]]]])

Try it online!

Sumner18

Posted 2014-08-01T14:31:39.700

Reputation: 1 334

Using \[``, we can get to 160

– Giuseppe – 2019-11-21T20:14:43.133

@Giuseppe It must be your life goal to improve on every answer I give... Oh well. I'll update it. – Sumner18 – 2019-11-21T20:32:21.357

No, I was just not very active on CCGC for a while, so I've been trying to catch up by going through the profiles of the R golfers I know to look for neat tricks, suggest improvements, and help foster community. :-) – Giuseppe – 2019-11-21T20:34:17.060

Ah, so that's why I was able to actually get some answers posted before the real master showed up. – Sumner18 – 2019-11-21T20:37:34.363

0

05AB1E, 124 122 bytes

"real"“‚µ stand€¾“"Shady""Slim"…I'm)•AΘ¥в‚Y•Sè`“ÿ ÿ ÿ.…Ü, ÿ€€ ÿ ÿ.
All€î€¶ ÿ ÿs€™‚‰ imitating.
So,¢²'t€€ ÿ ÿ ÿ ÿ?
ÿ. ÿ.“.ª

Try it online or verify that it's correct.

Explanation:

"real"              # Push string "real"
“‚µ stand€¾“        # Push dictionary string "please stand up"
"Shady"             # Push string "Shady"
"Slim"              # Push string "Slim"
…I'm               '# Push string "I'm"
)                   # Wrap all strings on the stack into a list:
                    #  ["real","please stand up","Shady","Slim","I'm"]
 •AΘ¥в‚Y•           # Push compressed integer 11123023204234
         S          # Converted to a list of digits: [1,1,1,2,3,0,2,3,2,0,4,2,3,4]
          è         # Index each into the string-list:
                    #  ["please stand up","please stand up","please stand up","Shady","Slim",
                    #   "real","Shady","Slim","Shady","real","I'm","Shady","Slim","I'm"]
           `        # Pop and push these strings separated to the stack
“ÿ ÿ ÿ.…Ü, ÿ€€ ÿ ÿ. # Push dictionary string "ÿ ÿ ÿ. yes, ÿ the ÿ ÿ.\n
All€î€¶ ÿ ÿs€™‚‰ imitating.
                    #                         All you other ÿ ÿs are just imitating.\n
So,¢²'t€€ ÿ ÿ ÿ ÿ? '#                         So, won't the ÿ ÿ ÿ ÿ?\n
ÿ. ÿ.“              #                         ÿ. ÿ."
                    # where the `ÿ` are automatically filled with the strings of the stack
      .ª            # And sentence capitalize every sentence
                    # (without disturbing existing uppercase letters)
                    # (after which the result is output implicitly)

See this 05AB1E tip of mine (sections How to use the dictionary? and How to compress large integers?) to understand why “‚µ stand€¾“ is "please stand up"; •AΘ¥в‚Y• is 11123023204234; and “ÿ ÿ ÿ.…Ü, ÿ€€ ÿ ÿ.\nAll€î€¶ ÿ ÿs€™‚‰ imitating.\nSo,¢²'t€€ ÿ ÿ ÿ ÿ?\nÿ. ÿ.“ is "ÿ ÿ ÿ. yes, ÿ the ÿ ÿ.\nAll you other ÿ ÿs are just imitating.\nSo, won't the ÿ ÿ ÿ ÿ?\nÿ. ÿ.".

Kevin Cruijssen

Posted 2014-08-01T14:31:39.700

Reputation: 67 575

0

Groovy - 196 chars

Pretty basic solution:

i="I'm"
s="Shady"
l="Slim"
p="lease stand up"
q="P$p."
r="the real"
f={println it}
f "$i $l $s. Yes, $i $r $s."
f "All you other $l ${s}s are just imitating."
f "So, won't $r $l $s p$p?"
f "$q $q"

Michael Easter

Posted 2014-08-01T14:31:39.700

Reputation: 585

0

Python: 175

Just a small change to the answer by nneonneo, but i can't comment and there don't seem to be private messages on this website so i'll post it this way.

a="Slim Shady"
print"{0}{1}. Yes, {0}{3}{2}.\nAll you other {1}s are just imitating.\nSo, won't {3}{1} p{4}?\nP{4}. P{4}.".format("I'm ",a,a[5:],"the real ","lease stand up")

DykgNUtRs5R4SRK

Posted 2014-08-01T14:31:39.700

Reputation: 1

0

FASM 212 bytes

z fix equ
A z "I'm "
C z "Shady"
D z "the real "
E z "Slim ",C
F z "Please stand up"
N=$A
L z ". "
display A,E,L,"Yes, ",A,D,C,L,N,"All you other ",E,"s are just imitating.",N,"So, won't ",D,E," ",F,"?",N,F,L,F,L 

user30087

Posted 2014-08-01T14:31:39.700

Reputation: 1

Wouldn't this capitalise the first Please as well? – Martin Ender – 2014-08-02T13:06:47.420

0

Extended BrainFuck - 195

{S~&I'm&}{I~& Slim&&M}{M~& Shady&}{P~& the real&}{L~&Please&&E~&.&}{E~& stand up&}>&S&I~&. Yes, &&S&P&M~&.
All you other&&I~&s are just imitating.
So, won't&&P&I~& please&&E~&?
&&L~& &&L<[<]>[.>]

Everything pure BF is BF. {name ...} is a macro, &name applies macro and ~"string" stores string in current position." can be any char so I choose & to obfuscate it a little.

Sylwester

Posted 2014-08-01T14:31:39.700

Reputation: 3 678

What's the point of extending Brainfuck? Doesn't that make it inherently less useful? – feersum – 2014-08-19T07:20:25.687

@feersum No, It allows for more abstraction. I made it as an exercise in bootstrapping so the compiler is written in itself and it compiles the code to BF. This was just a step towards the ultimate goal to make LISP run on BrainFuck and it only took 3 summers from planning to something working. EBF wasn't designed to be used for golfing but I found out that some of it's features allow for compact code. If I ever make new versions it would be to support a kind of switch-case/if-else and not make it a better golf language.

– Sylwester – 2014-08-19T07:38:32.563

0

PHP: 176

Thought I might as well give it a shot, nothing fancy though

$b="I'm ";$c="Slim";$d="Shady";$e="$c $d";$f="the real ";$g="lease stand up";echo"$b$e. Yes, $b$f$d.\nAll you other $e"."s are just imitating.\nSo, won't $f$e p$g?\nP$g. P$g.";

Peter

Posted 2014-08-01T14:31:39.700

Reputation: 225

0

Cobra - 188

class P
    def main
        s,p=" Slim Shady","lease stand up"
        l,p="I'm[s]. Yes, I'm the real[s[5:]].\nAll you other[s]s are just imitating.\nSo, won't the real[s] p[p]?\n","P[p]."
        print l+p,p

Οurous

Posted 2014-08-01T14:31:39.700

Reputation: 7 916

Please explain how the code works. – isaacg – 2014-08-04T04:02:10.483

0

JavaScript - 196 182

s="I'm ",l="Slim Shady",m="the real ",r="lease stand up";alert(s+l+". Yes, "+s+m+l.slice(5)+".\nAll you other "+l+"s are just imitating.\nSo, won't "+m+l+" p"+r+"?\nP"+r+". P"+r+".")

If you want a explanation, just comment.

izlin

Posted 2014-08-01T14:31:39.700

Reputation: 1 497

0

Javascript 185

alert((i="I'm")+(s=" Slim"+(h=" Shady"))+". Yes, "+i+(r=" the real")+h+".\n"+"All you other "+s+"s are just imitating.\n"+"So, won't"+r+s+" p"+(p="lease stand up")+"?\n"+"P"+p+". P"+p+".")

MegaTom

Posted 2014-08-01T14:31:39.700

Reputation: 3 787

0

///, 131 132 135 bytes

/!/lease stand up//#/ Shady//@/ Slim#//$/ real//%/I'm/%@. Yes, % the$#.
All you other@s are just imitating.
So, won't the$@ p!?
P!. P!.

Try it online!

acrolith

Posted 2014-08-01T14:31:39.700

Reputation: 3 728