powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / спецификация языка MSH
77 сообщений из 77, показаны все 4 страниц
спецификация языка MSH
    #38365312
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MUMPS замечательный язык. Он обладает многими уникальными свойствами. Но в мире программирования он мало известен. Этому есть причины. Я считаю что таких причин несколько.
1. теоретики от программирования считают его неправильным,
2. отсутствие средств построения клиентской части.
3. язык не получил средств визуальной разработки,
Возможно были и другие причины. Первая причина по моему связана с отсутствием в языке декларирования переменных. С моей точки зрения это свойство языка является его сильной стороной. При проектировании декларации уничтожают гибкость языка. Практики от программирования пытаются ослабить типизацию. Языки типа JavaScript яркое тому подтверждение. Но теоретики тянут одеяло на себя и появляется ActionScript. Только почему то никому не приходит в голову отказаться от декларирования переменных вообще. В этом отношении язык MUMPS единственный находящийся на верном пути. MUMPS имеет самые мощные механизмы манипулирования данными в этом ему нет равных среди языков программирования.
Вторая причина с развитием браузеров и языка HTML полностью потеряла свою актуальность. Клиентская часть должна строиться не средствами языка программирования, а средствами специализированного языка браузеров.
Третья причина тесно связана со второй. Средства визуальной разработки должен иметь HTML а не язык программирования. Поэтому я считаю что приходит время языка MUMPS и уверен в его перспективах. Но сам язык практически не развивался с момента своего создания и на данный момент с моей точки зрения довольно архаичен. Современный язык должен быть объектным. И желательно чтобы он поддерживал известные методы программирования. Таковыми я считаю средства обработки событий. Средств построения диалогов я считаю в нем не должно быть вообще. Это задача специализированного языка.
Поэтому нужен новый язык построенный в духе MUMPS. Я попытаюсь создать такой язык и предлагаю вашему вниманию спецификацию такого языка MSH. Хотел бы услышать ваше мнение.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38365337
Onix_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
misha_shar,

в итоге выродится в М-ОС, с чего начался unix, тем похоже и закончится..
всё упирается не только в язык, а в данные которые мы обрабатываем, храним, собираем...

Например, сделай файловую для линуха в духе mumps и получи систему , вообще ни на что не похожую. Будет даже круче, чем все существующие файловые системы/вклюяая reiser/.

и потом , не востребовано будет, технарям может и интересно, а бизнес пройдет мимо.

а над файловой подумай..
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38365378
D_De1mos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
misha_shar,

Прочитал приложенный документ. Мне кажется, что писать сейчас серьезное приложение основанное на программах и подпрограммах несколько не удобно (но это лично мое мнение), а концепции программирования мне кажется охвачены немного не полностью.
Но больше всего меня заинтересовали ограничения на длины наименований в 29 и 20 байт, за что вы так людей не любите?
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38365588
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D_De1mosНо больше всего меня заинтересовали ограничения на длины наименований в 29 и 20 байт, за что вы так людей не любите?
А сколько нужно для любви?
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38365589
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
misha_shar , не читал... Но лично мой интерес только в бесплатных СУБД с интерфейсом, хотя бы вэб...
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38365678
D_De1mos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,

для любви не нужно ограничивать разработчика техническими ограничениями на самовыражение :)
Даже если взять 1 символ == 1 байт, то название константы в 29 символов - это как имя файла в формате 8.3.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38365681
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D_De1mosдля любви не нужно ограничивать разработчика техническими ограничениями на самовыражение :)
Т.е. вообще не вводить ограничений на имена?
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38365689
D_De1mos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,

В идеале да, на практике сделать их хотя бы 1024 символа, чтоб всем хватило.
У нас к примеру есть параметры в классах каше, где хранятся константы типов/статусов, так там очень много примеров, когда название превышает это число.
Если утрируя, то ограничение в 29 символов, это почти как название переменных в 2 символа максимум.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38366108
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самыми живучими оказываются языки, возникшие для решения реальных задач, а не придуманные теоретиками. Даже если выяснялось, что первые версии языка "не очень" (что нормально), важность задачи вытягивала язык. Примеры приводить не буду, они и так у всех на слуху.

Какая сверхзадача стоит перед вами, Михаил, для которой, на ваш взгляд, требуется разработка нового ЯП, т.е. не подходит ни один из существующих?

Вот Роб Твидд, которого тут уже не раз цитировали, предлагает в новых разработках переходить на серверный JavaScript (Node.js). Мне кажется, для привлечения новых сил в M-сообщество в этом больше смысла, чем в попытке придумать новый сверхязык. У нас, например, уже появилась пара новых разработчиков, которые раньше M/COS на дух не переносили.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38366206
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey MaslovСамыми живучими оказываются языки, возникшие для решения реальных задач, а не придуманные теоретиками. Даже если выяснялось, что первые версии языка "не очень" (что нормально), важность задачи вытягивала язык. Примеры приводить не буду, они и так у всех на слуху.
Мысль не понял. А теоретиком я себя никогда не считал.

Alexey MaslovКакая сверхзадача стоит перед вами, Михаил, для которой, на ваш взгляд, требуется разработка нового ЯП, т.е. не подходит ни один из существующих?

Подходит и это язык MUMPS. Но он требует доработки. Почему я по моему объяснил.
Alexey MaslovВот Роб Твидд, которого тут уже не раз цитировали, предлагает в новых разработках переходить на серверный JavaScript (Node.js). Мне кажется, для привлечения новых сил в M-сообщество в этом больше смысла, чем в попытке придумать новый сверхязык. У нас, например, уже появилась пара новых разработчиков, которые раньше M/COS на дух не переносили.
JavaScript - язык уступающий MUMPS. Заниматься им никакого смысла нет. Надо разрабатывать MUMPS.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38366291
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самыми живучими оказываются языки, возникшие для решения реальных задач, а не придуманные теоретиками. Даже если выяснялось, что первые версии языка "не очень" (что нормально), важность задачи вытягивала язык. Примеры приводить не буду, они и так у всех на слуху.Немного упрощая: Си возник для разработки UNIX. JavaScript - для разработки динамических web-страниц. И т.д. Даже если языки оказались чем-то плохи, задачи их "вытянули". На них пишут сотни тысяч, и даже миллионы.
misha_sharJavaScript - язык уступающий MUMPS. Заниматься им никакого смысла нет.Я не предлагаю им заниматься, и вовсе не обязательно - JS. Важна сама идея - интеграции популярного языка с малоизвестной, но мощной М-средой.
misha_sharНадо разрабатывать MUMPS.А вот это вряд ли...
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38366338
Фотография DirksDR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D_De1mos Мне кажется, что писать сейчас серьезное приложение основанное на программах и подпрограммах несколько не удобно...
Что Вы имеете ввиду? Намекаете, что весь код надо засунуть в объекты и методы? Или другое?

