Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4   вперед  Ctrl      все
 Re: спецификация языка MSH  [new]
DAiMor
Member

Откуда: Volzhsky -> Moscow -> CZ, Brno -> Moscow
Сообщений: 2709
misha_shar,

А давайте так, вы создадите свою первую реализацию, запустите на этом какой-нибудь крупный проект.
А мы посмотрим на все это дело.
20 авг 13, 16:39    [14731857]     Ответить | Цитировать Сообщить модератору
 Re: спецификация языка MSH  [new]
misha_shar
Member

Откуда: Казахстан город Алма-Ата
Сообщений: 167
DAiMor
misha_shar,

А давайте так, вы создадите свою первую реализацию, запустите на этом какой-нибудь крупный проект.
А мы посмотрим на все это дело.

Да это конечно удобное решение. Так и придется делать. Дело только очень трудоемкое. Надо написать не просто транслятор но и среду разработки. Я расчитываю использовать NetBeans в качестве среды разработки только там почти вся документация на Английском и это напрягает. Разработку MSH на Си я делаю в NetBeans думаю со временем осилю.
20 авг 13, 17:06    [14732022]     Ответить | Цитировать Сообщить модератору
 Re: спецификация языка MSH  [new]
DAiMor
Member

Откуда: Volzhsky -> Moscow -> CZ, Brno -> Moscow
Сообщений: 2709
Разумеется трудоемкое дело, NetBeans хороший выбор для реализации на нем среды разработки под свой язык.
20 авг 13, 17:32    [14732174]     Ответить | Цитировать Сообщить модератору
 Re: спецификация языка MSH  [new]
misha_shar
Member

Откуда: Казахстан город Алма-Ата
Сообщений: 167
В спецификацию языка внес изменения:
раздел 5. Переменные
Было:
4. Аргументы передаваемые в подпрограмму. Они имеют префикс ^.
1. Структура сплошного массива.
Эта структура имеет один целочисленный индекс. Все элементы массива расположены подряд. Эта структура применяется для быстрого доступа к данным. Индекс массива внутри фигурных скобок {}

Например : {25}
Таких массивов 4:
2.1 Массив приложения %%{ind}
2.2 Массив задания %{ind}
2.3 Массив блока Run {ind}
2.4 Массив аргументов ^{ind}

Стало:
4. Аргументы передаваемые в подпрограмму. Они имеют префикс @.
2. Структура сплошного массива. Эта структура имеет один целочисленный индекс. Все элементы массива расположены подряд. Эта структура применяется для быстрого доступа к данным. Индекс массива следует за знаком $
Например : $25
Таких массивов 4:
2.1 Массив приложения %%$ind
2.2 Массив задания %$ind
2.3 Массив блока Run $ind
Массив Аргументов имеет префикс @
2.4 Массив аргументов @ind


Раздел 10. Списки.
Было:
Любая переменная может быть списком. Список состоит из одного или нескольких значений. Значения могут быть любых типов в том числе и списками. Список может быть создан либо специальной конструкцией либо возвращен аргументом команды Query.
Создать cписок можно конструкцией:
ref=[exp[,exp]]@
ref — ссылка на переменную куда будет записан список.
exp — выражение которое станет соответствующим элементом списка.

Развернуть список в индексы:
[@ref]
Ссылка ref будет развернута.Каждый элемент списка станет соответствующим индексом. В ссылке обычные индексы могут чередоваться со списками. Например переменная может выглядеть так :
[Af,@[B,2],125,@{1},5.6]
если переменные[B,2] и {1} являются списками то они будут развернуты в индексы в соответствии с размером списка.

Стало:
Любая переменная может быть списком. Список состоит из одного или нескольких значений. Значения могут быть любых типов в том числе и списками.
Создать cписок можно конструкцией:
ref={exp[,exp]}
ref — ссылка на переменную куда будет записан список.
exp — выражение которое станет соответствующим элементом списка.
Список может быть также возвращен командой Query.

Если ссылка ref является списком то в индексе она будет развернута в соответствующее количество индексов.
[ref]
Каждый элемент списка станет соответствующим индексом. В ссылке обычные индексы могут чередоваться со списками. Например переменная может выглядеть так :
[Af,[B,2],125,$1,5.6]
если переменные[B,2] и $1 являются списками то они будут развернуты в индексы в соответствии с размером списка.

Полный текст спецификации приведен во вложении.

