powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Почему компилятор считает, что это не ошибка ?
14 сообщений из 39, страница 2 из 2
Почему компилятор считает, что это не ошибка ?
    #38629870
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Объяснение Сергея (logist-a) зачётное, хотя можно объяснить и проще: do с точками - это вызов (безымянной) подпрограммы, а goto разрешены как внутрь тела подпрограммы, так и за пределы её.

Насчёт goto: даже некоторые классики когда-то признали, что в некоторых случаях он может быть полезен. Например, при отрицательном результате проверки входных параметров функции, лучше cделать goto на метку перед выходом из неё, чем "тянуть" длинную проверку условий через всё тело функции. Почему сразу не выйти? Потому что нередко хочется выполнить какие-то общие действия перед выходом, записать что-то в отладочный лог, например.

Альтернативные решения, как например try/catch через всё тело функции с искусственной генерацией ошибок для их последующего перехвата, имхо, ничуть не нагляднее goto.

Насчёт паззлов: есть несколько забавных у Charlie Boo; если кому-то интересно, могу скинуть их в наш форум (не все ведь читают comp.lang.mumps).
...
Рейтинг: 0 / 0
Почему компилятор считает, что это не ошибка ?
    #38629872
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извините, ответил не в том топике.
...
Рейтинг: 0 / 0
Почему компилятор считает, что это не ошибка ?
    #38629880
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey MaslovИзвините, ответил не в том топике.Ничего страшного, модераторы всегда помогут.
...
Рейтинг: 0 / 0
Почему компилятор считает, что это не ошибка ?
    #38629914
logist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Насчёт goto: даже некоторые классики когда-то признали, что в некоторых случаях он может быть полезен.

Еще один, уже более специфический для Каше случай - проход по длинным (в части количества индексов) деревьям. Как для улучшения читаемости (не создается куча вложенных циклов), так и для улучшения производительности (не происходит переключения уровней стека). Если посмотреть на код, который генерит SQL Compiler, там goto очень плотно используется.
...
Рейтинг: 0 / 0
Почему компилятор считает, что это не ошибка ?
    #38629923
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ладно, ладно, уговорили, goto оставляем, но точки то точно нужно ликвидировать.
...
Рейтинг: 0 / 0
Почему компилятор считает, что это не ошибка ?
    #38629943
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMorладно, ладно, уговорили, goto оставляем, но точки то точно нужно ликвидировать.Конечно, ведь и документация это (мягко говоря) советует:The argumentless version of the DO command is considered legacy as of Caché 4.0, and should not be used in new programming.

DO (legacy version)
...
Рейтинг: 0 / 0
Почему компилятор считает, что это не ошибка ?
    #38629958
Шваров Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMorладно, ладно, уговорили, goto оставляем, но точки то точно нужно ликвидировать.
И то, только для компилируемого кода и в случаях, когда с goto работает быстрее )
...
Рейтинг: 0 / 0
Почему компилятор считает, что это не ошибка ?
    #38629982
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMorладно, ладно, уговорили, goto оставляем, но точки то точно нужно ликвидировать.
А не проще сделать язык на основе JavaScript с поддержкой операций MUMPS?
...
Рейтинг: 0 / 0
Почему компилятор считает, что это не ошибка ?
    #38629986
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну яDAiMorладно, ладно, уговорили, goto оставляем, но точки то точно нужно ликвидировать.
А не проще сделать язык на основе JavaScript с поддержкой операций MUMPS?Сделать где ? и кому проще ?
...
Рейтинг: 0 / 0
Почему компилятор считает, что это не ошибка ?
    #38630012
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMorСделать где ? и кому проще ?
В М-системах. Разработчикам М-систем.
...
Рейтинг: 0 / 0
Почему компилятор считает, что это не ошибка ?
    #38630569
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DAiMorСделать где ? и кому проще ?
А чем JS лучше MUMPS?
Ни точки , ни goto не проблема. Проблема непонимание задания, а это плохо лечится выбором языка.
...
Рейтинг: 0 / 0
Почему компилятор считает, что это не ошибка ?
    #38630769
logist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
misha_shar,

> А чем JS лучше MUMPS?

Больше народу знает язык, не надо переучиваться. В резюме/объявлении о найме будет современная широко используемая технология. JS - (полу)функциональный язык, можно делать интересные вещи.

Почему до сих пор не сделали - вопрос в том числе к ну я, как разработчику М-систем.
...
Рейтинг: 0 / 0
Почему компилятор считает, что это не ошибка ?
    #38630785
gluconat_ca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
logistПочему до сих пор не сделали - вопрос
Rob Tweed вообще продвигает идею и реализацию замены MUMPSа на JS в качестве прикладного языка, оставляя MUMPS как хранилище данных.
...
Рейтинг: 0 / 0
Почему компилятор считает, что это не ошибка ?
    #38632195
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
logistmisha_shar,

> А чем JS лучше MUMPS?

Больше народу знает язык, не надо переучиваться. В резюме/объявлении о найме будет современная широко используемая технология. JS - (полу)функциональный язык, можно делать интересные вещи.

Почему до сих пор не сделали - вопрос в том числе к ну я, как разработчику М-систем.
По моему GlobalDb для того и сделали что бы писать на JS и обращаться к базе данных на CACHE. Чем не решение?
...
Рейтинг: 0 / 0
14 сообщений из 39, страница 2 из 2
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Почему компилятор считает, что это не ошибка ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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