По топику:
Из свойств языка, которые автор называет "средствами"
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
Сокращение времени отладки достигается следующими средствами:
 1-Простотой и наглядностью программ.
 2-Минимально возможных ошибок в программе.
 3-Программы должны содержать минимум строк.

Сокращение времени сопровождения достигается следующими средствами:
 4-Надежностью языка.
 5-Язык должен иметь средства обеспечения целостности данных.
 6-Минимально возможных ошибок в программе.

(извиняюсь, я перенумеровал их, чтобы ссылаться)

1-е свойство я понимаю, как "легкочитаемость" программ, с этой точки зрения даже сокращение команд MUMPS вредно.
Свойство 3, имхо, противоречит 1-у свойству. Насколько "легкочитаемы" будут программы на MSH
судить не берусь, хорошо бы увидеть фрагмент такой программы с комментариями.

2-е (и 6-е) свойство - чем обеспечивается? Отсутствие деклараций имен переменных этому, опять же имху, не способствует.
Лично я всегда ставлю Option Explicit, когда программирую на VBA, и исправляю тем ошибки написания переменных.
Уменьшение ошибок может дать повышение уровня языка. В команде Object.Save трудней сделать ошибку, чем в самописной
программе сохранения данных (с индексами и пр.). То же с командой SELECT...

3-свойство считаю вредным.

4 и 5 - не понял, что под этим понимается и чем обеспечивается.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38366352
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
misha_sharJavaScript - язык уступающий MUMPS. Заниматься им никакого смысла нет. Надо разрабатывать MUMPS.уступающий в чем-то не значит, что в нем совсем нет смысла, язык этот тем не менее в несколько раз большему числу людей, и проекты которые работают на node.js порой больше чем большинство проектов на mumps. Тем более что node.js так же подходит для большинства серверных реализаций не только для WEB.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38366356
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey MaslovНемного упрощая: Си возник для разработки UNIX. JavaScript - для разработки динамических web-страниц. И т.д. Даже если языки оказались чем-то плохи, задачи их "вытянули". На них пишут сотни тысяч, и даже миллионы.
Количество пишущих не аргумент. Для разработки динамических web-страниц MUMPS подходит гораздо лучше.
Alexey MaslovЯ не предлагаю им заниматься, и вовсе не обязательно - JS. Важна сама идея - интеграции популярного языка с малоизвестной, но мощной М-средой.
При создании удачной версии MSH я думаю что он станет популярнее JS. Я собственно хочу этого и добиться.
misha_sharНадо разрабатывать MUMPS.Alexey MaslovА вот это вряд ли...
Категорически не согласен. Если бы ресурсы потраченные на Java или JS были вложены в MUMPS то эти языки навряд ли бы понадобились вообще.
Беда MUMPSa в отсутствии современной спецификации языка и отсутствии вменяемой реализации хотя бы близко сопоставимой хотя бы с той же Java.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38366370
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
Сокращение времени отладки достигается следующими средствами:
 1-Простотой и наглядностью программ.
 2-Минимально возможных ошибок в программе.
 3-Программы должны содержать минимум строк.

Сокращение времени сопровождения достигается следующими средствами:
 4-Надежностью языка.
 5-Язык должен иметь средства обеспечения целостности данных.
 6-Минимально возможных ошибок в программе.

3 - реально бред, может тогда и сами программы проще до невозможности и что тогда эти программы делать будут. если речь о мампсовых программах, то опять к чему хорошему приведет попытка понять что делает каждая из миллиона программ и отлаживать бегая по каждой из них
Все остальное больше скорее проблема среды разработки и программиста нежели языка программирования. Все необходимое язык уже имеет просто это нужно использовать.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38366392
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DirksDRD_De1mos Мне кажется, что писать сейчас серьезное приложение основанное на программах и подпрограммах несколько не удобно...
Что Вы имеете ввиду? Намекаете, что весь код надо засунуть в объекты и методы? Или другое?

MSH позволяет обращаться к модулям программам как к программам так и как к свойствам объектов.
DirksDRПо топику:
Из свойств языка, которые автор называет "средствами"
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
Сокращение времени отладки достигается следующими средствами:
 1-Простотой и наглядностью программ.
 2-Минимально возможных ошибок в программе.
 3-Программы должны содержать минимум строк.

Сокращение времени сопровождения достигается следующими средствами:
 4-Надежностью языка.
 5-Язык должен иметь средства обеспечения целостности данных.
 6-Минимально возможных ошибок в программе.

(извиняюсь, я перенумеровал их, чтобы ссылаться)

1-е свойство я понимаю, как "легкочитаемость" программ, с этой точки зрения даже сокращение команд MUMPS вредно.
Свойство 3, имхо, противоречит 1-у свойству. Насколько "легкочитаемы" будут программы на MSH
судить не берусь, хорошо бы увидеть фрагмент такой программы с комментариями.

Противоречия нет . Чем короче программа тем легче она читается.
DirksDR2-е (и 6-е) свойство - чем обеспечивается? Отсутствие деклараций имен переменных этому, опять же имху, не способствует.