Работу над языком я начал. В первом приближении на Си написана система ведения локальных и глобальных данных. Нужна помощь в отладке. У кого есть возможность и желание прошу помочь. Разработка ведется в Linux в системе NetBeans 7.4 С предложениями пишите в email
misha_shar53@mail.ru

К сообщению приложен файл (MSH_opisanie.doc - 83Kb) cкачать
12 ноя 13, 08:17    [15112940]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: спецификация языка MSH  [new]
misha_shar
Member

Откуда: Казахстан город Алма-Ата
Сообщений: 167
misha_shar,
Вариант языка на данный момент.

К сообщению приложен файл (MSH_COMPLETE_ru_108.doc - 101Kb) cкачать
23 ноя 15, 05:43    [18457590]     Ответить | Цитировать Сообщить модератору
 Re: спецификация языка MSH  [new]
DAiMor
Member

Откуда: Volzhsky -> Moscow -> CZ, Brno -> Moscow
Сообщений: 2709
misha_shar
misha_shar,
Вариант языка на данный момент.

Приложенный файл (MSH_COMPLETE_ru_108.doc - 101Kb)
Что-то не нашел там нативного JSON. Не взлетит. Хотя было бы чему взлетать ?
23 ноя 15, 10:20    [18457989]     Ответить | Цитировать Сообщить модератору
 Re: спецификация языка MSH  [new]
misha_shar
Member

Откуда: Казахстан город Алма-Ата
Сообщений: 167
DAiMor
misha_shar
misha_shar,
Вариант языка на данный момент.

Приложенный файл (MSH_COMPLETE_ru_108.doc - 101Kb)
Что-то не нашел там нативного JSON. Не взлетит. Хотя было бы чему взлетать ?

Там много чего еще нет. Взлетит не взлетит, время покажет. Ваше мнение я учел.
23 ноя 15, 18:46    [18461246]     Ответить | Цитировать Сообщить модератору
 Re: спецификация языка MSH  [new]
misha_shar
Member

Откуда: Казахстан город Алма-Ата
Сообщений: 167
misha_shar,
Спасибо за моральную поддержку.
23 ноя 15, 18:49    [18461271]     Ответить | Цитировать Сообщить модератору
 Re: спецификация языка MSH  [new]
MX-9
Member

Откуда: LIBAVA
Сообщений: 404
misha_shar,

Oгромный труд, но мало шансов на взлет - продукт "невостребован на рынке".

Без маркетинговой раскрутки, самостоятельно, не взлетит.

Хотя в принципе нужен легкий аналог CACHE для малобюджетных внедрений.

Но такой уже есть - в Латвии мы на практике используем MiniM v-25 Windows.
Результаты обнадеживают - видим 99 % совместимость MiniM - CACHE
для нашей, весьма не хилой, разработки "Бухучет предприятий и организаций".


Итак, прежде всего, кто они - потенциальные пользователи MSH ?
И кто профинансирует раскрутку MSH ?

==================
24 ноя 15, 16:43    [18466032]     Ответить | Цитировать Сообщить модератору
 Re: спецификация языка MSH  [new]
misha_shar
Member

Откуда: Казахстан город Алма-Ата
Сообщений: 167
MX-9
misha_shar,

Oгромный труд, но мало шансов на взлет - продукт "невостребован на рынке".

Без маркетинговой раскрутки, самостоятельно, не взлетит.

Хотя в принципе нужен легкий аналог CACHE для малобюджетных внедрений.

Но такой уже есть - в Латвии мы на практике используем MiniM v-25 Windows.
Результаты обнадеживают - видим 99 % совместимость MiniM - CACHE
для нашей, весьма не хилой, разработки "Бухучет предприятий и организаций".

MiniM прекрасный продукт. Хорошо соответствующий стандарту MUMPS. CACHE он соответствует в той мере в какой мере CACHE соответствует MUMPS.
MX-9
Итак, прежде всего, кто они - потенциальные пользователи MSH ?

Я считаю что таковыми являются MUMPS программисты, и потенциально все кто программирует на Java, javaScript, PHP, Puton, Rubi и на других подобных языках. И это все вполне реально если удастся создать среду вокруг языка. Внедрить язык в браузеры и WebServer.
MX-9
И кто профинансирует раскрутку MSH ?

Пока никто .
24 ноя 15, 18:22    [18466619]     Ответить | Цитировать Сообщить модератору
 Re: спецификация языка MSH  [new]
Alexey Maslov
Member

