Интерпретатор 1С-подобного языка на Go

    image

    ГОНЕЦ (gonec): Интерпретатор и платформа создания микросервисов на 1С-подобном языке
    На волне импортозамещения и потребности в высокоэффективных современных кросплатформенных инструментах для программистов 1С, я выпустил первую версию интерпретатора 1С-подобного языка, и назвал его «Гонец». Платформа написана на Го, ибо я нашел его идеальным языком для таких целей.

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

    Язык представляет из себя смесь языков 1С, Javascript и Go (golang), и позволяет создавать высокопроизводительные вэб-приложения и микросервисы, с низким треббованием к системным ресурсам.

    Страница проекта на гитхабе
    Документация по языку и интерпретатору
    Онлайн-версия для тестирования, развернутая в docker-контейнере heroku

    Цели

    Интерпретатор создан для решения программистами 1С множества задач, связанных с высокопроизводительными распределенными вычислениями, создания вэб-сервисов и вэб-порталов для работы сотен тысяч пользователей, работы с высокоэффективными key-value базами данных с использованием синтаксиса языка, похожего, но не ограниченного возможностями языка 1С.

    Включив такой интерпретатор в свое решение, Вы можете предоставить высокий уровень сервиса для своих клиентов, который обгонит решения не только ваших конкурентов на рынке 1С, но и конкурентных платформ в enterprise (SAP Cloud).

    Почему синтаксис похож на 1С?

    Синтаксис 1С знаком и удобен сотням тысяч программистов в России и СНГ, а в перспективе и зарубежом. Это позволяет создавать решения, которые могут поддерживаться любыми программистами 1С, и которые не будут требовать дополнительной квалификации.

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

    Похожие публикации

    Комментарии 36

    • НЛО прилетело и опубликовало эту надпись здесь
        +1

        я так и знал :)))

        +2
        Странное решение, сам по себе язык 1с уныл как не знаю что, преимущество платформы 1с в хорошей «стандартной библиотеке» и простом как тапок конфигураторе с редактором форм, схемы объектов и т.п. Еще в большом сообществе, большом объеме кода, низком пороге вхождения и низкой стоимости разработчиков. Что из всего мной перечисленного есть у вас? На 1с можно писать только потому что платформа очень хорошо заточена под быструю разработку относительно небольших учетных систем.
          +1
          А вообще решение все же не странное, если это стеб или учебный проект (just for fun или нет — не столь важно)) Подозреваю второе.
          +1
          Не очень удачное название, уж простите, но так и просится ещё одна буковка)
            +4

            В readme на гитхабе.


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

            Охх, мне кажется не стоит утверждать о причинно-следственной связи двух никак не коррелирующих фактов.

              –3
              Для 1С-ников это все равно будет просто третья космическая скорость, так что норм :)))
                0
                Тут вопрос нужна ли 1С-никам скорость.
                Верно подмечено, что критерий выбора 1С — относительно дешевый конструктор для (пока) российского бизнеса
                  0
                  Не понимаю о чем Вы, а вот 1с-никам скорости ой как не хватает :)
                    0
                    Чаще всего не хватает не из за языка, а из за ожидания выполнения запросов, кои иногда читаешь и думаешь что проще повеситься)
                    0
                    Хотите лучше понять 1С-ников?
                +3

                О БОЖЕЕЕЕЕЕ !!!!!!

                  0

                  хорошо что еще компилятор не написал :)))

                  +1
                  Неужели не нашлось другого названия?
                    0
                    это самое точное! :)
                    +1
                    Автор, вы знакомы с проектом OneScript?
                      0
                      Знаком. Тот проект совсем о другом, и очень далек от плюшек Го, микросерисов и контейнеров.
                        0
                        Что мешает те скрипты и среду исполнения положить в контейнер? Не могли бы подробнее раскрыть мысль насчет микросервисов и контейнеров, а также плюшек Го, доступных из вашего интерпретатора?
                          –3

                          Для этого просто стоит почитать про Го

                        –2
                        Как раз размышлял на тему golang + 1C. Спасибо. Попробую
                        +2
                        Производительность ожидается сравнимой или выше, чем у интерпретатора языка Python. Скорость интерпретации кода соответствует скорости компиляции программ на Go и скорости работы библиотек, написанных на Go. А эта скорость, в свою очередь, сопоставима с разработкой на чистом Си.
                        Интерпретатор использует собственную виртуальную машину, также написанную на языке Go, а значит, имеющую производительность не ниже системы виртуализации контейнеров docker, которая так же написана на Go.


                        Бред, конечно.
                          0
                          Да стеб это, по моему подозрению.
                          +1
                          Гонец на картинке бежит назад ;)
                            –1

                            скорее "от" :)))

                            0
                            не, ну а чо? Долой засилие Си-подобных языков! Заполоним мир 1С-подобными!
                              0
                              Просто приятно написать код на русском языке, и он будет работать.
                              0
                              Тут очень мало от языка 1С, потому что

                              А = Новый Массив;
                              


                              syntax error: unexpected IDENT, expecting '('

                              :( Ну и с прочие коллекции в стиле 1С не реализованы.
                                0
                                Да, там скорее не 1С, а русский бейсик.
                                  0
                                  Не реализованы, потому что не нужны.
                                  Базовые структурные объекты реализованы в силе json, лаконично и без 1с-овских заморочек.
                                    –1
                                    а=[]

                                    вот так будет новый массив.
                                    0
                                    Даешь примеров полезного применения! А то непонятно ж ничо! И про микросервисы туманно, особенно в сравнении с 1script. Инфы! Инфы!
                                      –1
                                      все будет
                                      –1
                                      Язык оценить не берусь, а картинку смените. Человек на картинке далеко не убежит.
                                        0
                                        Пустой цикл в 15 раз быстрее, чем в 1С.
                                          0
                                          нещитово! в 1Се цикл в одну строку загоните и используйте текущую дату с миллисекундами или замер времени отладчика.
                                          –1
                                          За прошедшее время произошло много изменений:
                                          1. Сделана регистровая вирт. машина, идеологически верная, т.е. на интерфейсах
                                          2. Переделана инфраструктура встраивания функциональных объектов на Го и методов структур на Го
                                          3. Добавлен нормальный редактор кода (на базе Ace)
                                          4. Научился разговаривать, добавлен нативный протокол взаимодействия нод Гонца между собой, TCP — подготовка к HTTP
                                          5. Гонец теперь настоящий микросервис с healthcheck-ами
                                          6. Интегрирован с Consul

                                          Дальше будет больше.

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

                                          Самое читаемое