Как стать автором
Обновить
20.4

Brainfuck *

Эзотерический язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Язык Terra — низкоуровневый партнёр Lua

Время на прочтение12 мин
Количество просмотров17K
Terra — низкоуровневый язык системного программмирования, встраиваемый и имеющий возможность метапрограммирования с помощью языка Lua.

Читать дальше →
Всего голосов 57: ↑57 и ↓0+57
Комментарии28

Ещё один интерпретатор Brainfuck

Время на прочтение3 мин
Количество просмотров22K

Brainfuck — язык программирования, созданный с одной целью: написать для него интерпретатор. Их было написано так много, что даже не буду давать на них ссылки. В этой статье на пальцах объясняется простой, но эффективный способ его оптимизации.


quine


Читать дальше →
Всего голосов 28: ↑25 и ↓3+22
Комментарии11

VulnHub: Слепая эксплуатация и Брайнфак в DC416 Basement

Время на прочтение11 мин
Количество просмотров7.9K

Продолжаем разбор CTF с конференции DefCon Toronto's. Задания предоставлены командой VulnHub, за что им огромное спасибо. А мы рассмотрим DC416 Basement.
Ниже, вы можете ознакомиться с предыдущим райтапом:
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии0

Не все языки программирования одинаково полезны

Время на прочтение7 мин
Количество просмотров55K


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

По мнению «Википедии», язык программирования — формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, определяющих внешний вид программы и действия, которые выполнит исполнитель под её управлением.

Какие-то знаковые системы проще для освоения, какие-то сложнее. Однако среди них есть и весьма причудливые. А есть настолько сложные, что осваивают их только самые хардкорные разработчики.
Читать дальше →
Всего голосов 52: ↑37 и ↓15+22
Комментарии163

Истории

Язык программирования Petooh

Время на прочтение1 мин
Количество просмотров111K
Пользователь Github с ником Ky6uk после трех лет разработки наконец-то опубликовал фундаментально новый (дословно) язык программирования Petooh. Это диалект Brainfuck, в котором непонятные и неудобные символы заменены на человекочитаемые слова. Для исполнения кода используются скрипты на Haskell и Perl, на выбор пользователя. Из прочих примеров творчества автора можно упомянуть разве что табурет, написанный на Javascript

Пример кода:
Скрытый текст
KoKoKoKoKoKoKoKoKoKo Kud-Kudah
KoKoKoKoKoKoKoKo kudah kO kud-Kudah Kukarek kudah
KoKoKo Kud-Kudah
kOkOkOkO kudah kO kud-Kudah Ko Kukarek kudah
KoKoKoKo Kud-Kudah KoKoKoKo kudah kO kud-Kudah kO Kukarek
kOkOkOkOkO Kukarek Kukarek kOkOkOkOkOkOkO
Kukarek
Всего голосов 89: ↑34 и ↓55-21
Комментарии27

JBrainfuck — Пишем компилятор Brainfuck под Java VM

Время на прочтение13 мин
Количество просмотров22K
Меня давно интересовал вопрос написания своего компилятора под Java VM, но было недостаточно опыта, дабы сделать это. Да и как-то руки не доходили, а недавно все же решил разобраться в этой теме и заодно рассказать о своем опыте создания компилятора под эту VM.

В качестве реализуемого языка возьмем Brainfuck. Он прост в реализации, что отлично подходит для изучения данной темы, но сначала предоставлю вам свою реализацию.

JBrainfuck — оптимизирующий интерпретатор и компилятор Brainfuck под Java VM. Благодаря JIT обладает высокой производительностью.


Ну что, приступим?
Всего голосов 49: ↑49 и ↓0+49
Комментарии18

Стоит ли до верится спел чек еру? Про стой пять ни чинный пост до бра

Время на прочтение1 мин
Количество просмотров31K
image

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

В той связист ала по степенно при ходит мыс ль что не плохо бы на ваять та кой пост в ко тором бы лоб макс и мал но воз можно е коли чес т во о шибко но что бы тестовый процесс ор да же бы и не за подозревал об том что что-то тут не так. Но что бы при том сам текст был на имение читаем им.