Отсутствие деклараций имен переменных этому способствует. Но главное в том что MUMPS полностью управляет переменными и не допускает прямого обращения к памяти. Это ликвидирует 80% ошибок в программах.
DirksDRЛично я всегда ставлю Option Explicit, когда программирую на VBA, и исправляю тем ошибки написания переменных.
Уменьшение ошибок может дать повышение уровня языка. В команде Object.Save трудней сделать ошибку, чем в самописной
программе сохранения данных (с индексами и пр.). То же с командой SELECT...

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

DirksDR4 и 5 - не понял, что под этим понимается и чем обеспечивается.

4 свойство обеспечивается тем что MUMPS полностью управляет переменными и не допускает прямого обращения к памяти.
5 свойство обеспечивается наличием в языке команд управления транзакциями.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38366443
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
misha_shar,

Я повторю вопрос, который уже кто-то задавал выше: ради чего?
Для вас факт того, что язык новый - плюс (саморазвитие, самореализация), для всех остальных новизна - огромный минус. Кто будет обучать новым особенностям, писать книги, документацию, библиотеки? Вот завтра вы заболеете или вам надоест - что делать тем, кто под вашей системой уже что-то запустит в работу? Кто будет править баги? А если вы послезавтра выпустите MSH2, вы будете поддерживать совметимость? И ради чего это все? Я пока револючионных изменений не увидел.
Что вы положите на другую чашу весов? Сомнительное улучшение читаемости и удобства программирования? Вряд ли это стоит того.
Вот в каше действительно революционные изменения - интеграция идеи языка М c объектной и реляционной парадигмой. Причем интеграция не только М-Объекты и М-SQL, но и SQL-Объекты.

Смотрите, вы не можете убедить даже профессионально близких вам коллег. Представьте, что вам придется проводить агитацию среди программистов MSSQL,Oracle, C#. Попробуйте убедить владельцев бизнеса купить систему с вашим языком.

Я в студенчестве был фанатом языка С++. Умел на нем много (для студента). Со временем понял, что многие его плюсы на самом деле являются минусами. Понял, что мой фанатизм был во многом из-за перекоса знаний, когда о чем-то знаешь много, а о другом не знаешь почти ничего. Вы мне сейчас меня тогдашнего напоминаете :)
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38366519
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
misha_shar -Простотой и наглядностью программ.
-Минимально возможных ошибок в программе.
-Программы должны содержать минимум строк.

Сокращение времени сопровождения достигается следующими средствами:
-Надежностью языка.
-Язык должен иметь средства обеспечения целостности данных.
-Минимально возможных ошибок в программе.
Простите за хамство, но из выделенных приоритетов я делаю вывод, что вы программист, причем больше частью кодирующий программист. Ничего из этого не является ключевым для языка. Мало того, многие даже не особо относится к языку.

- Простота и наглядность программ - это к культуре программирования. В целом языки выше уровня ассемблера и не являющиеся брейнфаком достаточно наглядны. Я не так чтобы много видел, но в любом случае это не является проблемой. Писать w или write, o или open - да нет никакой разницы.

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

- Программы должны содержать минимум строк. Ну это вообще аут. В принципе процедурное программирование сводится к неким арифметическим операторам, и кардинально снизить их количество проблематично. Можно уменьшать количество строк в конкретном модуле. Можно изменить парадигму, причем вряд ли количество строк уменьшится. В объектно-ориентированной разработке строк больше, но любим мы ее не за это. Или может быть, писать много операторов в одну строчку?

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

-Язык должен иметь средства обеспечения целостности данных. - Опять не понял.

-Минимально возможных ошибок в программе. - ээ, мы не повторяемся?
-----------------------------------------
Так вот, все это фигня. И количество строк, и подверженность языка ошибкам.
А не фигня, когда в системе, состоящей из сотен модулей, тысяч (а может и десятков тысяч) программ/процедур/методов вдруг внезапно и очень срочно нужно что-то изменить. Может быть, изменить структуру хранение нескольких сущностей. Что вы будете делать на своем MSH? Или когда нужно сконструировать что-то, от чего даже у постановщиков задач мозги начинают плавиться, а реализаторам еще приходится учитывать уже существующую структуру из вот этих вот сотен моделей? Как поможет вам различие читаемости оператора w и write? Да никак.
А поможет вам то, какие парадигмы может поддерживать ваша система.
Поддерживает объектно-ориентированную - хорошо, можно будет развязать логику системы на максимально незавимые модули и отдельно внутри модулей делать правки, учитывая не сотни сущностей, а уже десятки. (Да простят меня апологеты ООП за ошибки в высказывании)
Поддерживает SQL - замечательно, можно будет строить,модифицировать структуры данных и также быстро писать программы по работе с ними.
Поддерживает М - круто, можно будет строить супербыстрые алгоримты обработки данных в критичных местах.
Поддерживает многопоточность - ура, сможем построить систему, в которой будет работать десятки и сотни людей, а на тяжелых алгоритмах максимально использовать мощности сервера.

misha_shar, вы можете предложить это? Или быть может, у вас есть в рукаве парадигма, которую я не перечислил и которой нет, например, в каше? Тогда ваша система кому-то, возможно, будет интересна.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38366720
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D_De1moskrvsa,
У нас к примеру есть параметры в классах каше, где хранятся константы типов/статусов, так там очень много примеров, когда название превышает это число.


Используйте блоки XData
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38366786
D_De1mos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefintD_De1moskrvsa,
У нас к примеру есть параметры в классах каше, где хранятся константы типов/статусов, так там очень много примеров, когда название превышает это число.


Используйте блоки XData

Блок XData для такого - overkill, параметры у нас используются для нескольких целей:
1. Перечисление констант, которые может принимать свойство, что-то типа:
Код: sql
1.
2.
3.
4.
5.
6.
/// Статус
Property State As %String (VALUELIST = ",CREATED,ENTERED");
/// Создано
Parameter StateCreated = "CREATED";
/// Завершен ввод
Parameter StateEntered = "ENTERED";



чтобы в коде работала автоподстановка, по параметру, а не строки посреди кода
if ..State = ..#StateCreated ....
+ через отражения (CompiledParameter и пр.) можно крутить их как угодно (узнать описание статуса по значению свойства например), у нас на этом завязаны интеграционные тесты

