52
\$\begingroup\$

Steve Ballmer is the ex-CEO of Microsoft, and in a recent article, claimed that he "still does not know what he did wrong with mobile".

As CodeProject's newsletter pointed out, "That article's title could be ended at so many spots and still be accurate".

Given no input, output the following:

Steve Ballmer still does not know.
Steve Ballmer still does not know what he did.
Steve Ballmer still does not know what he did wrong.
Steve Ballmer still does not know what he did wrong with mobile.

This must be outputted exactly as shown, and must be the only output of your program. You may include a single trailing newline.

This is so fewest bytes in each language wins

\$\endgroup\$
17
  • 67
    \$\begingroup\$ When I saw the title / tags I thought that the output would be developers developers ... \$\endgroup\$
    – Rod
    Jun 1, 2017 at 12:30
  • 15
    \$\begingroup\$ tcl, 25while 1 {puts developers}demo \$\endgroup\$
    – sergiol
    Jun 1, 2017 at 13:29
  • 8
    \$\begingroup\$ braingolf, 23 - 1"developers "[!@11 1>] :P \$\endgroup\$
    – Mayube
    Jun 1, 2017 at 13:31
  • 17
    \$\begingroup\$ And I thought of xkcd's Ballmer Peak \$\endgroup\$
    – ojdo
    Jun 1, 2017 at 15:51
  • 7
    \$\begingroup\$ yes, 14yes developers \$\endgroup\$
    – sergiol
    Jun 6, 2017 at 0:12

57 Answers 57

1
2
1
\$\begingroup\$

Charcoal, 71 69 bytes

A⟦⟧βF⪪”↓/‘ZQ≔'Wε}÷&’/↗∧μ~⎇²~ηρπ‖¢β\`σuσI⌀δ#″:§▶¬QγγQZ–” w⁺⪫⊞Oβι w¦.¶

Try it online! Link is to verbose version of code, with some separators omitted because deverbosifier can't do it automatically. This is basically a port of @KevinCruijssen's answer.

\$\endgroup\$
1
\$\begingroup\$

><>, 135 bytes

".wonk ton seod llits remllaB evetS"\
l?!\o99+2*1./"h tahw  "32p10pao     \
52p\".did e"/"   "53p33p
  /\".gnorw"/
1p/\".elibom htiw;"3

This basically goes through the string, prints then replaces the fullstop and conditionals with spaces to keep moving along the code.

It may be best to visualise it using the below ><> pond link;

><> pond!

Try it online!

\$\endgroup\$
2
  • 1
    \$\begingroup\$ It never occurred to me that know spelled backwards is wonk. \$\endgroup\$ Jun 1, 2017 at 15:40
  • 8
    \$\begingroup\$ @DigitalTrauma Well, now you wonk \$\endgroup\$ Jun 1, 2017 at 15:40
1
\$\begingroup\$

Mathematica, 108 104 bytes

"Steve Ballmer still does not know what he did wrong with mobile"~StringTake~#~Print~"."&/@{33,45,51,63}


Try it online!

-4 bytes from Martin

\$\endgroup\$
0
1
\$\begingroup\$

Powershell, 101 bytes

0..3|%{-join("Steve Ballmer still does not know"," what he did"," wrong"," with mobile")[0..$_]+"."}
\$\endgroup\$
2
  • \$\begingroup\$ 99 bytes, 5 years later :) \$\endgroup\$
    – Julian
    Jan 11, 2022 at 21:52
  • \$\begingroup\$ I meant 97, but I missed the edit window \$\endgroup\$
    – Julian
    Jan 11, 2022 at 21:58
1
\$\begingroup\$

><>, 126 bytes

 \"elibom htiw \"10p";"15p
  "gnorw  "10p
  "did eh tahw \"11p
 \"wonk ton seod llits remllaB evetS\"12p04.
  l?!vo
oo00.>a"."
\$\endgroup\$
1
\$\begingroup\$

Octave, 126 bytes

Two approaches, same length:

