Пользователь
0,0
рейтинг
3 октября 2008 в 13:00

Разработка → Простой калькулятор на " боярском" диалекте MSVС++

Последующий код навеян этим крутым топиком с «боярскими» дефайнами кейвордов С++. Мы творчески дополнили набор, и получился следующий текст программы:

// Боярский языг.cpp : Defines the entry point for the console application.
//

// Не догадались, как избавиться от этих некрасивых инклудов :)
#include "stdafx.h"
#include <iostream>

использовати площадь какобычно аминь1

наместе двояко провѣрятичегоглаголют молчаливо
кагбе
    ѣжѣли получалка.сломалася молчаливо тогдауж
    кагбе
      молвити "Не лепо молвишь, барин!" аминь1
      возвѣрнути нуль спасихоспади1
    ага
    возвѣрнути один аминь1
ага

цѣло голова(цѣло количество_указов, глаголют указы[])
кагбе
  дваждыточно первыйсундук, второйсундук, отвѣт аминь1
  буквица знако спасихоспади1
  творити
  кагбе
    молвити "молви первый цифирь, барин: " аминь1
    получити первыйсундук аминь1

    ѣжѣли провѣрятичегоглаголют молчаливо еси ложъ тогдауж прѣрвати спасихоспади1

    молвити "молви деяние, барин: " аминь1
    получити знако спасихоспади1

    ѣжѣли провѣрятичегоглаголют молчаливо еси ложъ тогдауж прѣрвати спасихоспади1

    ѣжѣли знако еси 'q' тогдауж прѣрвати аминь1

    молвити "молви второй цифирь, барин: " аминь1
    получити второйсундук аминь1
    
    ѣжѣли провѣрятичегоглаголют молчаливо еси ложъ тогдауж прѣрвати спасихоспади1

    избирати знако
    тогдауж  кагбе
      выборъ '+' сталобыти
        отвѣт буде первыйсундук да второйсундук аминь1
        прѣрвати спасихоспади1
      выборъ '-' сталобыти
        отвѣт буде первыйсундук бѣзо второйсундук аминь1
        прѣрвати спасихоспади1
      выборъ '*' сталобыти
        отвѣт буде первыйсундук повторити_столько_сколько второйсундук аминь1
        прѣрвати спасихоспади1
      выборъ '/' сталобыти
        отвѣт буде первыйсундук убрати_столько_сколько второйсундук аминь1
        прѣрвати спасихоспади1
    ага

    молвити "Отвѣт есьм: " аминь1
    молвити отвѣт да_промолчати спасихоспади1

  ага
  пока (истино) аминь1

  возвѣрнути нуль спасихоспади1
ага


* This source code was highlighted with Source Code Highlighter.


Вот как-то так, да.