2. Переопределяемый параметр в наследниках, т.е. у базового Parameter PaymentType = 0, а у дочерних 1, 2, 3 и т.д.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38369943
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Onix_misha_shar,

в итоге выродится в М-ОС, с чего начался unix, тем похоже и закончится..
всё упирается не только в язык, а в данные которые мы обрабатываем, храним, собираем...

Например, сделай файловую для линуха в духе mumps и получи систему , вообще ни на что не похожую. Будет даже круче, чем все существующие файловые системы/вклюяая reiser/.

и потом , не востребовано будет, технарям может и интересно, а бизнес пройдет мимо.

а над файловой подумай..
Вполне разумная мысль. В свое время существовала ОС DSM 11 основанная только на MUMPSe. И она была востребована. И будет востребованной. Все зависит от реализации.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38369944
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
D_De1mosmisha_shar,

Прочитал приложенный документ. Мне кажется, что писать сейчас серьезное приложение основанное на программах и подпрограммах несколько не удобно (но это лично мое мнение), а концепции программирования мне кажется охвачены немного не полностью.
Но больше всего меня заинтересовали ограничения на длины наименований в 29 и 20 байт, за что вы так людей не любите?
Ограничение на длину связано со скоростью трансляции. Если не вводить каких то ограничений то она может и будет работать но использовать ее навряд ли будет возможно.Трансляция критична по времени так как язык имеет оператор Execute. И трансляцию будет необходимо выполнять во время выполнения программ.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38369948
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Блок А.Н.misha_shar,
Я повторю вопрос, который уже кто-то задавал выше: ради чего?
Для вас факт того, что язык новый - плюс (саморазвитие, самореализация), для всех остальных новизна - огромный минус.

Новый язык для осваивания конечно минус. Но если язык имеет преимущества и они перевешивают этот минус то он имеет смысл.
Блок А.Н. Кто будет обучать новым особенностям, писать книги, документацию, библиотеки?
Вот завтра вы заболеете или вам надоест - что делать тем, кто под вашей системой уже что-то запустит в работу? Кто будет править баги? А если вы послезавтра выпустите MSH2, вы будете поддерживать совметимость? И ради чего это все?

Пока речь идет о спецификации языка. А эти проблемы будет решать тот кто сделает реализацию языка. Все перечисленные проблемы являются обычными для любого языка и их необходимо решать.
Блок А.Н. Я пока револючионных изменений не увидел.
Что вы положите на другую чашу весов? Сомнительное улучшение читаемости и удобства программирования? Вряд ли это стоит того.
Вот в каше действительно революционные изменения - интеграция идеи языка М c объектной и реляционной парадигмой. Причем интеграция не только М-Объекты и М-SQL, но и SQL-Объекты.

То что вы не обнаружили изменений меня конечно больше всего удручает. Объекты в язык введены и сделано это в отличии от Cache правильно не нарушаю структуры данных. SQL - я считаю не только ненужным но и вредным дополнением. На данный момент SQL- является стандартным методом доступа, но с появлением в JS прямых запросов он становится не единственным. Достаточно написать удобный интерфейс к браузеру и необходимость в SQL доступе отпадет.
Блок А.Н.Смотрите, вы не можете убедить даже профессионально близких вам коллег. Представьте, что вам придется проводить агитацию среди программистов MSSQL,Oracle, C#. Попробуйте убедить владельцев бизнеса купить систему с вашим языком.

Попробую.
Блок А.Н.Я в студенчестве был фанатом языка С++. Умел на нем много (для студента). Со временем понял, что многие его плюсы на самом деле являются минусами. Понял, что мой фанатизм был во многом из-за перекоса знаний, когда о чем-то знаешь много, а о другом не знаешь почти ничего. Вы мне сейчас меня тогдашнего напоминаете :)
И о чем это я ничено не знаю?
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38369953
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Блок А.Н.misha_shar -Простотой и наглядностью программ.
-Минимально возможных ошибок в программе.
-Программы должны содержать минимум строк.

Сокращение времени сопровождения достигается следующими средствами:
-Надежностью языка.
-Язык должен иметь средства обеспечения целостности данных.
-Минимально возможных ошибок в программе.
Простите за хамство, но из выделенных приоритетов я делаю вывод, что вы программист, причем больше частью кодирующий программист. Ничего из этого не является ключевым для языка. Мало того, многие даже не особо относится к языку.

Да я кодирующий программист. А вы я так понимаю почти что полубог и точно знаете что является ключевым для языка , а что нет. А вот при сопровождении программного продукта это почему то является ключевым.
Блок А.Н.- Простота и наглядность программ - это к культуре программирования. В целом языки выше уровня ассемблера и не являющиеся брейнфаком достаточно наглядны. Я не так чтобы много видел, но в любом случае это не является проблемой. Писать w или write, o или open - да нет никакой разницы.

Культура программирования необходима. Но свойства языка либо способствуют этому либо нет. И разница в объеме программы на Си и MUMPSe колосальна.
Блок А.Н.- Минимально возможных ошибок в программе. - В языке могут быть такие атавизмы, как видимость переменных на всех уровнях стека, заложенные мины, как свободная работа с памятью или похожесть разных операторов. Но в целом все это решается культурой разработки и нормально поставленным процессом тестирования.

Для надежности программ управление данными является ключевым моментом.
Блок А.Н.- Программы должны содержать минимум строк. Ну это вообще аут. В принципе процедурное программирование сводится к неким арифметическим операторам, и кардинально снизить их количество проблематично. Можно уменьшать количество строк в конкретном модуле. Можно изменить парадигму, причем вряд ли количество строк уменьшится. В объектно-ориентированной разработке строк больше, но любим мы ее не за это. Или может быть, писать много операторов в одну строчку?

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

-Язык должен иметь средства обеспечения целостности данных. - Опять не понял.

-Минимально возможных ошибок в программе. - ээ, мы не повторяемся?