printf('%s.\n',(s={'Steve Ballmer still does not know',' what he did',' wrong',' with mobile'}){1},[s{1:2}],[s{1:3}],[s{1:4}])

Try it online!

s={'Steve Ballmer still does not know',' what he did',' wrong',' with mobile'};printf('%s.\n',s{1},[s{1:2}],[s{1:3}],[s{1:4}])

Try it online!

I could make it 21 bytes shorter, if I steal Rod's approach, but that's no fun.

for i=[33,45,51,63],disp(['Steve Ballmer still does not know what he did wrong with mobile'(1:i),46]),end
\$\endgroup\$
1
\$\begingroup\$

MATLAB / Octave - 120 bytes

a=[];s={'Steve Ballmer still does not know',' what he did',' wrong',' with mobile'};for i=s,a=[a i{1}];disp([a '.']);end

Logic is to start off with an empty string, then we have a cell array that contains the base string as the first element followed by the additions for the other elements. Note that each additional component has a space prepended. We then iterate through the cell array, and at each iteration we concatenate with a component and display the string to the user adding a period at the end.

We get:

>> a=[];s={'Steve Ballmer still does not know',' what he did',' wrong',' with mobile'};for i=s,a=[a i{1}];disp([a '.']);end
Steve Ballmer still does not know.
Steve Ballmer still does not know what he did.
Steve Ballmer still does not know what he did wrong.
Steve Ballmer still does not know what he did wrong with mobile.

Try it online!

http://www.tutorialspoint.com/execute_octave_online.php?PID=0Bw_CjBb95KQMRGZoWFJ1Z3NaNTQ

\$\endgroup\$
1
\$\begingroup\$

Perl 6, 90 bytes

"$_.".say for [\,] 'Steve Ballmer still does not know','what he did','wrong','with mobile'
\$\endgroup\$
1
\$\begingroup\$

Perl, 98 bytes

for('Steve Ballmer still does not know',' what he did',' wrong',' with mobile'){$s.=$_;say "$s."}

(Run via perl -M5.10.1 ... so that "say" will be recognized)

\$\endgroup\$
3
1
\$\begingroup\$

Retina, 82 bytes


ABCC with mobile.
C
B wrong
B
.¶A what he did
A
Steve Ballmer still does not know

Try it online!

\$\endgroup\$
1
\$\begingroup\$

Rust, 145 bytes

||{for i in b"!-3?"{println!("{}.",&"Steve Ballmer still does not know what he did wrong with mobile".to_owned().get(..*i as usize).unwrap());}};

Inspired by this solution.

Try it online!

\$\endgroup\$
1
\$\begingroup\$

Julia 0.6, 99 bytes

Generate the 4 desired strings with cumprod (* is string concatenation). Tack on a period with a broadcasted string concatenation .* and print all elements in the list with a broadcasted call println..

println.(cumprod(["Steve Balmer still does not know"," what he did"," wrong"," with mobile"]).*".")

Try it online!

\$\endgroup\$
1
\$\begingroup\$

Unix TMG, 145 bytes

p:parse(b)b:=(1){<Steve Ballmer still does not know>$1<.>*}=(1){1({< what he did>$1})}=(1){1({< wrong>$1})}={3({})2({})1({})1({< with mobile>})};

With some white spaces:

p:parse(b)
b:=(1){<Steve Ballmer still does not know>$1<.>*}
  =(1){1({< what he did>$1})} 
  =(1){1({< wrong>$1})}
  ={3({}) 2({}) 1({}) 1({< with mobile>})};
\$\endgroup\$
1
\$\begingroup\$

05AB1E, 43 bytes

”™¸ïßmer”“„â‚à€–ƒ€“…€À€½ƒ§'–Ñ„€Ž†©)η¦ðý'.«»

Try it online!

\$\endgroup\$
1
\$\begingroup\$

Deadfish~, 1507 bytes