Откуда: СПб
Сообщений: 1565
MX-9
...мы на практике используем MiniM v-25 Windows.
Результаты обнадеживают - видим 99 % совместимость MiniM - CACHE
Алексей, а производительность сравнивали?
25 ноя 15, 10:30    [18469217]     Ответить | Цитировать Сообщить модератору
 Re: спецификация языка MSH  [new]
MX-9
Member

Откуда: LIBAVA
Сообщений: 404
Alexey ,

картина примерно такая -
-- при подключении к серверу в виде EXCEL-клиентов длинные запросы в 3 раза медленнее, чем CACHE,
-- при подключении через web ( IE-10+ ) еще и несколько притормаживает ввод - редактирование.

В принципе через EXCEL для малых предприятий годится.

Ждем, когда Евгений притопит газ - MiniM порвет конкурентов как Тузик Грелку.

:)
26 ноя 15, 01:16    [18473881]     Ответить | Цитировать Сообщить модератору
 Re: спецификация языка MSH  [new]
Onix_q
Guest
MX-9,

Тяжкое занятие "рвать тузика" )))
29 ноя 15, 14:16    [18487636]     Ответить | Цитировать Сообщить модератору
 Re: спецификация языка MSH  [new]
Alexey Maslov
Member

Откуда: СПб
Сообщений: 1565
Onix_q
Тяжкое занятие "рвать тузика" )))
Onix_q, поделитесь опытом :)
30 ноя 15, 10:13    [18490315]     Ответить | Цитировать Сообщить модератору
 Re: спецификация языка MSH  [new]
Valeriu
Member

Откуда: Chisinau
Сообщений: 2066
MX-9,
MX-9
картина примерно такая -
-- при подключении к серверу в виде EXCEL-клиентов длинные запросы в 3 раза медленнее, чем CACHE,
-- при подключении через web ( IE-10+ ) еще и несколько притормаживает ввод - редактирование.

В принципе через EXCEL для малых предприятий годится.

Алексей, а вот это пробовали - Kingsoft Spreadsheet
Вроде бесплатный продукт.
Я пробовал в своих отчетах его, вроде тянет.
7 дек 15, 14:01    [18524282]     Ответить | Цитировать Сообщить модератору
 Re: спецификация языка MSH  [new]
DAiMor
Member

Откуда: Volzhsky -> Moscow -> CZ, Brno -> Moscow
Сообщений: 2709
Valeriu
MX-9,
MX-9
картина примерно такая -
-- при подключении к серверу в виде EXCEL-клиентов длинные запросы в 3 раза медленнее, чем CACHE,
-- при подключении через web ( IE-10+ ) еще и несколько притормаживает ввод - редактирование.

В принципе через EXCEL для малых предприятий годится.

Алексей, а вот это пробовали - Kingsoft Spreadsheet
Вроде бесплатный продукт.
Я пробовал в своих отчетах его, вроде тянет.
У него не отчеты, у него немного сложнее, там все приложение целиком
хотя просто ради интереса хотелось бы как нибудь увидеть как это, а то все на словах?
7 дек 15, 14:45    [18524561]     Ответить | Цитировать Сообщить модератору
 Re: спецификация языка MSH  [new]
DirksDR
Member

Откуда: Пермь
Сообщений: 340
Valeriu
Kingsoft Spreadsheet
Вроде бесплатный продукт.
Я пробовал в своих отчетах его, вроде тянет.

Там что, и VBA есть? Совместимый с Excel?
На рекламной страничке не сказано, есть смысл дальше читать?
Извиняюсь, за офтопик...
7 дек 15, 16:49    [18525379]     Ответить | Цитировать Сообщить модератору
 Re: спецификация языка MSH  [new]
Valeriu
Member

Откуда: Chisinau
Сообщений: 2066
DirksDR,
Говорят на 100% совместима именно Excel !
И как раз VBA. Мне для VB6 пришлось
немного поискать в инете.
7 дек 15, 17:09    [18525506]     Ответить | Цитировать Сообщить модератору
 Re: спецификация языка MSH  [new]
Valeriu
Member

Откуда: Chisinau
Сообщений: 2066
DirksDR,
http://www.binarynow.com/office-suite/kingsoft-office-compatible-with-microsoft-office-visual-basic-automation-vba/

http://www.binarynow.com/office-suite/kingsoft-office-2009-supports-microsoft-office-word-excel-api-compatible-ole-com-activex-application-automation/
7 дек 15, 17:11    [18525522]     Ответить | Цитировать Сообщить модератору
 Re: спецификация языка MSH  [new]
Vladimir Baskakov
Member

Откуда:
Сообщений: 1948
Из любопытства посмотрел документ взглядом программиста не имевшего отношения к М - средам.