Язык как раз и может быть надежным и не надежным. Попробуйте написать не травиальную программу на Си и на MUMPSe и почувствуйте разницу.
Блок А.Н.-----------------------------------------
Так вот, все это фигня. И количество строк, и подверженность языка ошибкам.
А не фигня, когда в системе, состоящей из сотен модулей, тысяч (а может и десятков тысяч) программ/процедур/методов вдруг внезапно и очень срочно нужно что-то изменить. Может быть, изменить структуру хранение нескольких сущностей. Что вы будете делать на своем MSH? Или когда нужно сконструировать что-то, от чего даже у постановщиков задач мозги начинают плавиться, а реализаторам еще приходится учитывать уже существующую структуру из вот этих вот сотен моделей? Как поможет вам различие читаемости оператора w и write? Да никак.
А поможет вам то, какие парадигмы может поддерживать ваша система.
Поддерживает объектно-ориентированную - хорошо, можно будет развязать логику системы на максимально незавимые модули и отдельно внутри модулей делать правки, учитывая не сотни сущностей, а уже десятки. (Да простят меня апологеты ООП за ошибки в высказывании)
Поддерживает SQL - замечательно, можно будет строить,модифицировать структуры данных и также быстро писать программы по работе с ними.
Поддерживает М - круто, можно будет строить супербыстрые алгоримты обработки данных в критичных местах.
Поддерживает многопоточность - ура, сможем построить систему, в которой будет работать десятки и сотни людей, а на тяжелых алгоритмах максимально использовать мощности сервера.

misha_shar, вы можете предложить это? Или быть может, у вас есть в рукаве парадигма, которую я не перечислил и которой нет, например, в каше? Тогда ваша система кому-то, возможно, будет интересна.
Фигня вашы высказывания. Судя по тексту вы не кодировщик, а теоретик. Это тоже хорошо. Но поверьте у меня есть опыт написания и сопровождения большого информационного комплекса и я знаю что пишу. Язык не заменит голову но при наличии головы позволит написать программный комплекс который можно сопровождать.
Cache все что нужно реализовал и реализовал даже то что не нужно но сделал это сломав язык MUMPS.
Если моя система никому не будет интересна то воспоминания о ней останутся только на этом форуме.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38369990
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
misha_sharФигня вашы высказывания. Судя по тексту вы не кодировщик, а теоретик. Это тоже хорошо. Но поверьте у меня есть опыт написания и сопровождения большого информационного комплекса и я знаю что пишу.Померяемся длиной и толщиной? Сколько мегабайт весит экспорт самого большой вашего проекта, который вы разрабатывали и сопровождали?
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38370275
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В споре двух мужчин важен каждый сантиметр. (с)
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38370733
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока я на работе - у нас 21.5Мб.
Разработка начала около 13ти лет назад, около 10ти лет идет эксплуатация (с постоянными доработками).
За это время менялись и руководители стороны заказчика, руководители группы разработки, программисты, технологи. Люди, которые с ней работают, успели сходить в декрет и вернуться. Я не думаю, что у вас разработка объемнее, потому что вы говорите "я разрабатывал". "Я" не может разработать слишком уж большую систему.

Так вот, поверьте мне, проблемы системы отнюдь не в синтаксисе языка. И я не теоретик ;-)
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38370736
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И да, я не представляю, как это можно было бы написать на голом М.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38370750
Шваров Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
misha_shar,
Может быть Вам на Кикстартер ?

Только чем результат будет лучше minimdb и gt.m?
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38370797
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Шваров Евгенийmisha_shar,
Может быть Вам на Кикстартер ?

А можно по русски что все это значит? Я не силен в Английском.
Шваров ЕвгенийТолько чем результат будет лучше minimdb и gt.m?
minim и gt.m это реализации языка MUMPS. MSH это развитие MUMPS. Это разные языки. То что MUMPS надо развивать по моему это бесспорно иначе он умрет естественной смертью. Речь может идти только о том насколько MSH соответствует духу MUMPS и насколько необходимы предложенные изменения.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38370845
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
misha_shar,

в русском сильны? См. Kickstarter .
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38370849
Шваров Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
misha_sharШваров Евгенийmisha_shar,
Может быть Вам на Кикстартер ?

А можно по русски что все это значит? Я не силен в Английском.


Это международный агрегатор проектов: "А давайте сделаем...".
Автор темы говорит, например: соберите 1 млн долларов, я вам сделаю ... например, супер-MUMPS.

Что самое интересное - деньги собираются (миллионы долларов) и проекты делаются, если идея востребована сообществом.
misha_sharШваров ЕвгенийТолько чем результат будет лучше minimdb и gt.m?
minim и gt.m это реализации языка MUMPS. MSH это развитие MUMPS. Это разные языки. То что MUMPS надо развивать по моему это бесспорно иначе он умрет естественной смертью. Речь может идти только о том насколько MSH соответствует духу MUMPS и насколько необходимы предложенные изменения.


А, Вы предлагаете развитие стандарта?
С другой стороны, и Cache, и gt.m и mini.m не только поддерживают стандарт MUMPS, но и развивают сам язык - конечно больше всего в этом направлении сделано в Cache, хотя тут я, естественно, субъективен.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38370991
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Шваров ЕвгенийА, Вы предлагаете развитие стандарта?
С другой стороны, и Cache, и gt.m и mini.m не только поддерживают стандарт MUMPS, но и развивают сам язык - конечно больше всего в этом направлении сделано в Cache, хотя тут я, естественно, субъективен.
Безусловно в Cache сделано больше всего и больше всего испорчен MUMPS. Расширения сделаны в разрез языка. Противоречат ему и не совместимы с ним.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38371116
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
misha_shar,

вы воспринимаете язык как икону, а это инструмент. Как молоток или ложка.
Кстати, извольте ответить на мой вопрос выше, выясним все-таки, кто теоретик, а кто практик (это не я начал, кстати).
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38371119
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
misha_shar,

если отбросить религиозную составляющую, чем же был испорчен язык М?
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38371148
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Блок А.Н.misha_shar,

вы воспринимаете язык как икону, а это инструмент. Как молоток или ложка.
Кстати, извольте ответить на мой вопрос выше, выясним все-таки, кто теоретик, а кто практик (это не я начал, кстати).
Создайте тему у кого толще там и будем обсуждать. К этой теме это никакого отношения не имеет.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38371153
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
misha_shar,

