Рубрика «ненормальное программирование» - 103

В связи с тем, что моя первая статья, Мультиязыковые квайны, похоже, понравилась коллегам-программистам, хочу продолжить и написать ещё несколько статей про всякие автореферентные штуки. Меня всегда поражала автореферентность — рекурсия, фракталы, квайны, человеческое самосознание… Сейчас я начну разглагольствовать и мне совершенно справедливо накидают чего-нибудь нехорошего в карму. Я лучше посоветую прочитать «Гёдель Эшер Бах» Хофштадтера тем, кто ещё не читал. Это гениальная книга и гимн автореферентности. А теперь к делу.

Автограммы.

Пока программисты пишут квайны на разных языках, те, кто программирование ещё по каким-либо причинам не освоил, могут заняться не менее интересным и довольно таки похожим делом — сочинением автограмм.
Автограммы — это предложения на естественном языке, описывающие собственную внутреннюю структуру.
Читать полностью »

Прочитал статью «Эстафета из 50-ти квайнов». Действительно, человек написал потрясающую штуку, колоссальный труд, настоящее произведение искусства. Но по комментам судя, многие не понимают, как подобные вещи делаются и полагают их чем-то на грани, если не за гранью, человеческих возможностей, особенно много эмоций было по поводу эзотерических языков (Brainfuck, Unlambda, Whitespace) в списке.
В этой статье я попытаюсь объяснить, как подобные квайны пишутся.

Читать полностью »

image

Тринадцать лет назад я изобрел ЯОФ – язык отчетных форм, и даже включил его в качестве главы в свой бухгалтерский учебник.

Нет-нет, я не намерен смешить уважаемых хабравчан образцами «кода», благо сразу после своего рождения ЯОФ благополучно скончался, никому не интересный и не нужный, даже его изобретателю. Язык скончался, но проблема, которую он пытался решить, – в силу того, что ей мало кто занимался и сейчас не занимается, – осталась не решенной. Решение данной проблемы может представлять определенный интерес не только для бухгалтеров, но и для программистов.

Сейчас я попытаюсь объяснить, в чем дело.

Кто из вас не видел бухгалтерские отчеты – бесчисленные и неудобоваримые формы, которые бухгалтеры заполняют финансовыми показателями?! Мне с самого начала было понятно: раз формы строятся на основании базы данных, имеющей определенную структуру, должны существовать некие типовые алгоритмы их построения – не частные применительно к каждому случаю, а именно типовые. Речь шла о том, чтобы заменить текстово-табличное описание бухгалтерских отчетов, при котором каждый показатель подсчитывается отдельно, на описание формально-математическое, при котором любой отчет есть результат стандартных процедур, выполненных с исходной базой.

Приводить здесь изобретенный мной «код» не рискну по причине его полной беспомощности, однако от логики, которая двигала мной в тот далекий момент, я не отказался по сей день. Возможно, мои рассуждения натолкнут кого-нибудь из айтишников на дельные мысли. Короче, информация к размышлению.
Читать полностью »

Добрый день!
Сегодня я вам расскажу как написать свой настоящий веб-сервер на асме.

Сразу скажу что мы не будем использовать дополнительные библиотеки типа libc. А будем пользоваться тем что предоставляет нам ядро.

Уже только ленивый не писал подобных статей, — сервер на perl, node.js, по-моему даже были попытки на php.

Вот только на ассемблере еще не было, — значит нужно заполнить пробелы.
Читать полностью »

КВАйны уходят в отрыв
Пост про короля квайнов напомнил мне, что я уже давно хотел обсудить с общественностью вопросы их (квайнов) практического применения. В самом деле, обидно, что такая красивая с точки зрения программирования вещь на деле никому и не нужна. Музыку им не поиграть, страницу не сверстать, данные не загрузить…
Читать полностью »

Вам интересен ваш уровень программирования?

Информатика и теория информации
2n (Уровень 0) n2 (Уровень 1) n (Уровень 2) log(n) (Уровень 3) Комменатрии (от автора)
Структуры данных Не знает разницу между массивом и связным списком Может объяснить суть и использовать массивы, связные списки, ассоциативные массивы Может рассказать как реализуются хэш-таблицы, обрабатываются столкновения в них, знает очереди приоритетов и способы их реализации Знает сложные структуры данных, такие как: биноминальную и фиббоначиевую кучу, Б-дерево, AVL дерево, красно-черноё дерево, префиксное дерево, расширяющиеся дерево, список с пропусками.

Прим.переводчика: извиняюсь за костлявость перевода, также я заменил некоторые труднопереводимые выражения.
Тогда просим под кат.
Читать полностью »

Привет!

В начале лета многие крупные компании проводят стажировки для студентов последних курсов и выпускников технических специальностей. Мне посчастливилось попасть в ряды таких молодых специалистов в компанию СКБ Контур. Наше знакомство с миром разработки программного обеспечения началось с мероприятия под кодовым названием “Креш-курс” — четырехдневная интенсивная выездная школа. Было много всего интересного, увлекательного и познавательного, но об одном из наших особых развлечений хочется рассказать подробнее. Итак, сегодня у нас Code Retreat!
Читать полностью »

Приветствую!

Вдохновленный статьёй Эстафета из 50-ти квайнов попробовал повторить действо, но только на C# и n=2, получилась неплохая задачка!
Читать полностью »

В то время пока выходят статьи о сущности и подводных камнях r-value ссылок (пример со ссылками на полезные источники habrahabr.ru/post/157961/) подозреваю, что довольно многие не знают особенности обычных l-value ссылок. Суть этой статьи показать пример, когда время жизни объекта определяется временем жизни l-value ссылки на него, и как это можно использовать. Если заинтересовало, то добро пожаловать. Кстати, зная как можно больше особенностей про l-value ссылки, будет проще понять r-value.
Читать полностью »

Эстафета из 50 ти квайнов

Квайн — компьютерная программа, которая выдаёт на выходе точную копию своего исходного текста. Японский рубист Юсукэ Эндо (Yusuke Endoh) создал нечто невероятное. Quine Relay — программа на Ruby, которая генерирует код программы на Scala, которая генерирует код программы на Scheme, которая генерирует… и так далее на 50-ти языках программирования, пока программа на REXX снова не генерирует изначальный код на Ruby.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js