P.S.
Чуть не забыл приложить солюшен с проектом. Вот он. Наслаждайтесь и делитесь своим креативом :)
Аватар Диавола @rengo
карма
25,7
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (71)

  • +5
    супермега!:))
    • +4
      Вобще дефайны делают чудеса.
      Когда я в колледже учился нас заставили написать «Хелло, Ворлд». Но не просто так. А что бы один и тот же код без изменений пошел бы на PHP, Perl и C++
      • 0
        вот это натуральный изврат:))
        • 0
          это школа жизни))
      • 0
        В догонку: Написать программу, которая выводит свой собственный исходный код при компиляции И при выполнении. Есть одно решение для D, но на C++ тоже должно быть возможно.
        • 0
          Без проблем, где-то она у меня лежит =)
        • 0
          При компиляции она тоже выводит свой код? :))
          • 0
            pragma(msg, «str») или
            #pragma message(«str»)

            Не. C++ не сможет, т. к.:
            1. В C++ препроцессор работает до самантического анализа
            2. В C++ невозможно подставить в исходник строку, вроде mixin(`pragma(msg, «Hello!»)`).

            Или кто-нибудь всё-таки попробует? ;)
  • +11
    Челом бью, боярин :)
  • 0
    «Не лепо молвишь, барин!»
    возвѣрнути нуль спасихоспади

    А люди дипломы пишут по поводу систем обработки ошибок и исключений xDDDD

    Надо бы в блог «Юмор на ХабраХабре»))
  • –4
    Под кат плз
    • –1
      Ага, сори, поставил.
  • +2
    ѣжѣли провѣрятичегоглаголют молчаливо еси ложъ тогдауж прѣрвати спасихоспади1
    чорт, бьюсь об пол))) челом
  • +80
    те кто писал для 1С в цирке не смеются
    • +1
      Не в бровь, а в глаз=)
    • 0
      1С… это да.
      Хотя я все равно посмеялся от души)))
    • 0
      одно только знаменитое «ИНАЧЕ 0 КОНЕЦ КАК Поле» чего стоит…
  • 0
    Спасибо, подняли настроение в середине рабочего дня :)
  • +4
    Смеялись всем отделом.
    Единственное, что пугает, так это то, что кто-нибудь может и подшутить над коллегами, написав пару классов на «боярском» отправить в svn и потом вычитывай это спасихоспади1.
    • 0
      Ну, даже затрудняюсь сказать что нужно сделать программеру за использование подобного стиля в живых проектах :)
    • 0
      Надо сделать, чтоб автоматически из нормального текста на такой диалект. Будет здорово.
    • 0
      можно на 1 апреля подменить все исходники в SVN… ;)
  • 0
    Воистину аминь1
  • 0
    Очень весело получилось. Спасибо.
  • 0
    Вынос мозга
  • +1
    Здрав буде, боярин!
  • +1
    положи вместе с грамотой ещё и инклюд с дефайнами, барин, челом бью.
    аминь1
    • +1
      Как раз заливаю солюшен, добрый человек спасихоспади1
    • 0
      Путево знак до склада с проектом добавлен в грамоту. Извольте посмотреть :)
  • 0
    пока (истино) аминь1
    Спасибо!
  • +2
    Лепо!
  • 0
    Зашибись :))))))
    • +9
      Это совет? (с)
      • –1
        :) Это восхищение на современном языке
        • 0
          это он челом бьет.

          дефайны для современного русского напишите?
  • 0
    Идея хороша, но «шутка» — слабенькая =(
  • 0
    Спасихоспади, аминь!)))
  • –5
    надоело
    • 0
      эта тема мусолилась в течении нескольких постов до публикации этого. Я выразил в коментах личное мнение (считаю, что лучше поставить минус статье и отписаться в коментах по этому поводу, чем молча это сделать как троль). Не понимаю, за что получил минусы в карму после этого комментария
  • 0
    Спс за позитив)
  • 0
    Делать вам нечего. Некоторым, каждый день приходится писать подобную чушь на 1С… Хотя «Боярский» диалект улыбнул…
    • +1
      Ругать 1С за то, что там есть возможность писать по русски — низко! :)
      • 0
        Даже не подумал ругать 1С за такую возможность.
        • 0
          А к чему тогда про «чушь»? :)
          • 0
            "ѣжѣли провѣрятичегоглаголют молчаливо еси ложъ тогдауж прѣрвати спасихоспади1", так же как и «Для Каждого СтрокаДвижений Из НаборЗаписейРегистра Цикл»… Разве не чушь?
            • 0
              Волею аллаха, пришлось больше года писать на 1С. Уверяю вас, это не чушь, а мегакод. Сначала конечно диковато смотрится…
            • 0
              Не чушь. Вообще не понимаю иронии относительно «русифицированных» ЯП. Для англоговорящих, кстати, практически все ЯП выглядят подобным образом.
              Разумеется, широкого использования русских «диалектов» не будет, однако ничего плохого в них для локального применения не вижу. Непривычно, и только…
              • 0
                Убедили, беру слова обратно.
              • +3
                Не совсем. В английском языке не так лезет в глаза постоянный именительный падеж ввиду отсутствия других. :)
                • +2
                  кроме именительного падежа в том-же 1С имеется и несоответствие родов. пример:
                  ЧтоТо = Новый Структура;
                  но к этому привыкаешь и просто перестаешь обращать внимание
                  • 0
                    А все потому что калька с английского способа построения:)
  • +2
    Отлично!

    Похожим образом можно реализовать еще кучу разных языков, например, «Пацанский». :) :)
    • +2
      Для «Пацанского» логика приведенного кода слишком сложна
    • +1
      Слышь, объект, а ты какого класса будешь?
      А у тебя функция сортировки в интерфейсе есть? А если найду?
  • +1
    аля «Барин ++». Огромное спасибо :)
  • +1
    если читать вслух — похоже на молитву, особенно последнее в каждой фразе «спасихоспади1»
  • +4
    однако Source Code Highlighter кроме строковых констант больше ничего не захайлайтил…
    • +4
      Надо попросить их о поддержке боярского языка xD
  • +2
    Скоро это выложат на фишках или другой копипасте с большой пометкой «Изобретён Новый Язык Программирования» =)
  • +2
    В прошлом топике писал, но тут тоже не помешает)
    Вот тут: boyar.coder.v1p.in/ вы можете перевести свой код в боярский одним кликом, также можно дополнить список переведенных ключевых слов.
    Так что выкладываем у кого что получилось :)
    • +4
      Такой переводчик не сильно эффективен, потому, что для получения истено лепого, я бы даже сказал «труе боярского» кода, необходимо вложить в него душу, иначе будут не богоугодные кодесы, а, как говорят нехристи окаянные, search/replace :)
      • 0
        А собственно в чем разница?
        При ручной обработке вы ведь все равно будете заменять одни ключевые слова на другие, иначе прога просто работать не будет. Вот и этот инструмент делает то же.
        А при желании как говорится можно и доработать напильником. :)
        З. Ы. там не совсем просто search/replace :)
  • +5
    Microsoft Visual Barin 2010
  • +1
    Кстате прога хорошо читается. Когда приходилось на 1C подпорочки варганить, писал русским кодом. Удивительно наблюдать за тем, как чисто «логические» конструкции, которые раньше писались по-английски, в русском коде воспринимаются гораздо человечнее чтоли. Алгоритм именно «читаешь» и «пишешь» а не «анализируешь логику» и «составляешь логические конструкции».
  • 0
    Ага понравилось. Ага
  • 0
    был же такойже дилект «преведмедвед»
  • 0
    интересно, возможен-ли подобный транслятор для более популярных недо-языков: скажем 1с в c++ ну или php в с#? =)
    • 0
      Дак а в чем проблема-то? Транслятор пишите и все дела.
    • 0
  • +1
    Я уже говорил, что если бы в свое время успешно реализовали советский проект ОГАС, то сегодня весь мир бы нажимал Упр+К, Упр+В. Но здесь куда круче: если бы в 1240 монголо-татарское быдло осталось у себя на родине разводить оленей, то мир бы уже лет 500 программировал на боярском, включая Америку Краснокожую Русь...
    • 0
      Либо во время феодальной раздробленности Киевская Русь погрязла бы в междуусобицах и была постепенно завойована европейцами… На пала бы Византийская империя, Крестовые походы были бы совсем другими, Ричард Львиное серце вместо Азии отправился бы в другое место…
      История могла повернуться по разному:)

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.