From: ts Date: 2001-11-21T21:42:35+09:00 Subject: [ruby-talk:26008] Re: Hello World considered harmful >>>>> "M" == Mark Slagell writes: M> Dave, care to explain any of that? Here in more readable form pigeon% cat b.rb #!/usr/bin/ruby -riis puts dump $-I<< %% As everyone knows, it is conventional to use a program that outputs the string "Hello World" as the first example in a book or tutorial on a new language. In fact, Dave and Andy's tutorial spends an hour covering it. Is this the best way to introduce a language? Not in my opinion. First, "Hello World" programs are just linear chunks of code: there are few opportunities to show a language at its best. And when you think about it, it's boring to read. $ %% ($-_=$_)&& $><< $:\ . pop.gsub(/.*\n/){(($&=~$/) + ? ).chr}.split( %r (?##[^\g]##) ).join << $-0 pigeon% pigeon% b.rb puts(dump) ($-I << (" As everyone knows, it is conventional to use a program that outputs the string \"Hello World\" as the first example in a book or tutorial on a new language. In fact, Dave and Andy's tutorial spends an hour covering it. Is this the best way to introduce a language? Not in my opinion. First, \"Hello World\" programs are just linear chunks of code: there are few opportunities to show a language at its best. And when you think about it, it's boring to read. $ " % ($-_ = $_))) && (($> << $:.pop.gsub(/.*\n/) do (($& =~ $/) + 32).chr end.split(/(?##[^\g]##)/).join) << $-0) HELLO WORLD! pigeon% You must now the aliases, for example $-I is an alias of $: hint : the number of characters in each line is important :-) Guy Decoux