По чувствуй себя граммар-наци
Всего голосов 237: ↑169 и ↓68+101
Комментарии66

Квайн на Brainfuck, тьюториал

Время на прочтение13 мин
Количество просмотров15K
На Хабре уже есть множество статей о квайнах и технологиях их написания. Любителям квайнов может стать скучно — есть шаблон, следуешь ему, получаешь квайн. Мультиязыковой квайн, даже с участием эзотерических языков тоже написать несложно и об этом тоже есть по меньшей мере три статьи. Вот тут то и приходят на помощь квайны целиком написанные на эзотерических языках, возвращая заскучавшему программисту интерес.

Попробую рассказать о процессе написания квайнов на Brainfuck.

Читать дальше →
Всего голосов 38: ↑31 и ↓7+24
Комментарии9

Квантовый парадокс Зенона

Время на прочтение4 мин
Количество просмотров59K
image
Картинка для привлечения внимания, но относящаяся к теме.
Привет, хабр!
Хотите немного размять свои мозги? «Жили-были древние греки. Хорошо жили, потому что вместо них трудились рабы. И было древним грекам очень скучно: работать не привыкли, заняться нечем. Смастерили лиру для музицирования, придумали театр, геометрию, математику, философию и прочие науки, а развлечений всё равно не хватало.
И тут на помощь страждущим пришёл Зенон Элейский с его так называемыми апориями — парадоксами, предназначенными для изрядной нагрузки на мозги современников.

Современники возрадовались: теперь можно было не просто бездельничать, а долго и упорно размышлять над предложенными парадоксами, которые, к тому же, отчасти оправдывали лень».

В самом деле, если движения не существует в принципе, то зачем зря стараться, куда-либо идти и что-то делать, достаточно просто лежать на травке под акациями и мудрствовать лукаво над тайнами Вселенной.
Заинтересовало? Добро пожаловать под хабракат (привёл несколько ссылок на учебники квант.физики).
Читать дальше →
Всего голосов 67: ↑52 и ↓15+37
Комментарии45

Мультиязыковые квайны

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

Читать дальше →
Всего голосов 65: ↑57 и ↓8+49
Комментарии17

Открытие высокопористого материала

Время на прочтение2 мин
Количество просмотров20K
Ученые из университета Упсалы (Швеция) открыли новое вещество — одну из форм карбоната магния, которая обладает огромной пористостью — 800м2/г. Весь объем упсалита (так назвали полученное вещество) заполнен крошечными пустыми порами примерно 6 нм3. Данное вещество легко и дешево [насколько по сравнению с аналогами?] получить, оно может использоваться для ликвидации последствий выбросов токсичных химических веществ, химикатов и разливов нефти.
Читать дальше →
Всего голосов 35: ↑24 и ↓11+13
Комментарии19

О молекулах РНК

Время на прочтение3 мин
Количество просмотров34K

О рибонуклеиновых кислотах (РНК)



Для поддержания жизни в живом организме происходит множество процессов. Некоторые из них мы можем наблюдать — дыхание, прием пищи, избавление от продуктов жизнедеятельности, получение информации органами чувств и забывание этой информации. Но большая часть химических процессов скрыта от глаз.
image
Приоткроем завесу тайны
Всего голосов 28: ↑15 и ↓13+2
Комментарии15

Размышления о программировании

Время на прочтение14 мин
Количество просмотров35K

От Аристотеля к Витгенштейну


Мне не нужен язык, который позволяет создавать хорошие программы. Я ищу язык, на котором нельзя будет написать плохую программу. Автор

Предисловие

Развитие информатики как науки представляется рекой, которая рождается в далеком прошлом (Евклид, III век до н.э.; Вавилон, XIX век до н.э.; а возможно и раньше) из едва заметных ручейков первых алгоритмических вычислений. Неспешно двигаясь по истории, ручейки объединяются в реку, которая, неся свои воды через века, вбирает в себя притоки из смежных дисциплин, накапливает величественность и мощь и, наконец, срывается ниагарским водопадом из второго в третье тысячелетие, превращаясь в стремительный бурлящий поток, который захватывает и несет с собой из прошлого в будущее миллионы людей.