Понятно, значит начали тему, а потом стало стыдно, решили уйти в кусты.
А на вопросы по языку тоже не ответите? Это то хоть по теме?
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38371160
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Блок А.Н.misha_shar,

если отбросить религиозную составляющую, чем же был испорчен язык М?
1. Процедуры введены в разрез идеологии MUMPS поэтому IS просит их не смешивать с MUMPS кодом. В смешанном коде сложно понять видимость переменных. Команда X выполняется как внешняя процедура и переменные в ней указанные не видны внутри неё.
2. Команда While ничего нового не дает.
3. Введено декларирование классов. MUMPS не декларативный язык.
4. Объекты порождают собственную структуру данных. Чего быть не должно.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38371162
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Шваров Евгенийmisha_shar,
Может быть Вам на Кикстартер ?

Спасибо! Интересное предложение.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38371886
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>1. Процедуры введены в разрез идеологии MUMPS поэтому IS просит их не смешивать с MUMPS кодом.
Не понял вас.
Видимость переменных на нескольких уровнях стека - это ужас. Хорошо, что IS с этим борется.

>В смешанном коде сложно понять видимость переменных.
Не понял вас. Локальная переменная должна быть видна локально.

>Команда X выполняется как внешняя процедура и переменные в ней указанные не видны внутри неё.
Неприятный артефакт, вероятно, связанный с реализацией.
Не понимая логику Каше тяжело понять, почему это не работает.

>2. Команда While ничего нового не дает.
Ну и ладно, жалко что-ли?

>3. Введено декларирование классов. MUMPS не декларативный язык.
И это недостаток MUMPS

>4. Объекты порождают собственную структуру данных. Чего быть не должно.
Объекты порождают ту структуру данных, которые вы укажете.

Пока я не вижу объективных причин ругать каше, только фанатизм.
Есть претензии к реализации (видимость переменных в execute, оформление хост-переменных sql через new и PublicList), но это уж как смогли.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38372055
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Блок А.Н.,
Я не возражаю. Если вам нравится эта помесь языков Си и MUMPS это ваше дело. Но я не думаю что это можно включить в стандарт.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38372085
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
misha_sharБлок А.Н.,
Я не возражаю. Если вам нравится эта помесь языков Си и MUMPS это ваше дело. Но я не думаю что это можно включить в стандарт.где вы увидели помесь Си и MUMPS ?
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38372108
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DAiMor,
Процедуры, While, {}
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38372126
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
misha_sharDAiMor,
Процедуры, While, {}иии, это есть в огромном числе языков и все они таким образом на Си похожи ?
Язык Си во много раз сложнее чем MUMPS, и много чего еще есть, там есть и переменные которые есть и в MUMPS о ужас.
чем вас все это не угодило.
гораздо красивее блоки циклов и условий оформлены в фигурных скобках а не с точками, которые очень легко пропустить.
и процедуры, что вам в них не устраивает, почти все языки их имеют.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38372149
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
misha_shar...я не думаю что это можно включить в стандарт.Едва ли имеет смысл всерьёз говорить о выпуске нового стандарта языка. Вам же Эд де Моель, кажется, отписался о текущем состоянии MDC, который вот уже 15 лет как бездействует, и совершенно непонятно, что может вывести его из этого состояния. Вся надежда была на вас ))), но похоже MSH не вызвал интереса и за океаном.
ИМХО, ISC поступила абсолютно правильно, вставив в язык то, что посчитала нужным, но сохранив совместимость с классическим M, тем самым оставив пользователям выбор, насколько далеко идти за ними.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38372150
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне всегда нравился вот этот вариан языка...
http://www.rulit.net/books/babbage-yazyk-programmirovaniya-budushchego-read-139893-1.html
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38372196
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,
а в чём прикол? Суровый язык закона? У меня открылось вот что:


Доступ заблокирован

Доменное имя этого сайта (www.rulit.net) заблокировано по решению органов власти в соответствии с законодательством РФ.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38372203
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DAiMorиии, это есть в огромном числе языков и все они таким образом на Си похожи ?
Язык Си во много раз сложнее чем MUMPS, и много чего еще есть, там есть и переменные которые есть и в MUMPS о ужас.
чем вас все это не угодило.
гораздо красивее блоки циклов и условий оформлены в фигурных скобках а не с точками, которые очень легко пропустить.
и процедуры, что вам в них не устраивает, почти все языки их имеют.
Язык Си оказал огромное влияние на другие языки например Java JS да и многие другие даже FreePascal заимствовал некоторые операции из Си. Я ничего не имею против Си. Некоторые конструкции в нем удачней чем в MUMPS. Я только против неудачного сваливания в кучу разных архитектурных схем. Процедуры меня устраивают они не устраивают команду New. Си не сложнее MUMPSa а проще. Оператор MUMPS Set A=1 выполняет гораздо больше работы оператор Си A=1; У этих языков совершенно разные ниши. И против фигурных скобок я ничего не имею против но в языке должно быть что то одно либо то либо другое. Точки в MUMPSe я тоже считаю неудачным выбором.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38372204
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslovkrvsa,
а в чём прикол? Суровый язык закона? У меня открылось вот что:


Доступ заблокирован

Доменное имя этого сайта (www.rulit.net) заблокировано по решению органов власти в соответствии с законодательством РФ.Видимо не повезло, и у вас сайт этот уже блокирован, приложил книгу оттуда
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38372224
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alexey MaslovЕдва ли имеет смысл всерьёз говорить о выпуске нового стандарта языка. Вам же Эд де Моель, кажется, отписался о текущем состоянии MDC, который вот уже 15 лет как бездействует, и совершенно непонятно, что может вывести его из этого состояния. Вся надежда была на вас ))), но похоже MSH не вызвал интереса и за океаном.
ИМХО, ISC поступила абсолютно правильно, вставив в язык то, что посчитала нужным, но сохранив совместимость с классическим M, тем самым оставив пользователям выбор, насколько далеко идти за ними.
А я все помню я был не пьяный...
Я ему снова написал.
Но если не двигаться то прогресса не будет. Надо работать. Делать реализацию. Я надеюсь что все же дело сдвинится с мертвой точки. Прошлые мои предложения Эд де Моель переслал в какой то университет. Я так понял что кто то все же занимается MUMPSом.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38372230
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
misha_shar,

