Whitespace язык программирования
ru.knowledgr.com
Whitespace — тайный язык программирования, развитый Эдвином Брэди и Крисом Моррисом в Даремском университете (также разработчики языков программирования Кая и Идриса). Это было выпущено 1 апреля 2003 (День веселых обманов). Его имя — ссылка на whitespace знаки. В отличие от большинства языков программирования, которые игнорируют или назначают мало значения большинству whitespace знаков, переводчик Whitespace игнорирует любые non-whitespace знаки. Только у мест, счетов и linefeeds есть значение. Интересное последствие этой собственности — то, что программа Whitespace может легко содержаться в пределах whitespace знаков программы, написанной на другом языке, кроме возможно на языках, которые зависят от мест для законности синтаксиса, таких как Пайтон, делая текст полиглотом.
Сам язык — обязательный основанный на стеке язык. Виртуальная машина, на которой у пробега программ есть стек и куча. Программист свободен выдвинуть целые числа произвольной ширины на стек (в настоящее время нет никакого внедрения чисел с плавающей запятой), и может также получить доступ к куче как к постоянному магазину для переменных и структур данных.
История
Whitespace был создан Эдвином Брэди и Крисом Моррисом в 2002. Slashdot дал обзор этого языка программирования 1 апреля 2003. Тот же самый год переводчик для него был осуществлен в Whitespace.
Идея использовать whitespace знаки в качестве операторов для C ++ язык была остроумно предложена пятью годами ранее Бьярне Страустрапом.
Синтаксис
Команды составлены из последовательностей мест, табуляторов и linefeeds. Например, пространство пространства пространства счета выполняет арифметическое добавление лучших двух элементов на стеке.
Данные представляются в двойных местах использования (0) и счетах (1), сопровождаются linefeed; таким образом, space-space-space-tab-space-tab-tab-linefeed двоичное число 0001011, который является 11 в десятичном числе. Все другие знаки проигнорированы и таким образом могут использоваться для комментариев.
Кодекс написан как Instruction Modification Parameter (IMP), сопровождаемый операцией. Таблица ниже показывает список всего IMPs в Whitespace.
Каждый IMP сопровождается одной из нескольких операций, определенных для того IMP. Посмотрите Обучающую программу Whitespace для списка операций, поддержанных в Whitespace.
Типовой кодекс
Следующее — прокомментированная программа Уайтспейса, которая просто печатает «Привет, мир!», где каждому, или характеру Linefeed предшествует комментарий «S», «T» идентификации или «L», соответственно:
Обратите внимание на то, что, когда исходный код Whitespace показан в некоторых браузерах, горизонтальный интервал, произведенный характером Счета, не фиксирован, но зависит от его местоположения в тексте относительно следующего горизонтального табулятора. В зависимости от программного обеспечения знаки Счета могут также быть заменены соответствующим переменным числом Символов пробела.
Whitespace
Whitespace (англ. пробел ) — эзотерический язык программирования, созданный Э. Брэди и К. Моррисом. Он был выпущен в свет 1 апреля 2003 года. Существенным его отличием является то, что для управляющих конструкций используются только непечатаемые символы, а именно: пробел, перевод строки и табуляция. Интересным следствием этого факта является то, что текст программы на языке Whitespace можно «скрыть» внутри исходных кодов другой программы.
Сам язык является реализацией стек-машины.
Синтаксис
Программа состоит из последовательности пробелов (двоичный 0) и табуляций (1), команды разделяются символом перевода строки. Остальные символы игнорируются интерпретатором и могут быть использованы в качестве комментариев.
Ссылки
Wikimedia Foundation . 2010 .
Смотреть что такое «Whitespace» в других словарях:
Whitespace — with Syntax Highlighting Le whitespace est un langage de programmation exotique inventé le 1er avril 2003 par Edwin Brady et Chris Morris. Comme caractères, il utilise les espaces, les tabulations et les retours à la ligne pour générer un… … Wikipédia en Français
Whitespace — con realzado de sintaxis. Whitespace es un lenguaje de programación esotérico desarrollado por Edwin Brady y Chris Morris, publicado el 1 de abril de 2003. La sintaxis consiste únicamente en espacios en blanco, tabulador y líneas nuevas. Los… … Wikipedia Español
Whitespace — ist Typografischer Weißraum, die Freistellen im Text Leerraum, in der Informatik eine Bezeichnung für nicht dargestellte Zeichen Whitespace (Programmiersprache), eine Programmiersprache White Space (Funktechnik), Funkfrequenzen, welche dem… … Deutsch Wikipedia
Whitespace — es un lenguaje de programación esotérico desarrollado por Edwin Brady y Chris Morris. Se saca en el 1 de abril de 2003. La sintaxis consiste únicamente en espacios en blanco, tabulador y líneas nuevas. Los demás carácteres son ignorados. Es un… … Enciclopedia Universal
whitespace — white space n. Space on a page or poster not covered by print or graphic matter. * * * … Universalium
Whitespace — Разделитель, символ, пробельный символ; Неотображаемый символ … Краткий толковый словарь по полиграфии
whitespace — n. (Computers) characters that do not appear in a printed document (such as carriage return, tabs, line feed, etc.) … English contemporary dictionary
whitespace — A collective name used for groups of spaces, tabs, and newlines, those printable characters that only produce blank spaces … Dictionary of networking
Whitespace (programming language) — Whitespace is an esoteric programming language developed by Edwin Brady and Chris Morris at the University of Durham. It was released on 1 April 2003 (April Fool s Day). Its name is a reference to so called whitespace character codes in text… … Wikipedia
Whitespace (Programmiersprache) — Whitespace Quellcode mit Syntax Highlighting Tabulatoren Leerzeichen … Deutsch Wikipedia
ru.knowledgr.com
Whitespace — тайный язык программирования, развитый Эдвином Брэди и Крисом Моррисом в Даремском университете (также разработчики языков программирования Кая и Идриса). Это было выпущено 1 апреля 2003 (День веселых обманов). Его имя — ссылка на whitespace знаки. В отличие от большинства языков программирования, которые игнорируют или назначают мало значения большинству whitespace знаков, переводчик Whitespace игнорирует любые non-whitespace знаки. Только у мест, счетов и linefeeds есть значение. Интересное последствие этой собственности — то, что программа Whitespace может легко содержаться в пределах whitespace знаков программы, написанной на другом языке, кроме возможно на языках, которые зависят от мест для законности синтаксиса, таких как Пайтон, делая текст полиглотом.
Сам язык — обязательный основанный на стеке язык. Виртуальная машина, на которой у пробега программ есть стек и куча. Программист свободен выдвинуть целые числа произвольной ширины на стек (в настоящее время нет никакого внедрения чисел с плавающей запятой), и может также получить доступ к куче как к постоянному магазину для переменных и структур данных.
История
Whitespace был создан Эдвином Брэди и Крисом Моррисом в 2002. Slashdot дал обзор этого языка программирования 1 апреля 2003. Тот же самый год переводчик для него был осуществлен в Whitespace.
Идея использовать whitespace знаки в качестве операторов для C ++ язык была остроумно предложена пятью годами ранее Бьярне Страустрапом.
Синтаксис
Команды составлены из последовательностей мест, табуляторов и linefeeds. Например, пространство пространства пространства счета выполняет арифметическое добавление лучших двух элементов на стеке.
Данные представляются в двойных местах использования (0) и счетах (1), сопровождаются linefeed; таким образом, space-space-space-tab-space-tab-tab-linefeed двоичное число 0001011, который является 11 в десятичном числе. Все другие знаки проигнорированы и таким образом могут использоваться для комментариев.
Кодекс написан как Instruction Modification Parameter (IMP), сопровождаемый операцией. Таблица ниже показывает список всего IMPs в Whitespace.
Каждый IMP сопровождается одной из нескольких операций, определенных для того IMP. Посмотрите Обучающую программу Whitespace для списка операций, поддержанных в Whitespace.
Типовой кодекс
Следующее — прокомментированная программа Уайтспейса, которая просто печатает «Привет, мир!», где каждому, или характеру Linefeed предшествует комментарий «S», «T» идентификации или «L», соответственно:
Обратите внимание на то, что, когда исходный код Whitespace показан в некоторых браузерах, горизонтальный интервал, произведенный характером Счета, не фиксирован, но зависит от его местоположения в тексте относительно следующего горизонтального табулятора. В зависимости от программного обеспечения знаки Счета могут также быть заменены соответствующим переменным числом Символов пробела.
Самые необычные языки программирования
Существуют так называемые эзотерические языки программирования. Как правило, они не предназначены для практического применения и популярны среди хакеров и людей, увлечённых своим хобби. Эзотерические языки придумываются для развлечения, часто они пародируют “настоящие” или являются абсурдным воплощением “серьёзных” концепций программирования. Общее свойство, присущее любому эзотерическому языку — текст программы на нём понятен лишь “посвящённому”, либо непонятен вообще, потому что для составления программы нужно написать программу на обычном языке. В то время как разработчики “реальных” языков программирования стараются сделать синтаксис максимально понятным, а программирование — удобным, создатели эзотерических языков обычно ставят перед собой противоположную задачу. Своего рода компьютерный юмор.
INTERCAL — один из старейших эзотерических языков программирования. Как утверждают создатели, его название означает “Язык программирования с непроизносимой аббревиатурой”. Язык был создан в 1972 году студентами Доном Вудсом и Джеймсом М. Лайоном как пародия на существующие языки программирования и гимнастика ума. INTERCAL принципиально отличается от других языков программирования. Многие стандартные операции в нём оказываются нетривиальными.
Авторы насытили язык парадоксальными конструкциями, такими как COME FROM, FORGET и даже PLEASE ABSTAIN FROM CALCULATING (пожалуйста, воздержись от вычислений). Даже для символов были созданы специальные имена, например, кавычки » и знак равенства = называются соответственно «кроличьи уши» и «полрешётки» (имеется в виду половина знака #). Несмотря на всю экзотичность, на нём можно вычислить всё, что и на ”нормальном” языке программирования.
В переводе с английского языка означает пробел. Существенным отличием языка является то, что для управляющих конструкций используются только непечатаемые символы, а именно: пробел, перевод строки и табуляция. Интересным следствием этого факта является то, что текст программы на языке Whitespace можно “скрыть” внутри исходных кодов другой программы. Когда разработчики Эдвин Брэди и Крис Моррисом выпустили язык в свет, что произошло 1 апреля 2003 года, многие приняли это за шутку.
Язык разработан Дэвидом Морган-Маром в 2002 году. Программы на нем похожи на приготовление блюд по рецептам. Переменные могут быть названы только названиями основных продуктов питания. Стеки, в которые помещаются значения переменных, называются mixing bowls (Чаша миксера), а операции для манипуляции ими — mix (смешивание), stir (размешать), и так далее.
Принципы разработки для этого языка гласят:
— рецепты программы должны не только приводить к нужному результату, но и быть легкими в “приготовлении и восхитительными на вкус”;
— рецепты должны быть доступны всем “поварам”, с различными бюджетами;
— рецепты могут использовать традиционные меры по кулинарии, такие как чашки и столовые ложки.
Некоторые ингредиенты (имена переменных) — p (potatoes — картофель), d (dijon mustard — горчица), l (lard — сало), r (red salmon – красный лосось), o (oil -масло), w (water — вода), z (zucchinis — цуккини).
Это язык, в котором за исходный код берется звуковой MIDI-файл. Программы определяются высотой и порядком нот. Это дает гибкость в написании. Создатели стремятся к гармонии, присущей джазу. Все сообщения в Velato начинаются с главной, общей ноты, от нее уже задаются интервалы в виде команд. Для более музыкального ритма в сообщениях может меняться главная нота.
Shakespeare — эзотерический язык программирования разработанный Джоном Аслаудом и Карлом Хассельстромом. Язык Shakespeare призван замаскировать исходный код программы под пьесы Шекспира, как язык программирования Chef маскирует их под рецепты.
Список персонажей в начале программы служит для объявления количества стеков, носящих имена, например, «Ромео» и «Джульетта». Эти герои общаются друг с другом — тем самым, совершая операции ввода/вывода, могут задавать вопросы (аналог условного оператора). В целом, программная модель очень похожа на ассемблер, но значительно многословнее.
Первый абзац (от начала документа до первой пустой строки) в программе является эпиграфом и расценивается компилятором как комментарий. Части исходного кода на Shakespeare называются Актами (Act), которые разбиваются на Сцены (Scene). Каждые Акт и Сцена пронумерованы римскими цифрами и служат метками для GOTO. Прежде, чем персонажи смогут участвовать, они должны сначала выйти на сцену. Чтобы поместить персонажа на сцену — его необходимо вызвать командой Enter. Однако, если на сцене находится всего один персонаж, то не ясно, с кем ведётся общение. Чтобы персонаж покинул сцену, необходимо обратиться к нему командой Exit. Если акт заканчивается, или необходимо просто прогнать нескольких персонажей, то необходимо использовать команду Exeunt.
Omgrofl — язык, созданный в 2006 году инженером Juraj Borza. Его ключевые слова напоминают Интернет-сленг. Название появилось от объединения сленговых слов omg и rofl. Rofl — фактически одна из команд Omgrofl.
Переменные в Omgrofl должны быть формой сленгового слова lol, например lol, lool, loool, looool, и т.д.
Piet — эзотерический язык программирования разработанный Давидом Морган-Маром. Язык Piet использует разноцветные изображения в качестве программ. Программа на Piet выглядит как постживописная абстракция. Piet получил своё название от имени нидерландского художника Пита Мондриана. Программный код в языке Piet представлен в форме абстрактного рисунка.
Используется 20 различных цветов. 18 цветов связаны циклически двумя следующими циклами: цикл оттенков и цикл яркости. Белый и чёрный цвета не входят в циклы.
Первая версия языка Befunge была создана Крисом Пресси в 1993 году. Как утверждал автор, его целью было разработать язык, максимально сложный для компиляции. Сложность обеспечивается командами p и g, модифицирующими текст программы. Все одномерные языки программирования требуют некоторых синтаксических различий между комментариями и исходным кодом. В языке Befunge нет особого синтаксиса для комментариев, чтобы вставить документацию в код программист просто “обводит” управление вокруг области комментария.
Malbolge — эзотерический язык программирования, придуманный Беном Олмстедом в 1998 году. Язык разработан с целью быть максимально сложным для написания программ. Получил своё название от Malebolge, восьмого круга ада Данте. Потребовалось два года для написания первой программы.
Brainfuck — один из известнейших эзотерических языков программирования, придуман немцем Урбаном Мюллером в 1993 году для забавы. Язык имеет восемь команд, каждая из которых записывается одним символом. Исходный код программы на Brainfuck представляет собой последовательность этих символов без какого-либо дополнительного синтаксиса.
Одним из мотивов Урбана Мюллера было создание языка с как можно меньшим компилятором. Отчасти он был вдохновлён языком FALSE, для которого существовал компилятор размера 1024 байта. Существуют компиляторы языка Brainfuck размера меньше 200 байт. Программы на языке Brainfuck писать сложно, за что его иногда называют языком для мазохистов. Но при этом важно отметить, что Brainfuck является вполне естественным, полным и простым языком и может использоваться при определении понятия вычислимости.
5 лет Whitespace!
1-го апреля 2003-го года для этого очень популярного языка программирования, созданного Эдвином Бреди и Крисом Моррисом, была выложена официальная спецификация. С тех пор 1-е апреля считается его днём рождения.
Re: 5 лет Whitespace!
Мне вот интересно, когда уже настоящие новости будут на лор-е? )
Re: 5 лет Whitespace!
Когда когда. Когда обнаружат, что на борту саомлета протараневшего 11 сентября сдания в америке была партия дисков с дистрибутивом дебиана.
Или когда 10-бальный ураган сотрет с лица нашей планеты все сдания всеми любимой корпорации.
Re: 5 лет Whitespace!
Re: 5 лет Whitespace!
А в чём преимущество этого языка по сравнению с Brainfuck?
Re: 5 лет Whitespace!
Поздравляю всех питонистов с их праздником 😉
Re: 5 лет Whitespace!
Код на этом языке меньше расходует чернила принтера
Re: 5 лет Whitespace!
>А в чём преимущество этого языка по сравнению с Brainfuck?
Никакого отношения к Brainfuck он не имеет. Это просто дальнейшее развитие пайтона, как «самоформатируещегося», «самодисйиплинируещегося» языка программирования, где пробелы — главная черта языка.
Re: 5 лет Whitespace!
и ещё меньше выжигает фосфор на мониторе
Re: 5 лет Whitespace!
Re: 5 лет Whitespace!
Все ушибленные перлом питонофобы дружно спалились ^_^
Ну что взять с ушибленных, ведь с их точки зрения и checkpath.pl — происки фанатов whitespace.
Re: 5 лет Whitespace!
Это язык настоящих пропиетарщиков. Никто не сможет подсмотреть код.
Re: 5 лет Whitespace!
>Все ушибленные перлом питонофобы дружно спалились ^_^
Вам табуляции по ночам в эротических снах не сняться? А глазки при виде пробела не краснеют? А недержанием быдлокода не страдаете? Обратитесь-ка, голубчик, к паталогоанатому, логопед пистонистов больше не принимает.
Re: 5 лет Whitespace!
Вы пишите без отступов? Вас так сильно драл за плохой стиль прожект менеджер, что вы после увольнениясублимируете свою злобу на питонистов? СочувствуЮ, советую сменить вид деятельности. Станьте, к примеру, политиком.
Re: 5 лет Whitespace!
И, кстати, какой ваш любимый язык, перл? Так, для статстики о вредном влиянии языков на мозги.
Кстати, вас не смущают жесткие правила расстановки пробелов в русской машинописи? А стили в техе — тоже смущают?
Re: 5 лет Whitespace!
Биндинги к гтк, кутэ есть?
Re: 5 лет Whitespace!
увидев адрес официального сайта, думал что это продолжаются первоапрельские шутки — компост.дур.ак.юкей
Re: 5 лет Whitespace!
>А стили в техе — тоже смущают?
Совсем сбрендил питонист:)
«Стили в техе» пробелами/табами не оформляются.
Re: 5 лет Whitespace!
> Совсем сбрендил питонист:)
Переходим на личности? Мне тоже поупражняться в наездах, может быть?
>»Стили в техе» пробелами/табами не оформляются.
Стили в Техе навязывют стиль оформления текста, который (о, ужас) хочет издатель.
Re: 5 лет Whitespace!
А ведь еще Haskell есть. в котором можно писать без отступов как в С, но совершенно не принято.
Re: 5 лет Whitespace!
>А ведь еще Haskell есть. в котором можно писать без отступов как в С, но совершенно не принято.
Открою тебе секрет: кроме Python, C, и Haskell есть и другие языки программирования!
Ещё один секрет: во всех языках программирования (кроме созданных по приколу) СОВЕРШЕННО НЕ ПРИНЯТО писать без отступов.
Re: 5 лет Whitespace!
>Переходим на личности? Мне тоже поупражняться в наездах, может быть?
Тон задал ты. Или уже и не замечаешь?
>Стили в Техе навязывют стиль оформления текста, который (о, ужас) хочет издатель.
Издатель «хочет», потому как так «хочет» (вернее так привык видеть) читатель.
В случае с Python’овской программой — каким «хочет видеть» исходный текст читатель — в данном случае — конечный пользователь?:)
Re: 5 лет Whitespace!
> Re: 5 лет Whitespace! > Код на этом языке меньше расходует чернила принтера > anonymous (*) (02.04.2008 1:12:07)
В лорквотес, занесите, пожалуйста..
Re: 5 лет Whitespace!
>А ведь еще Haskell есть. в котором можно писать без отступов как в С, но совершенно не принято.
Гражданка, успокойтесь. Никто у вас ваш пистон не отбирает, можете сквернокодить хоть до полного помутнения рассудка (или уже?). Просто невероятно забавно слушать, как пистонеры оправдываются за пробелы, а потом ещё и начинают рассказывать, что это их главное достоинство. Вот люди и глумятся.
Re: 5 лет Whitespace!
А чем это хуже брайнфака?
Ask the user how many fibonacci numbers they want from the sequence and print that many one number per line.
Re: 5 лет Whitespace!
Re: 5 лет Whitespace!
Re: 5 лет Whitespace!
> во всех языках программирования (кроме созданных по приколу) СОВЕРШЕННО НЕ ПРИНЯТО писать без отступов
Во времена пробиваемых на перфокартах программ на фортране — еще как принято было 🙂
Re: 5 лет Whitespace!
>>Вы пишите без отступов? Вас так сильно драл за плохой стиль прожект менеджер,
Я пишу без отступов ибо лень. Любой приличный текстовый процессор расставляет отступы автоматом/по запросу. Зачем об этом думать при вводе текста? Зачем тратить время на оформление не отлаженного кода?
Главный недостаток питона в том что вы не можете писать без отсупов даже если захотите. Кстати питоновский код типа хелловорда выглядит прилично. А тот что посолидней тупо съезжает вправо и нечитабелен. К тому же и на питоне можно легко писать маловразумительный код. Так что попытки автора отрулить вид кода синтаксисом с успехом провалилась. Что еще примечательного в этом языке кроме того что для арифметических вычислений надо подключать специальную либу и пИсать через зад?
Re: 5 лет Whitespace!
>Во времена пробиваемых на перфокартах программ на фортране — еще как принято было 🙂
Как раз на перфокартах с фортраном отступы были очень важны.
Re: 5 лет Whitespace!
> Код на этом языке меньше расходует чернила принтера
Код на этом языке меньше расходует мозгов в мозге..
Вечер прошел не зря, я хоть поржал отменно так..
Re: 5 лет Whitespace!
> А в чём преимущество этого языка по сравнению с Brainfuck?
Да ни в чём, та же галимая императивщина.
Re: 5 лет Whitespace!
а можно пример кода¿
Re: 5 лет Whitespace!
Re: 5 лет Whitespace!
неужели единственное, за что некоторые так ненавидят питон, это обязательные отступы? лично я никогда не имел с ними проблем..
мне вот подумалось — а почему бы не сделать препроцессор к питону, который бы позволял писать без отступов — заменив их тупыми скобочками? пусть бы запускался вместо питона, определял тип файла — и если надо переводил бы в стандартный вид файл со скобочками. интересно за что бы стали тогда хаять питон перлофилы.
Re: 5 лет Whitespace!
> неужели единственное, за что некоторые так ненавидят питон, это обязательные отступы? лично я никогда не имел с ними проблем..
Некоторые ненавидят питон из-за каких-то собственных проблем, но этим пускай психоаналитики занимаются.
Отступы выглядят недостатком для разумных людей, в некоторых случаях, из-за них сложно делать кодогенерацию питоновского кода, например, или хранить куски кода в внутри xml. То есть косяки с этим конечно есть.
Re: 5 лет Whitespace!
> Главный недостаток питона в том что вы не можете писать без отсупов даже если захотите. Кстати питоновский код типа хелловорда выглядит прилично. А тот что посолидней тупо съезжает вправо и нечитабелен.
Что вы скажите о требуемых в ведре линакса оступах по 8 пробелов?
> К тому же и на питоне можно легко писать маловразумительный код.
Это уже было, про дверь и яйца.
> Что еще примечательного в этом языке кроме того что для арифметических вычислений надо подключать специальную либу и пИсать через зад?
Вы действительно уверены, что я обязан вам это объяснять? 😉 Не угадали. Но например:
1) его синтаксис близок к математической нотации, применяемой в дискретных алгоритмах (ТФЯ, графы и т.д.); Лаврова что ли откройте, как пример не соилившего Питон и мучающегося с Паскалем (вернее, он не переписал свои старые лекции на Питон, издали как было).
2) это динамический язык (если вам это не нужно — это не значит что это никому не нужно);
3) Это лучшее средство создания прототипов иу него есть биндинги почти ко всему.