Броуновской частице, которую то бросает на стремнину с турбулентным течением, то опрокидывает в застоявшееся болото, то на мелководье, то в омут; мир информационных технологий видится загадочным, изменчивым и непредсказуемым. Однако радость постоянного движения, героического преодоления трудностей, бешеного вращения калейдоскопа новых впечатлений со временем сменяется тоской, томлением духа и непреодолимой потребностью на мгновение приподняться над суетой, взглянуть со стороны на этот бешено бурлящий поток и попытаться разглядеть, если не общее направление бурной реки, то хотя бы ближайший поворот той протоки, в которой барахтаешься.
Читать дальше →
Всего голосов 85: ↑58 и ↓27+31
Комментарии82

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
10 – 11 октября
HR IT & Team Lead конференция «Битва за IT-таланты»
МоскваОнлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн

Assembler для Brainfuck

Время на прочтение3 мин
Количество просмотров22K
Одним холодным майским днем от скуки решил я таки приступить к изучению этого удивительного языка — Brainfuck'a.
Его интерпретаторы публиковали на Хабре уже очень много раз.
Но мне хотолось изучить поглубже сам язык и алгоритмы на нем, а не писать очередной интерпретатор. Поэтому было решено сделать из мухи слона компилятор какого-нибудь высокоуровневого языка в brainfuck.
Однако очень быстро начался реальный brainfuck: отсутствие оператора if, отсутствие произвольного доступа к ячейкам и куча других проблем сразу свалилась на меня. Пришлось повременить с высокоуровневым языком и сделать для начала ассемблер, в который и будет компилироваться высокоуровневый язык.
О реализации ассемблера под катом.
Читать дальше →
Всего голосов 44: ↑42 и ↓2+40
Комментарии12

Что общего между «Князем Игорем» и TCP/IP?

Время на прочтение4 мин
Количество просмотров25K


Вы любите театр?

Серьезно.

Многие любят театр. В особенности – русский театр.

В двух столицах, если вы хотите увидеть представителей самых разных национальностей, проще всего сходить именно в театр. Желательно, размерами побольше, в котором активный сезон и занимательная программа.

На самом деле, проблемы начинаются ровно тогда, когда иностранец – ваш знакомый, который просит отвести его в театр. А еще у вас, например, есть девушка, которая умудряется купить билеты на троих. Отличная компания.

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

Вряд ли ваша девушка будет задумываться о таких мелочах, желая показать гостю культурные ценности. И, придя в театр, вы садитесь в кресло, а занавес раздвигается…
Читать дальше →
Всего голосов 79: ↑59 и ↓20+39
Комментарии46

Итоги 21-го конкурса IOCCC

Время на прочтение4 мин
Количество просмотров23K
Объявлены победители 21-го международного конкурса обфусцированного кода на C. Как обычно, участники удивили способностью втиснуть совершенно невероятные вещи в программы до 4096 байт. Чтобы получить максимальное удовольствие, организаторы конкурса рекомендуют смотреть версию без спойлеров и пытаться понять по коду программы, что она делает.

Например, что делает такая программа?
             main(l
        ,a,n,d)char**a;{
    for(d=atoi(a[1])/10*80-
   atoi(a[2])/5-596;n="@NKA\
  CLCCGZAAQBEAADAFaISADJABBA^\
  SNLGAQABDAXIMBAACTBATAHDBAN\
  ZcEMMCCCCAAhEIJFAEAAABAfHJE\
  TBdFLDAANEfDNBPHdBcBBBEA_AL\
   H E L L O,    W O R L D! "
     [l++-3];)for(;n-->64;)
        putchar(!d+++33^
             l&1);}

Ответ
Правильно, печатает карту мира.



