Rambler's Top100
 
 
  02 декабря 2008 года Компьюлента
CIO
Терралаб
Бизнес-журнал
в поле зрения | обзоры и тесты | своя игра | интерактив
Улыбка без кота
Автор: Евгений Золотов
Опубликовано 03 апреля 2003 года

Будучи поверхностно знакомым едва ли с десятком языков программирования, сложно утверждать наверняка, но всё же вряд ли будет большим преувеличением сказать: большинство компьютерных языков схожи в своём отношении к "невидимым" символам или, говоря иначе, символам, отображающимся в тексте программы в виде пустого места. Если быть совсем точным, то символом можно назвать лишь один их них - "пробел" (код 32 в кодировке ASCII). Два других именуются управляющими символами и отвечают за перемещение курсора в нужном направлении. Это табуляция, изображаемая несколькими пробелами (код 9), и перевод строки (код 10). Впрочем, как бы их ни называли, суть не меняется, и особого значения в языках программирования им не придаётся. В лучшем случае они разделяют команды (BASIC), в худшем не значат вообще ничего (C). Вот почему с таким недоверием было встречено пару дней назад сообщение о создании языка, который не только придаёт значение трём вышеозначенным символам, но и основывает на них свой синтаксис. Это язык Whitespace - замечательная первоапрельская шутка британских студентов, воплощённая в машинный код.

Для того чтобы лучше понять идею, положенную в основу Whitespace, отрешитесь на минутку от всего что вы знаете из программирования - ибо отличия нового языка разительны. Впрочем, что тут говорить, взгляните лучше на отрывок программы, написанной на нём самом:

---------------------





---------------------

То, что вы видите - не издевательство. Просто единственные символы, которые что-то значат для интерпретатора Whitespace, это те самые "невидимки": пробел, TAB и перевод строки. Естественно, такой язык существенно проще по функциональности, нежели языки традиционные, но всё же он умеет многое - работает с целыми числами и текстом, стеком, наделён метками, подпрограммами, условными и безусловными переходами, вводом/выводом. Любая команда записывается комбинацией из двух и более символов, а все параметры представляются в двоичной форме. К примеру, такая комбинация - "[пробел][ пробел][ пробел][TAB][перевод строки]" - означает команду записи на вершину стека числа "1", а "[пробел][перевод каретки][пробел]" передаёт на вывод текущее обрабатываемое значение. Использование "нормальных" символов (буквы, цифры и т.п.) разрешено, но на работу программ они никакого влияния не оказывают, поскольку воспринимаются виртуальной машиной Whitespace в качестве комментариев.

Как было сказано выше, Whitespace обрёл свою известность как первоапрельская шутка: сообщение, впервые привлекшее к проекту внимание сетевой общественности, было опубликовано в международный День дураков. Но язык этот действительно существует. Сам он написан на малоизвестном функциональном языке Haskell для операционной системы Linux, но силами энтузиастов за последние дни реализован также в версиях для Ruby и Perl, а также обзавёлся добрым десятком забавных примеров (включающих и классическую программку "Hello, world"). Зачем это всё нужно никто точно не знает. На замену обычным языкам программирования Whitespace явно не годится. Однако, он очень неплох для разного рода экспериментов в информатике и может быть найдёт себе поклонников среди скучающих любителей электронных диковинок.

ТАКЖЕ В РАЗДЕЛЕ
18 февраля 2004 года
Его Величество Баг 
17 февраля 2004 года
Жизнь за окном 
16 февраля 2004 года
Гигабайтом меньше 
13 февраля 2004 года
Делай порно 
12 февраля 2004 года
Великолепная Шестерка 
11 февраля 2004 года
Есть смысл 
 
SQL Server 2008 - это шифрование баз данных, регулятор ресурсов, управление серверами на основе Политик Администрирования, а также готовность управлять большими объемами данных.

TechDays.ru - окунитесь в мир технологий Microsoft
Более 50 технических докладов для ИТ-специалистов и разработчиков. Узнайте самое интересное по каждой технологии за 15 минут. Если интересно - прослушайте дополнительные доклады.

Театр ИТ-кошмаров
Ваша ИТ-инфраструктура не способна выдерживать темп развития бизнеса? Не прячьтесь от реальности. Загляните в Театр ИТ-кошмаров и посмотрите правде в глаза.

/  бумажный номер

Тема номера: Кризис в ИТ Читайте на сайте тему номера "Кризис в ИТ" и другие статьи из журнала "Компьютерра" от 04 ноября 2008 года
  Архив номеров журнала

О проекте | Реклама на сайте | Рассылки сайта | КПК–версия | RSS-трансляция

© ООО «Компьютерра–Онлайн», 1997 — 2008.
При цитировании и использовании любых материалов ссылка на портал «Компьютерра–Онлайн» обязательна (для Интернет–изданий — www.computerra.ru)
Редакция сайта: site@computerra.ru
Техподдержка сайта: websupport@computerra.ru
Редакция журнала: inform@computerra.ru
Отдел рекламы: reklama@computerra.ru
Телефон: (495) 232–22–61, (495) 232–22–63
Работает на «Битрикс: Управление сайтом»
Почта защищена сервером «СПАМОРЕЗ»
Трилан — продвижение сайта,
поисковая оптимизация сайта

Сайт работает на сервере DEPO Computers
Rambler's Top100