Язык_программирования_РС/Б

Тема в разделе "WASM.HEAP", создана пользователем AlexCab, 29 ноя 2008.

  1. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    shoo
    это не доказательство ;) а результат собственного опыта по использованию русских слов в именах переменных :)) который убедительно (для меня лично :))) доказывает что полное написание русских слов намного длиннее, а абревиатуры и сокращения на русском горздо менее читаемы, чем на английском. Возможно тут играет роль что сокращения чужого языка проще воспринимать как термины, поскольку с ними нет других привычных ассоциаций, но факт остаётся фактом - EM_EXGETSEL нагляднее :))

    AlexCab
    тут где-то пробегал проект мультязыкового компилятора, которому можно указать предпочитаемый язык ключевых слов, там даже украинский был :)) Имхо это лучше поскольку позволяет быстро всё перенастроить как хочется, но с именами переменных и функций всё равно проблемы будут, хотя можно обязать программера указывать им перевод на все поддерживаемые компиляторм языки :)))
     
  2. green

    green New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2003
    Сообщения:
    1.217
    Адрес:
    Ukraine
    AlexCab
    Каковы преимущества в этом плане перед C++?
    Это возможно и на С++, не обязательно делать новый язык :)
    Код (Text):
    1.     class C
    2.     {
    3.         void *p_;
    4.         size_t s_;
    5.     public:
    6.         C(void *pv, size_t ofs, size_t size) : p_((char*)pv + ofs), s_(size){}
    7.         С *operator = (void const *pv)
    8.         {
    9.             memcpy(p_, pv, s_);
    10.             return this;
    11.         }
    12.                 // Другие операторы ...
    13.     };
    Пример использования:
    Код (Text):
    1. void *v1, *v3;
    2. size_t v2;
    3.  
    4. C(v3, v2, 16) = v1;
    Компилятор, кстати, сгенерирует для этого выражения более эффективный код, чем тот асмовский, что Вы привели.
     
  3. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    на самом деле причины наглядности этого сокращения более просты:
    1.оно составлено в соответствии с известной нам системой
    2.оно встречалось и употреблялось нами несколько чаще, чем Плч_смщ_фнкч_окн
    3.в программе с ключевыми словами из английского языка константы и переменные на английском языке смотрятся более естественно - точно так же, как в языке с ключевыми словами из русского языка более естественно смотрятся наименования переменных и констант на русском языке.

    менее красиво выглядит смешивание языков, поэтому не могу согласиться, что вот это хорошо:
    . причем для этого совсем не нужно что-либо сочинять - фасм позволяет использовать нац. символы в именах переменных и констант. та же ситуация возникает и при вызове API из программ на подобных языках. причем перевод мнемоник инструкций процессора или названий API функций не только объемный труд, но и посягательство на копирайт, и вряд ли имеет смысл, так как даже в случае реализации отрезает пользователя от существующей документации, сниппетов и пр., а вести "двойную бухгалтерию" крайне накладно.

    но изобретение подобных языков интересно не только с точки зрения программирования, но и с точки зрения лингвистики, осмысленного обучения программированию детей и пр. естественно, это нужно делать так, чтобы наглядность действительно проглядывалась.

    экономические программы вроде 1С имеют русскоязычный скриптовый язык потому, что людям, которые оперируют проводками, платежками, фамилиями, должностями и мыслят по-русски (не только бухгалтерам), удобнее видеть и ключевые слова на русском - опять же из соображений несмешения языков. ведь проще заменить if на если, чем изучать английские аналоги ВСЕХ бухгалтерских терминов, или пользоваться такими монстрами, как zvit, sklad или familija (это еще даже и не монстры вовсе :) причем, главная болезнь таких языков - пословный перевод. разве можно догадаться, что это за фраза на языке 1С:
    Код (Text):
    1. ДЛЯ 7 ПО 17 ЦИКЛ
    ?
    как будто нельзя было перевести FOR ... TO как ОТ ... ДО.

    в общем, в этом вопросе множество нерешенных проблем, которые никогда не будут решены, если не пытаться их решать ;)
     
  4. gazlan

    gazlan Member

    Публикаций:
    0
    Регистрация:
    22 май 2005
    Сообщения:
    414
    Был Веселовский "Мастер" или как его там, была Рапира (для школьников), автокод "Наири", кажется, что-то для "Мир" и "Проминь" (не помню, за давностью) - все они, к счастью, сдохли.
     
  5. green

    green New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2003
    Сообщения:
    1.217
    Адрес:
    Ukraine
    Английский язык более структурирован и технически эффективен чем русский. Простой пример:
    "Он пошёл".
    "Она пошла".
    Какую смысловую нагрузку несёт вариация глагола в этих предложениях? Мало того, что никакой (дублируется ф-ция местоимения), так ещё и вариация эта "неструктурная".
    В английском, конечно, тоже есть подобные "ляпы" (неправильные глагоды и т.п.), но их намного меньше чем в славянских языках.
     
  6. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    защита от помех
     
  7. AsmGuru62

    AsmGuru62 Member

    Публикаций:
    0
    Регистрация:
    12 сен 2002
    Сообщения:
    689
    Адрес:
    Toronto
    AlexCab
    А есть ли в этом языке нечто объектно-ориентированное?
     
  8. AlexCab

    AlexCab New Member

    Публикаций:
    0
    Регистрация:
    8 сен 2008
    Сообщения:
    142
    Не ринимайте близко к серцу, за время пока я пишу на РС/Б у меня сложился
    такой стиль именования. Сначала я использовал полные слова например "Смещение 0 дсл", затем сокращённые
    версии "Смещн 0 дсл", сейчас это для данных три символа на слово через подчёркивание, для подпрограмм четыре
    например "Смщ_стр 0 дсл" - Смещение_строки, "ФУНКЦИЯ Плчт_смщн_стрк" - Получить_смещение_строки.

    Это чёрт возьми правда:)))
    Тагже как это делают во всех языках - сокращения.

    Апсолютно прав, когдато я хотел перейти с асм на С, открыл исходник, посмотрел, и закрыл:)

    Скорей всего так, но повторюсь, это дело из тех дел когда нечего делать:)

    Нельзя изменить только ключевые слова ("ЦИКЛ","ФУНКЦИЯ"...), но они коротки и совпадают по смыслу с прочими языками
    программирования, ну а имена пожно задавать любые ("Плч_смщ_фнкч_окн" - имя асм макроса).

    Это так! Чем я и занимаюсь (пока незкончина даже первая версия, это пока почти голая иделя).

    Дело привычки:)

    Не считаю что язык (разговорный) в программиронии так уж и важен (если конечно проэкт не интернациональный),
    я выбрал руский изза привычки (на асм писал имена и коментарии на нём).

    Нечто подобное только на асм есть в пред верии (РС/А - полностью построен на макроссах FASMа).

    Немагу не согласится

    Насчёт этого врядли, ситаксис получился чертовски сложным:dntknw:

    В русском больше слов и понятий, а заначит и возможностей (Для описания или именования, например).

    И под конец вопрос по существу:)
    Будет в следуйщей версии (уже реалезовано, сейчас как раз идёт работа над поддержкой
    библиотеками объектов(наподобии DLL)), для инетересующихся могу выложить мануал к след версии.
     
  9. green

    green New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2003
    Сообщения:
    1.217
    Адрес:
    Ukraine
    AlexCab
    Мне кажется, если бы Вы уделили С больше внимания, РС/Б бы не появился. :)
     
  10. AlexCab

    AlexCab New Member

    Публикаций:
    0
    Регистрация:
    8 сен 2008
    Сообщения:
    142
    О читабельности: код с подсветкой сонтаксиса (скриншот)http://rs-b.nm.ru/Sh.htm
     
  11. shoo

    shoo New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2003
    Сообщения:
    1.537
    Адрес:
    Ukraine
    AlexCab
    я бы, например, не хотел бы видеть новый язык, который построен на грамматике С заменой английских ключевых слов на русские - несмотря на свою популярность и возможности, лингвистически С, мягко скажем, далек от идеала :lol: тем более, "просто аналог С" не выживет однозначно. очевидно, ниша для такого языка - верхний язык программирования какой-нибудь системы, доступный пользователю, какой-либо целевой язык, обучение программированию для тех, кто еще (или уже) не знаком с английским языком, и т.п.

    в разработке грамматики такого языка нужно обратить внимание на существующие языки в равной степени и взять из каждого лучшее - ведь это новый язык, на котором еще нет кандалов обратной совместимости, поэтому не следует сразу влезать в чужие кандалы ;)
     
  12. Barbos

    Barbos Slavon

    Публикаций:
    0
    Регистрация:
    13 ноя 2007
    Сообщения:
    280
    Адрес:
    Kharkov
    Как я понял весь язык полностью основан на макросах асма? В принципе, это интересно, но а как на счет собственного парсера, компилятора? Для начала, транслировать код PC/A в промежуточный код, например, в ассемблер, потом уже компилировать, линковать fasm'ом?

    или как оно сделано?
     
  13. AsmGuru62

    AsmGuru62 Member

    Публикаций:
    0
    Регистрация:
    12 сен 2002
    Сообщения:
    689
    Адрес:
    Toronto
    Barbos
    Неплохой метод. У моего IDE такой же принцип: с псевдо-языка - генератор кода на FASM. Ну и далее, FASM-ом, естественно.
     
  14. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    AsmGuru62
    можно и удлинить путь. например ACK генерит с неск яву п-код, который может быть сразу проитерпретирован. Есть рантайм тоже в п-коде (вообще все здорово на нет похоже, но на 20 лет раньше и в 100 раз худее). Далее всю эту петрушку можно соптимизировать (несколько оптимайзеров) и/или перегнать в асм (АТТ) или сразу в бинарник (поддержка 386 есть, а РЕ - нету). Вобщем интересная штука (компилер ансиС (есть еще пас, модула2, оккам, чтототамеще и, конечно, васик) -> п-код ~ 160Kb, пипхол и перегощик в асм - по ~50. качество оптимизации - среднее). Дока ко всему есть и довольно неплохая - дока по п-коду с описанием работы интерпрера == 88 стр мелким (5) шрифтом.

    Сам-же новый парсер хоть на русском, хоть на марийском в коко намутить - пара дней. Ну, неделя. Главное продуманная и нужная концепция (#31).
     
  15. Barbos

    Barbos Slavon

    Публикаций:
    0
    Регистрация:
    13 ноя 2007
    Сообщения:
    280
    Адрес:
    Kharkov
    стёб?
     
  16. AlexCab

    AlexCab New Member

    Публикаций:
    0
    Регистрация:
    8 сен 2008
    Сообщения:
    142
    Не судюба:)

    Да основная концепция позаимствована у СИ но РС/Б далеко не аналог СИ.

    Уточню весь язык РС/А это, предадущая версия (http://rs-b.nm.ru/Rs_a.htm), у РС/Б свой транслятор РС/Б --> ASM,
    ну а асемблерный листинг компилируеся FASMом (http://rs-b.nm.ru/Dn_ld.htm).
     
  17. AlexCab

    AlexCab New Member

    Публикаций:
    0
    Регистрация:
    8 сен 2008
    Сообщения:
    142
  18. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    Кстати, правильно пишется "проект" а не "проэкт". На сайте везде "проэкт".
     
  19. KeSqueer

    KeSqueer Сергей

    Публикаций:
    0
    Регистрация:
    19 июл 2007
    Сообщения:
    1.183
    Адрес:
    Москва
    И вообще грамматика страдает. И пунктуация.
     
  20. AlexCab

    AlexCab New Member

    Публикаций:
    0
    Регистрация:
    8 сен 2008
    Сообщения:
    142
    Обдумываю след. версию, вот набросал структуру программы и несколько заметок(в атаче), основная идея модульность конструкции программы, то есть приложение состоит из
    самостоятельных, взаимодействующих модулей, имеющих определённый интерфейс, но по сути являющимися BlackBox, что-то типа COM но проще.
    Ваше мнение по поводу такого подхода?
    PS.Тема в HEAP, не стесняемся в выражении мысли!