А давайте так, вы создадите свою первую реализацию, запустите на этом какой-нибудь крупный проект.
А мы посмотрим на все это дело.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38372285
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DAiMormisha_shar,

А давайте так, вы создадите свою первую реализацию, запустите на этом какой-нибудь крупный проект.
А мы посмотрим на все это дело.
Да это конечно удобное решение. Так и придется делать. Дело только очень трудоемкое. Надо написать не просто транслятор но и среду разработки. Я расчитываю использовать NetBeans в качестве среды разработки только там почти вся документация на Английском и это напрягает. Разработку MSH на Си я делаю в NetBeans думаю со временем осилю.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38372339
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разумеется трудоемкое дело, NetBeans хороший выбор для реализации на нем среды разработки под свой язык.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #38461340
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В спецификацию языка внес изменения:
раздел 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
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
спецификация языка MSH
    #39110551
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
misha_shar,
Вариант языка на данный момент.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #39110631
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
misha_sharmisha_shar,
Вариант языка на данный момент.

http://www.sql.ru/forum/actualfile.aspx?id=18457590] Приложенный файл (MSH_COMPLETE_ru_108.doc - 101Kb) Что-то не нашел там нативного JSON. Не взлетит. Хотя было бы чему взлетать ?
...
Рейтинг: 0 / 0
спецификация языка MSH
    #39111382
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DAiMormisha_sharmisha_shar,
Вариант языка на данный момент.

http://www.sql.ru/forum/actualfile.aspx?id=18457590] Приложенный файл (MSH_COMPLETE_ru_108.doc - 101Kb) Что-то не нашел там нативного JSON. Не взлетит. Хотя было бы чему взлетать ?
Там много чего еще нет. Взлетит не взлетит, время покажет. Ваше мнение я учел.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #39111390
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
misha_shar,
Спасибо за моральную поддержку.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #39112404
MX-9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
misha_shar,

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

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

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

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


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

==================
...
Рейтинг: 0 / 0
спецификация языка MSH
    #39112539
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MX-9misha_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 ?

Пока никто .
...
Рейтинг: 0 / 0
спецификация языка MSH
    #39112889
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MX-9...мы на практике используем MiniM v-25 Windows.
Результаты обнадеживают - видим 99 % совместимость MiniM - CACHEАлексей, а производительность сравнивали?
...
Рейтинг: 0 / 0
спецификация языка MSH
    #39113665
MX-9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey ,

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

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

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

:)
...
Рейтинг: 0 / 0
спецификация языка MSH
    #39115642
Onix_q
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MX-9,

Тяжкое занятие "рвать тузика" )))
...
Рейтинг: 0 / 0
спецификация языка MSH
    #39116075
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Onix_qТяжкое занятие "рвать тузика" )))Onix_q, поделитесь опытом :)
...
Рейтинг: 0 / 0
спецификация языка MSH
    #39122341
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MX-9,
MX-9картина примерно такая -
-- при подключении к серверу в виде EXCEL-клиентов длинные запросы в 3 раза медленнее, чем CACHE,
-- при подключении через web ( IE-10+ ) еще и несколько притормаживает ввод - редактирование.

В принципе через EXCEL для малых предприятий годится.
Алексей, а вот это пробовали - Kingsoft Spreadsheet
Вроде бесплатный продукт.
Я пробовал в своих отчетах его, вроде тянет.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #39122411
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeriuMX-9,
MX-9картина примерно такая -
-- при подключении к серверу в виде EXCEL-клиентов длинные запросы в 3 раза медленнее, чем CACHE,
-- при подключении через web ( IE-10+ ) еще и несколько притормаживает ввод - редактирование.

В принципе через EXCEL для малых предприятий годится.
Алексей, а вот это пробовали - Kingsoft Spreadsheet
Вроде бесплатный продукт.
Я пробовал в своих отчетах его, вроде тянет.У него не отчеты, у него немного сложнее, там все приложение целиком
хотя просто ради интереса хотелось бы как нибудь увидеть как это, а то все на словах?
...
Рейтинг: 0 / 0
спецификация языка MSH
    #39122531
Фотография DirksDR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeriuKingsoft Spreadsheet
Вроде бесплатный продукт.
Я пробовал в своих отчетах его, вроде тянет.
Там что, и VBA есть? Совместимый с Excel?
На рекламной страничке не сказано, есть смысл дальше читать?
Извиняюсь, за офтопик...
...
Рейтинг: 0 / 0
спецификация языка MSH
    #39122547
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DirksDR,
Говорят на 100% совместима именно Excel !
И как раз VBA. Мне для VB6 пришлось
немного поискать в инете.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #39122552
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
спецификация языка MSH
    #39122563
Vladimir Baskakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из любопытства посмотрел документ взглядом программиста не имевшего отношения к М - средам.

В описании смешаны синтаксические конструкции, семантика и стандартные библиотеки. Описание синтаксиса привычнее видеть в БКФ или синтаксических диаграммах
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;

Концецию типа, класса, наследования тоже хорошо бы раскрыть.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #39122694
MX-9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeriuMX-9,
MX-9картина примерно такая -
-- при подключении к серверу в виде EXCEL-клиентов длинные запросы в 3 раза медленнее, чем CACHE,
-- при подключении через web ( IE-10+ ) еще и несколько притормаживает ввод - редактирование.

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

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

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

Извините за off-top.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #39122699
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vladimir Baskakov,
Замечания приняты. Буду думать. Согласен некоторые аспекты изложены невнятно. Насчет концепции данных не понял. Стандартная для MUMPS систем концепция данных. Есть локальные данные древовидной структуры времени выполнения программы и есть глобали древовидные структуры хранящиеся на внешних носителях. Тип данных программистом никак не задается и формируется MUMPS системой во время выполнения программы.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #39122806
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vladimir BaskakovЧто касается системы - не увидел привычного концепта типа данных,

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

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