{{i}dd}iiic{iii}iiic{d}dddddc{ii}dddc{dd}iiic{{d}iii}ic{iii}iiiic{iii}ic{i}iccic{d}iic{i}iiic{{d}ii}ddc{{i}dd}iiicic{d}dciiicc{{d}iii}ddddddc{{i}ddd}ddc{i}ic{d}c{i}iiiic{{d}ii}dddc{{i}dd}ddciciiiiic{{d}ii}ddddc{{i}ddd}iiiiiciiicic{i}ddc{{d}iii}dddc{ddd}ddddddc{{i}ddd}iiic{iii}iiic{d}dddddc{ii}dddc{dd}iiic{{d}iii}ic{iii}iiiic{iii}ic{i}iccic{d}iic{i}iiic{{d}ii}ddc{{i}dd}iiicic{d}dciiicc{{d}iii}ddddddc{{i}ddd}ddc{i}ic{d}c{i}iiiic{{d}ii}dddc{{i}dd}ddciciiiiic{{d}ii}ddddc{{i}ddd}iiiiiciiicic{i}ddc{{d}i}iiic{{i}d}dddc{d}dddddc{d}iiic{ii}dc{{d}ii}ddddc{{i}ddd}iicdddc{{d}iii}ic{{i}ddd}ddciiiiicdddddc{ddddd}ddddc{ddd}ddddddc{{i}ddd}iiic{iii}iiic{d}dddddc{ii}dddc{dd}iiic{{d}iii}ic{iii}iiiic{iii}ic{i}iccic{d}iic{i}iiic{{d}ii}ddc{{i}dd}iiicic{d}dciiicc{{d}iii}ddddddc{{i}ddd}ddc{i}ic{d}c{i}iiiic{{d}ii}dddc{{i}dd}ddciciiiiic{{d}ii}ddddc{{i}ddd}iiiiiciiicic{i}ddc{{d}i}iiic{{i}d}dddc{d}dddddc{d}iiic{ii}dc{{d}ii}ddddc{{i}ddd}iicdddc{{d}iii}ic{{i}ddd}ddciiiiicdddddc{{d}iii}iic{{i}d}dddcdddddcdddcdc{d}iiic{dddddd}iiic{ddd}ddddddc{{i}ddd}iiic{iii}iiic{d}dddddc{ii}dddc{dd}iiic{{d}iii}ic{iii}iiiic{iii}ic{i}iccic{d}iic{i}iiic{{d}ii}ddc{{i}dd}iiicic{d}dciiicc{{d}iii}ddddddc{{i}ddd}ddc{i}ic{d}c{i}iiiic{{d}ii}dddc{{i}dd}ddciciiiiic{{d}ii}ddddc{{i}ddd}iiiiiciiicic{i}ddc{{d}i}iiic{{i}d}dddc{d}dddddc{d}iiic{ii}dc{{d}ii}ddddc{{i}ddd}iicdddc{{d}iii}ic{{i}ddd}ddciiiiicdddddc{{d}iii}iic{{i}d}dddcdddddcdddcdc{d}iiic{{d}iii}dc{{i}d}dddc{d}ddddc{i}ic{d}ddc{{d}iii}ddc{{i}dd}dddciic{d}dddc{i}dddciiic{d}iiic{ddddd}dddddc

Try it online!

\$\endgroup\$
1
\$\begingroup\$

Stax, 38 37 bytes

¥úσÆ}≡ër↑←â .M)↨\7╒°1╕J°Y¥₧iC+F.ifd┼$

Run and debug it

\$\endgroup\$
2
  • \$\begingroup\$ should be 37 removing the swap s \$\endgroup\$
    – Razetime
    Jan 13, 2022 at 6:03
  • \$\begingroup\$ Quite right. Thanks. \$\endgroup\$
    – recursive
    Jan 13, 2022 at 18:57
0
\$\begingroup\$

QBIC, 95 bytes

?@Steve Ballmer still does not know`+@.`?A+@ what he did`+B?A+C+@ wrong`+B?A+C+D+@ with mobile.

This makes every part of the output into a separate string literal, where 'A$' holds Steve Ballmer still does not know, and then repeatedly prints 'A$', followed by 'B$' (a period) or the next literal.