В описании смешаны синтаксические конструкции, семантика и стандартные библиотеки. Описание синтаксиса привычнее видеть в БКФ или синтаксических диаграммах
http://wiki.mvtom.ru/index.php/Описание_синтаксиса_языков_программирования

Документ привычно видеть отформатированным на разделы, подразделы, с оглавлением. Видеть докамент без шрифтовой разметки непривычно.

Что касается системы - не увидел привычного концепта типа данных,

ОписаниеЯзыкаMSH
В языке отсутствуют объявления переменных. Переменная возникает в момент когда ей присваивается значение. При обращении к неопределенной переменной возвращается пустая строка.


на мой взгляд делает код неустойчивым к опечаткам. Концепцию глобала для чужих наверное желательно раскрыть.
ОписаниеЯзыкаMSH
Модули могут выступать в качестве Типа(Класса) объекта. Имя модуля соответствует типу объекта и не должно превышать 18 байтов. Имя свойства по чтению должно быть меткой в модуле. Свойство по записи должно быть меткой совпадающей с именем свойства с префиксом '.' . Наследование обеспечивается командой Extend. Любая переменная может стать объектом для этого достаточно присвоить ее предопределенному свойству .TYPE имя типа (модуля). Например имеется тип (модуль) Org и свойство этого типа Arg.
Создаем объект этого типа:
Set [An,12].TYPE=Org; Тогда обращение к свойству Arg по записи и по чтению будет выглядеть так:
[An,12].Arg=[An,12].Arg+1;

Концецию типа, класса, наследования тоже хорошо бы раскрыть.
7 дек 15, 17:19    [18525587]     Ответить | Цитировать Сообщить модератору
 Re: спецификация языка MSH  [new]
MX-9
Member

Откуда: LIBAVA
Сообщений: 404
Valeriu
MX-9,
MX-9
картина примерно такая -
-- при подключении к серверу в виде EXCEL-клиентов длинные запросы в 3 раза медленнее, чем CACHE,
-- при подключении через web ( IE-10+ ) еще и несколько притормаживает ввод - редактирование.

В принципе через EXCEL для малых предприятий годится.

Алексей, а вот это пробовали - Kingsoft Spreadsheet
Вроде бесплатный продукт.
Я пробовал в своих отчетах его, вроде тянет.


Kingsoft Spreadsheet - уже не нужно.
Переводим MX на WEB, рядовым клиентам надо будет только IE-10+

EXCEL остается как инструмент для проектирования web-страниц, ну и конечно - для привилегированных
пользователей.

Извините за off-top.
7 дек 15, 20:05    [18526332]     Ответить | Цитировать Сообщить модератору
 Re: спецификация языка MSH  [new]
misha_shar
Member

Откуда: Казахстан город Алма-Ата
Сообщений: 167
Vladimir Baskakov,
Замечания приняты. Буду думать. Согласен некоторые аспекты изложены невнятно. Насчет концепции данных не понял. Стандартная для MUMPS систем концепция данных. Есть локальные данные древовидной структуры времени выполнения программы и есть глобали древовидные структуры хранящиеся на внешних носителях. Тип данных программистом никак не задается и формируется MUMPS системой во время выполнения программы.
7 дек 15, 20:17    [18526368]     Ответить | Цитировать Сообщить модератору
 Re: спецификация языка MSH  [new]
misha_shar
Member

Откуда: Казахстан город Алма-Ата
Сообщений: 167
Vladimir Baskakov
Что касается системы - не увидел привычного концепта типа данных,

ОписаниеЯзыкаMSH
В языке отсутствуют объявления переменных. Переменная возникает в момент когда ей присваивается значение. При обращении к неопределенной переменной возвращается пустая строка.


на мой взгляд делает код неустойчивым к опечаткам.

Проблему опечатков в M я не встречал, да и на форумах она никогда не обсуждалась. Хотя теоретически это возможно. Программирование в M системах несколько отличается от программирования на других языках. Глобал это дерево данных произвольной структуры и поместить туда можно все что угодно. В крайнем случае можно все данные разместить в одном глобале. Но обычно их несколько. Я лично разные глобали выбираю из технологических соображений. Размещаю их в разных файлах для удобства обслуживания. На каждого клиента я завожу свой глобал. Другой глобал для настроек клиентов, еще один для постоянных данных. Так удобнее сопровождать систему. А смысловые фрагменты разношу по разным ветвям глобала. А так как обработку данных я строю напрямую на глобалах то промежуточных переменных у меня очень мало. А не запутаться в десятке имен конечно можно , но очень сложно. Да и отлавливаются такие ошибки быстро.
8 дек 15, 05:56    [18527245]     Ответить | Цитировать Сообщить модератору
 Re: спецификация языка MSH  [new]