Проблему опечатков в M я не встречал, да и на форумах она никогда не обсуждалась. Хотя теоретически это возможно. Программирование в M системах несколько отличается от программирования на других языках. Глобал это дерево данных произвольной структуры и поместить туда можно все что угодно. В крайнем случае можно все данные разместить в одном глобале. Но обычно их несколько. Я лично разные глобали выбираю из технологических соображений. Размещаю их в разных файлах для удобства обслуживания. На каждого клиента я завожу свой глобал. Другой глобал для настроек клиентов, еще один для постоянных данных. Так удобнее сопровождать систему. А смысловые фрагменты разношу по разным ветвям глобала. А так как обработку данных я строю напрямую на глобалах то промежуточных переменных у меня очень мало. А не запутаться в десятке имен конечно можно , но очень сложно. Да и отлавливаются такие ошибки быстро.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #39124467
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Проблему опечатков в M я не встречал, да и на форумах она никогда не обсуждалась.
Что?!

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

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

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

Вообще говоря, для меня является загадкой коммерческое программирование больших система на голом М. Оно существует? Действительно? О каких размерах программ имет в этом случае речь? Какой объем кода (рутин/строк/килобайт)? Какой срок жизни таких систем? Как сложно их модифицировать? Есть вдруг, принято решение, например, хранить данные по другому? В Каше то понятно, можно поменять декларацию класса, структуру хранения, перекачать данные, перекомпилировать программы - и все заработает. А тут?
Что значит "все данные разместить в одном глобале"? Например, есть система, в реляционном представлении которой будут сотни таблиц. Как вы ее разместите в глобале? Как будут размещаться индексы или их аналоги? Что будет, если программист в голом М ошибется в каком-нибудь обходе индексов?
...
Рейтинг: 0 / 0
спецификация языка MSH
    #39124576
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Блок А.Н.>Проблему опечатков в M я не встречал, да и на форумах она никогда не обсуждалась.
Что?!
Не встречал.
Блок А.Н.>Программирование в M системах несколько отличается от программирования на других языках.
Да чем же? Наличием глобалов? Глобал очень простая структура данных, в С++ можно навертеть такого, что глобалам и сниться не будет.

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

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

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

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

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

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

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

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

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

Сколько таблиц в реляционном представлении имеется я не знаю и знать не хочу. А засунуть любые данные в одно дерево тривиальная задача. Или в этом есть какие то проблемы?
Блок А.Н.Что будет, если программист в голом М ошибется в каком-нибудь обходе индексов?
Будет ошибка. Которую необходимо обнаружить и исправить. Но это же касается любых ошибок.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #39124661
MX-9
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н. ...
Вообще говоря, для меня является загадкой коммерческое программирование больших система на голом М. Оно существует? Действительно? О каких размерах программ имет в этом случае речь? Какой объем кода (рутин/строк/килобайт)? Какой срок жизни таких систем? Как сложно их модифицировать? Есть вдруг, принято решение, например, хранить данные по другому? В Каше то понятно, можно поменять декларацию класса, структуру хранения, перекачать данные, перекомпилировать программы - и все заработает. А тут?
Что значит "все данные разместить в одном глобале"? Например, есть система, в реляционном представлении которой будут сотни таблиц. Как вы ее разместите в глобале? Как будут размещаться индексы или их аналоги? Что будет, если программист в голом М ошибется в каком-нибудь обходе индексов?

Скажем так - не совсем голый M ...
Интеграция М + EXCEL.
Успешная практика примерно с 2000 года - с непрерывным развитием.
В разных отраслях загнивающего капитализма.

Программ практически не пишем - есть устоявшаяся М-$$-библиотека (кода в ней аж 200 кб)
Примитивные mx-мини-обьекты (описание обьектов делать не надо - само строится автоматом)

Кроме обычных формул в ячейках EXCEL добавлены МUMPS-команды и MX-запросы
(например, запросы на генерацию отчетов и диаграмм)
Принципиальная установка - любой отчет должен появится на экране не позже 10 секунд.
Исключения редки, разбор полета дотошный.

UNICODE везде, в том числе в МИНИМ и MSM.
Многоязычный интерфейс - переключенияе языка нажатием флажка.
Обмен данных между разнотипными м-серверами на лету, в ходе реализации MX-запросов.
Работа клиентов через EXCEL или через WEB - по выбору.
(WEB недавно, и пока есть проблемы по скорости)
Конверсия проектов из EXCEL в WEB автоматическая, нажатием кнопки, ничего специально дописывать не надо.

Модификация - это обновить или создать лист EXCEL.
Обычно на листе примерно десяток ячеек c мх-запросами и м-командами.

Что будет, если программист в голом М ошибется в каком-нибудь обходе индексов ?
-- будет ошибка - и это минус нашей системе - надо совершенствовать.
Если на каком то листе EXCEL уже есть конкретный отлаженный обход, другие листы могут его использовать,
вызывая по имени или по адресу ячейки, или можно тупо скопировать этот кусок листа на другой лист.
...
Рейтинг: 0 / 0
спецификация языка MSH
    #39125157
Фотография DirksDR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.Вообще говоря, для меня является загадкой коммерческое программирование больших система на голом М. Оно существует?
Я думаю, Вы знаете ответ.
Когда появился DSM-11, практически сразу появился File Man. Медицинские системы, кажется, на нем разрабатывались.
Рустэм Османов разработал псевдо-реляционную библиотеку для Диамс-3 с использованием ассемблерных вставок.
Там даже битовые индексы были, уже тогда.
А разработка Долженкова, кажется, до сих пор используется в СП АРМ.
Многие тогда писали такие библиотеки, чтобы обеспечить некоторую независимость программ от данных, и я писал.
Для GT.M или MiniM это и сейчас актульно, имхо.
...
Рейтинг: 0 / 0
77 сообщений из 77, показаны все 4 страниц
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / спецификация языка MSH
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]