среда, 15 сентября 2010 г.

Hello, world

Вчера я написал в твиттере твит о том, что самая короткая хеловорлд-программа (выводящая на экран строку "Hello, world!") - на языке программирования PHP, потому что она состоит всего из надписи "Hello, world!". Интерпретатор PHP выдаёт эту строку без изменения, потому что всё, что не заключено в пхпшные тэги <? и ?>, считается оператором вывода.

Меня поправили уважаемые Rexadecimal и Beebeeep, уточнив, что самая короткая хеловорлд-программа написана на языке HQ9+, и состоит всего из одного символа H. Это шуточный язык, в котором всего 4 команды - H, Q, 9 и +, каждая из которых делает что-то. H выводит "hello, world", Q - выводит текст программы (например, "Q"), то есть Q-это, в таком случае, и самый короткий в мире квайн, 9 выводит какой-то стишок, а + инкрементирует счётчик, в котором, правда, нет смысла. Так как больше программы на этом языке больше ничего делать не умеют, то он не является полным по Тьюрингу и я полагаю, что он не считается.

Тем не менее, я побил рекорд HQ9+ сегодня утром, написав на баше интерпретатор только что придуманного мною языка программирования Chlos++ (тоже не полного по Тьюрингу), который, вне зависимости от текста программы, выводит "Hello, world!".
Создадим файл с текстом программы, не содержащим ни одного символа:
axshavan@white:~$ touch program.chlospp
И подадим его на вход интерпретатора:
axshavan@white:~$ ./chlos++interpretator.sh program.chlospp 
Hello, world!
Как видите, теперь самая короткая "хелловорлд"-программа состоит из 0 символов, это абсолютный мировой рекорд, который вряд ли когда-нибудь будет побит.

Кстати говоря, текст интерпретатора тоже довольно небольшой:
#!/bin/bash
echo "Hello, world!";
:)

3 комментария:

Ублюдочный Гугл поломал форму комментариев. Извините.