Whitespace (167 characters)
To obtain the WS program, substitute a Space, Tab, or Linefeed character for S, T, L, respectively, in the following string:
SSSTSSTSSSLTLSSSSSTTSSTSTLTLSSSSSTTSTTSSLTLSSSSSTTSTTSSLTLSSSSSTTSTTTTLTLSSSSSTSSSSSLTLSSSSSTSTSTTTLTLSSSSSTTSTTTTLTLSSSSSTTTSSTSLTLSSSSSTTSTTSSLTLSSSSSTTSSTSSLTLSSLLL
or download the "raw" whitespace-only program in the text-file hello.ws.
When executed by this WS interpreter, this program prints "Hello World".
Explanation (ignore the whitespace here!):
SSS TSSTSSSL TLSS <-- output H (ascii code 72 in decimal, 1001000 in binary)
SSS TTSSTSTL TLSS <-- output e (ascii code 101 in decimal, 1100101 in binary)
SSS TTSTTSSL TLSS <-- etc
SSS TTSTTSSL TLSS
SSS TTSTTTTL TLSS
SSS TSSSSSL TLSS
SSS TSTSTTTL TLSS
SSS TTSTTTTL TLSS
SSS TTTSSTSL TLSS
SSS TTSTTSSL TLSS
SSS TTSSTSSL TLSS
LLL <-- end the program
The "middle" strings (e.g. TSSTSSSL) are the ascii codes (in binary, with S denoting 0, T denoting 1) for the successive letters in "Hello World". The prefix SSS pushes the number that follows it (terminated by an L) onto the stack. TLSS outputs the character whose ascii code is on top of the stack. Finally, according to this tutorial, a program must end with LLL for a clean exit by the interpreter.
NB: I'm entering this as a separate answer, because the other WS program entry is a 1287-character program that prints "Hello, world of spaces!" instead of the required "Hello World".
importin python is not permitted. – Alexandru Feb 1 '11 at 0:07letters,charactersandnumbers. – Alexandru Feb 1 '11 at 0:08