Chopping the original string into substrings takes just a byte more (96 bytes):

?B,34|+@.`?_sB,46|+A?_sB,52|+A?@Steve Ballmer still does not know what he did wrong with mobile.

Here, 'B$' holds the entire thing, and parts of it are subsequently shown using substring ('_s...|`). Note that 'A$' now holds the period. This allows the full sentence to be moved to the end of the program, so we can drop the closing backtick.

\$\endgroup\$
0
\$\begingroup\$

Braingolf, 139 108 bytes

"Steve Ballmer still does not know
."VRMM!&@v!&@R" what he did"!&@v!&@R" wrong"!&@v!&@R " with mobile"&@v&@R
\$\endgroup\$
0
\$\begingroup\$

REXX, 123 bytes

s='Steve Ballmer still does not know what he did wrong with mobile'
w=6 9 10 12
do i=1 to 4
say subword(s,1,word(w,i)).
end
\$\endgroup\$
0
\$\begingroup\$

MSX-BASIC, 123 bytes

1s$="Steve Ballmer still does not know what he did wrong with mobile":forx=1to4:readl:?left$(s$,l);".":next:data33,45,51,64
\$\endgroup\$
0
\$\begingroup\$

Clojure(script), 122 bytes

(print(apply str(interpose"\n"(reductions str"Steve Ballmer still does not know"[" what he did"" wrong"" with mobile"]))))
\$\endgroup\$
0
\$\begingroup\$

Tcl, 115 bytes

puts [set S "Steve Ballmer still does not know"].\n[set h "$S what he did"].\n[set w $h\ wrong].\n$w\ with\ mobile.

Try it online!

\$\endgroup\$
0
\$\begingroup\$

Pyth - 98

K." w!ZÑ`±§ÑÔæý^àV;KæM×ü1A_4ÿ"J" what he did"A," wrong"" with mobile"=N\.+KN++KJNs[KJGN)s[KJGHN

The first string is a packed string

\$\endgroup\$
0
\$\begingroup\$

Fission 2, 109 107 bytes

R"Steve Ballmer still does not know"J2~~$$" what he did"J1~$" wrong"J0" with mobile."*
/0C+$$J1C+$$J2C@"."N

Try it online!

I was a little annoyed at the amount of whitespace in the previous Fission answer, so I decided to see if I could make it smaller.

\$\endgroup\$
0
0
\$\begingroup\$

GolfScript, 82 bytes

4,{"Steve Ballmer still does not know
 what he did
 wrong
 with mobile"n/\)<"."n}/

This can be considered "19 bytes" since that's the actual code.

4,{"nnn"s/\)<"."n}/ are all the excess characters that actually make the code itself.

Try it online!

Very happy with this. Splits along newlines, then adds the next element one at a time with a period until everything is printed. Lovely.

Explanation!

First of all, we have to acknowledge the string.
It's split along newlines right where we want the breaks to be.
This will be important.

For the explanation, our string is S.

4,{Sn/\)<"."n}/
4,              #Make an array [0 1 2 3]
  {          }/ #For each of those elements...
   Sn/          #Take our string and split it along newlines
      \         #Move our number-element to the front of the stack
       )        #Increase it by 1
        <       #Look at a number of parts of the split string eq. to that num
         "."    #Put a period after
            n   #Newline
                #Implicit "print the stack" at the end of creation. No quotes.
\$\endgroup\$
0
\$\begingroup\$

Python 3, 97 bytes

["Steve Ballmer still does not know what he did wrong with mobile"[:i]+"."for i in [33,45,51,63]]

Try it online!

\$\endgroup\$
0
\$\begingroup\$

Vyxal oj, 124 58 50 bytes

`æ⁽ æ∴Ǐ₇ ⟑∵ ƛ∪ λ† ¬λ λ⟨ he ¬ṙ ↔Ẏ λ» ∨⁺`»→⇩d»₆τẎ\.+

Try it Online!

\$\endgroup\$
1
1
2

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.