Блок А.Н.
Member

Откуда: Новосибирск
Сообщений: 3808
>Проблему опечатков в M я не встречал, да и на форумах она никогда не обсуждалась.
Что?!

>Программирование в M системах несколько отличается от программирования на других языках.
Да чем же? Наличием глобалов? Глобал очень простая структура данных, в С++ можно навертеть такого, что глобалам и сниться не будет.

>А не запутаться в десятке имен конечно можно , но очень сложно.
Вы точно в этой фразе не запутались?

>Да и отлавливаются такие ошибки быстро.
Это как же?

Вообще говоря, для меня является загадкой коммерческое программирование больших система на голом М. Оно существует? Действительно? О каких размерах программ имет в этом случае речь? Какой объем кода (рутин/строк/килобайт)? Какой срок жизни таких систем? Как сложно их модифицировать? Есть вдруг, принято решение, например, хранить данные по другому? В Каше то понятно, можно поменять декларацию класса, структуру хранения, перекачать данные, перекомпилировать программы - и все заработает. А тут?
Что значит "все данные разместить в одном глобале"? Например, есть система, в реляционном представлении которой будут сотни таблиц. Как вы ее разместите в глобале? Как будут размещаться индексы или их аналоги? Что будет, если программист в голом М ошибется в каком-нибудь обходе индексов?
9 дек 15, 21:25    [18537729]     Ответить | Цитировать Сообщить модератору
 Re: спецификация языка MSH  [new]
misha_shar
Member

Откуда: Казахстан город Алма-Ата
Сообщений: 167
Блок А.Н.
>Проблему опечатков в M я не встречал, да и на форумах она никогда не обсуждалась.
Что?!

Не встречал.
Блок А.Н.
>Программирование в M системах несколько отличается от программирования на других языках.
Да чем же? Наличием глобалов? Глобал очень простая структура данных, в С++ можно навертеть такого, что глобалам и сниться не будет.

Ну это насколько хватит дури. Навертеть можно. Только зачем?

Блок А.Н.
>Да и отлавливаются такие ошибки быстро.
Это как же?

Очень просто. Тестированием.

Блок А.Н.
Вообще говоря, для меня является загадкой коммерческое программирование больших система на голом М. Оно существует? Действительно?

Именно на голом M. Именно существует. И уже давно. И раньше существовало. Вы что забыли сколько проектов было на DSM11. Или там был не голый M?
Блок А.Н.
О каких размерах программ имет в этом случае речь? Какой объем кода (рутин/строк/килобайт)?

У нас разработан и эксплуатируется полный бух учет. Если вы в состоянии его написать в несколько строк, то научите. Буду признателен.
Объем достаточный. Строки извините считать ради вашего любопытства не буду, а размер CACHE.dat с программами 17М+столько же описания форм.
Блок А.Н.
Какой срок жизни таких систем?

За остальных не скажу. А мы разработали свою систему с момента появления NTSM. Если мне не изменяет память это в районе начала 90.
Блок А.Н.
Как сложно их модифицировать?

Я писал под себя потому очень старался уменьшить объем сопровождения. Я разрабатываю, модифицирую, внедряю и сопровождаю. Остальные занимаются внедрением и сопровождением и помогают в постановке задачи. Так что вполне подъемная задача.
Блок А.Н.
Есть вдруг, принято решение, например, хранить данные по другому? В Каше то понятно, можно поменять декларацию класса, структуру хранения, перекачать данные, перекомпилировать программы - и все заработает. А тут?

Если я приму такое решение, то перепишу систему.
Блок А.Н.
Что значит "все данные разместить в одном глобале"? Например, есть система, в реляционном представлении которой будут сотни таблиц. Как вы ее разместите в глобале? Как будут размещаться индексы или их аналоги?

Сколько таблиц в реляционном представлении имеется я не знаю и знать не хочу. А засунуть любые данные в одно дерево тривиальная задача. Или в этом есть какие то проблемы?
Блок А.Н.
Что будет, если программист в голом М ошибется в каком-нибудь обходе индексов?

Будет ошибка. Которую необходимо обнаружить и исправить. Но это же касается любых ошибок.
10 дек 15, 06:17    [18538341]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4   вперед  Ctrl      все
Все форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M Ответить