• Текст, которого нет

      Текстовые редакторы, основная задача которых — отображение моноширинного шрифта (например, кода), должны, как и следует из названия, показывать символы одной ширины.


      invisible symbols in diff

      Но есть нюанс
    • JBrainfuck — Пишем компилятор Brainfuck под Java VM

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

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

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


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

      image

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

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

      По чувствуй себя граммар-наци
    • Квантовый парадокс Зенона

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

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

      В самом деле, если движения не существует в принципе, то зачем зря стараться, куда-либо идти и что-то делать, достаточно просто лежать на травке под акациями и мудрствовать лукаво над тайнами Вселенной.
      Заинтересовало? Добро пожаловать под хабракат (привёл несколько ссылок на учебники квант.физики).
      Читать дальше →
    • Brainfuck и фундаментальные ограничения мироздания

        Сразу предупреждаю, те, кто учили CS в ВУЗе могут дальше не читать, интересно не будет. Статья больше для программистов-самоучек без формального образования (вроде меня самого), которые не против узнать какой-нибудь интересный факт из теоретической computer science.

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

        Читать дальше →
      • Реклама помогает поддерживать и развивать наши сервисы

        Подробнее
        Реклама
      • Мультиязыковые квайны

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

        Читать дальше →
      • Размышления о программировании

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


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

          Предисловие

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



          Броуновской частице, которую то бросает на стремнину с турбулентным течением, то опрокидывает в застоявшееся болото, то на мелководье, то в омут; мир информационных технологий видится загадочным, изменчивым и непредсказуемым. Однако радость постоянного движения, героического преодоления трудностей, бешеного вращения калейдоскопа новых впечатлений со временем сменяется тоской, томлением духа и непреодолимой потребностью на мгновение приподняться над суетой, взглянуть со стороны на этот бешено бурлящий поток и попытаться разглядеть, если не общее направление бурной реки, то хотя бы ближайший поворот той протоки, в которой барахтаешься.
          Читать дальше →
        • Assembler для Brainfuck

          Одним холодным майским днем от скуки решил я таки приступить к изучению этого удивительного языка — Brainfuck'a.
          Его интерпретаторы публиковали на Хабре уже очень много раз.
          Но мне хотолось изучить поглубже сам язык и алгоритмы на нем, а не писать очередной интерпретатор. Поэтому было решено сделать из мухи слона компилятор какого-нибудь высокоуровневого языка в brainfuck.
          Однако очень быстро начался реальный brainfuck: отсутствие оператора if, отсутствие произвольного доступа к ячейкам и куча других проблем сразу свалилась на меня. Пришлось повременить с высокоуровневым языком и сделать для начала ассемблер, в который и будет компилироваться высокоуровневый язык.
          О реализации ассемблера под катом.
          Читать дальше →
        • Что общего между «Князем Игорем» и TCP/IP?



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

            Серьезно.

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

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

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

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

            Вряд ли ваша девушка будет задумываться о таких мелочах, желая показать гостю культурные ценности. И, придя в театр, вы садитесь в кресло, а занавес раздвигается…
            Читать дальше →
          Самое читаемое