И не просто печатает, но ещё отмечает на карте место (символ " или # с координатами, которые можно указать при запуске).
Кстати, это «лучшая маленькая программа» на IOCCC 1992 года.

Другие спойлеры
Всего голосов 59: ↑56 и ↓3+53
Комментарии27

Brainfuck-компьютер

Время на прочтение3 мин
Количество просмотров6K
Возможно многие из вас слышали о Brainfuck'e-эзотерическом языке программирования, либо средстве для понтов. Но тут у каждого своё мнение. Ниже я хочу привести перевод одного энтузиаста, создавшего компьютер, работающий на основе Brainfuck.
Читать дальше →
Всего голосов 18: ↑5 и ↓13-8
Комментарии13

Какая же сила нужна «сильному ИИ»?

Время на прочтение3 мин
Количество просмотров2.1K
В принципе, любой Интеллект какого-либо Объекта или Системы определяется ПОВЕДЕНИЕМ этого Объекта или этой Системы, которое, в свою очередь, определяется в общем случае двумя технологиями: ФИЗИОЛОГИИ (Психики), как рефлекторные реакции на входное воздействие, и РАЗУМА (Сознания), как осмысленные решения на оценку обстановки.

Уровень известных «перцептронных» технологий (и иже с ними различной «нейро-кванто-семанто-статистико-математико-сетевой лабуды) это, как раз, технология Физиологии. То есть, пришёл сигнал на вход, значит, выполнил соответствующее действие. Но это просто «безмозглые автоматы» и вот они называются «слабым ИИ».
Однако, естественный Интеллект человека базируется, в основном, на второй технологии – на Разуме. А это уже «сильный ИИ». Вот в чём их принципиальная разница – в Сознании.
Читать дальше →
Всего голосов 38: ↑12 и ↓26-14
Комментарии82

Как положить инвестора на лопатки или три принципа Ходжи Насреддина

Время на прочтение5 мин
Количество просмотров3K
Наверное, не надо много говорить о том, что подавляющее большинство авторов ещё не воплощенных в жизнь инновационных идей имеют, мягко говоря, финансовое состояние, оставляющее желать лучшего. А ведь, для перехода от «гениальных разработок» к их практической реализации нужны, как оказывается, ещё и деньги. И вот, в жизни «эдисонов» и «кулибиных» начинаются бесконечные мытарства по поиску этих «жалких» сумм. Носители «бесценности» идут в различные инстанции и институции, обивают пороги государственных или частных ведомств, чтобы найти для своего стартапа щедрого инвестора, который «непременно западёт на столь многообещающее предложение», каким оно представляется лично самому «отцу революционной разработки», и выложит-таки круглые цифры.

Однако, как правило, эта огромная масса ходоков повсюду сталкивается с холодным «непониманием» у потенциальных инвесторов. И лишь единицы из этого океана страждущих и ищущих удостаиваются счастья быть осыпанным искомым денежным дождём, пусть, порою и на весьма кабальных условиях, зато, хоть, идея не умирает.

Почему же происходит такое? Является ли это нормальным и как можно переломить эту негативную статистику в другую сторону? Сие и будет темой нашего разговора после ката.
Читать дальше →
Всего голосов 21: ↑13 и ↓8+5
Комментарии4

Почему у украинских ребят не получится эффективный жестовый переводчик?

Время на прочтение3 мин
Количество просмотров4.4K
После интересной публикации об изобретении для глухо-немых (См. «Украинские студенты создали перчатки, переводящие язык жестов в речь»), за авторов которых был искренне рад, я выразил в комментариях своё сомнение о практической пользе такого новшества на текущий момент, будучи уверен в том, что на сегодня вряд ли получится какой-либо действенный инструмент, способный реально помочь понимать язык жестов.

А не получится он ровно по той же самой причине, которая препятствует созданию качественного естественно-язычного машинного переводчика. И причина эта кроется ровно в том, что компьютер, как мы знаем, не обучен понимать СМЫСЛ языкового сообщения, будь оно представлено, хоть, в вербальном виде, хоть, в эпистолярном (текстовом) виде, или даже в виде жестов.
Читать дальше →
Всего голосов 24: ↑9 и ↓15-6
Комментарии58