powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Ого! InterSystems joins the open source ObjectScript for VS Code effort
31 сообщений из 31, показаны все 2 страниц
Ого! InterSystems joins the open source ObjectScript for VS Code effort
    #39955211
alatalo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже тут кое-кого можно поздравить с крупным достижением :)
Круто, поздравляю!
Ателье похоже помер реально не родившись.
...
Рейтинг: 0 / 0
Ого! InterSystems joins the open source ObjectScript for VS Code effort
    #39955218
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alatalo,

Спасибо
У Atelier действительно не особо было много шансов, но нужно отдать ему должное, благодаря ему работает сейчас VSCode-ObjectScript. Так что не совсем зря, и часть его живет.
...
Рейтинг: 0 / 0
Ого! InterSystems joins the open source ObjectScript for VS Code effort
    #39955248
alatalo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я правда не устаю повторять, что подсветка синтаксиса и прочие помошники, это конечно здорово, но пока в Каше не завезут что-то приличное в дополнение к ObjectScript, для себя существенного прогресса я не вижу. Приличное для меня, это что-то со статической типизацией, для того, чтобы можно было сделать реальный рефакторинг, такой, какой он есть например в c# или java: написать один раз что-то на ObjectScript можно, но попробуй без боли что-то просто переименовать. Не говоря уже о серьезных переделках. Пишу пол дня на c# и пол дня на ObjectScript: это как переход в каменный век и обратно.
...
Рейтинг: 0 / 0
Ого! InterSystems joins the open source ObjectScript for VS Code effort
    #39955257
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я конечно понимаю, что статическая типизация может помогать, но не совсем понимаю причем тут рефакторинг.

Так как сделать рефакторинг как таковой есть в планах, хотелось бы получить больше понимания, как это хочется видеть? Поначалу, конечно нужно сделать относительно простой вариант, возможность просто менять имена переменным, методам, свойствам, классам.
...
Рейтинг: 0 / 0
Ого! InterSystems joins the open source ObjectScript for VS Code effort
    #39955414
Sheonn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дело в том, что при динамической типизации как раз и не получится "просто" поменять имена методам, свойствам и классам, невозможно будет найти все места, где они используются.
А если ещё учесть возможности выполнения произвольной текстовой строки и всякие функции вроде $property, то совсем всё плохо становится.
С именами локальных переменных несколько проще. Но если вспомнить, что переменные могут иметь глобальную область видимости, то опять становится грустно.
Плюс ещё дикая смесь разных надстроек одного над другим. Одни CSP чего стоят, что сама Intersystems от них открещивается, а добавьте туда ещё CSR.

Сколько уж нам обещали отдать грамматики хотя бы, но нет. Сейчас опять что-то пообещали, но что неизвестно.
Во времена разработки Atelier уже существовал протокол для языкового сервера, который можно было использовать и в эклипсе и в VSCode. Могли хотя бы сейчас взять наработки Atelier и сделать языковой сервер, чтобы каждый мог использовать его в своих решениях.
Нормального api для развёртывания через CI тоже нет. Попробуйте большой проект скомпилировать через API Atelier и словите таймаут.
...
Рейтинг: 0 / 0
Ого! InterSystems joins the open source ObjectScript for VS Code effort
    #39955543
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sheonn
Дело в том, что при динамической типизации как раз и не получится "просто" поменять имена методам, свойствам и классам, невозможно будет найти все места, где они используются.
А если ещё учесть возможности выполнения произвольной текстовой строки и всякие функции вроде $property, то совсем всё плохо становится.
С именами локальных переменных несколько проще. Но если вспомнить, что переменные могут иметь глобальную область видимости, то опять становится грустно.
Плюс ещё дикая смесь разных надстроек одного над другим. Одни CSP чего стоят, что сама Intersystems от них открещивается, а добавьте туда ещё CSR.
Да, действительно тут набегает довольно много подводных камней в этом плане. Наверно что-то можно будет решить в процессе, хотя сделать совсем хорошо займет много сил и времени. Но тут главное, чтобы эти усилия имели смысл, чтобы этим в дальнейшем пользовались.
Тут вероятно еще может помочь синтаксический анализатор, который уже есть, но его еще надо развивать.

Sheonn
Сколько уж нам обещали отдать грамматики хотя бы, но нет. Сейчас опять что-то пообещали, но что неизвестно.
Грамматику не помню, чтобы кто-то обещал отдать. Про исходники Atelier, было дело, но кому они теперь сейчас нужны, смысла от них теперь мало.

Sheonn
Нормального api для развёртывания через CI тоже нет. Попробуйте большой проект скомпилировать через API Atelier и словите таймаут.
Не совсем понятно, какой API нужен, и зачем тут использовать API Atelier. API Atelier подходит для использования в редакторе. Но сборка проекта это уже другая тема, и например %Installer уже давно был и есть, и им можно собирать проекты. Есть теперь еще ZPM, которым можно собирать и свои проекты, а еще и распространять.
...
Рейтинг: 0 / 0
Ого! InterSystems joins the open source ObjectScript for VS Code effort
    #39955566
Sheonn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В тех же исходниках Atelier, насколько я понимаю, как раз есть парсер ObjectScript. Т.е. можно было бы взять этот парсер и сделать Language Server.
ZPM мало подходит для загрузки кода проекта из git-репозитория. У API Atelier в этом плане есть плюс, в виде единообразного способа загрузки кода, но минус в компиляции больших проектов, т.к. это обычный http запрос и у него есть таймаут.
Больше всего проблем доставляют CSP, очень много нюансов их загрузки и компиляции.
...
Рейтинг: 0 / 0
Ого! InterSystems joins the open source ObjectScript for VS Code effort
    #39955584
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sheonn
В тех же исходниках Atelier, насколько я понимаю, как раз есть парсер ObjectScript. Т.е. можно было бы взять этот парсер и сделать Language Server.
Там парсер на Java, да и не завершен он.
Сейчас должна уже начаться работа над LanguageServer. Так что надеюсь скоро VSCode будет еще лучше.

Sheonn
ZPM мало подходит для загрузки кода проекта из git-репозитория.
Все равно не очень понятно, как тут вообще Atelier API может пригодиться, если ZPM не подходит. Если есть пожелания по развитию ZPM, тоже можно и мне писать, а лучше сюда .

Я уже много разных вариантов сборки проектов делал, разными способами, через разные CI, поэтому у меня можно спрашивать советов.
...
Рейтинг: 0 / 0
Ого! InterSystems joins the open source ObjectScript for VS Code effort
    #39955586
Sheonn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не совсем точно наверное описал ситуацию.
Для разовой и первоначальной загрузки проекта ZPM наверное подойдёт, но вот для постоянных ежедневных, а то и по несколько раз в день, обновлений кодовой базы уже как-то странно выглядит. Тем более обновление всего проекта в продуктовой среде - фактически остановка его на какое-то время, что тоже очень плохо.
API Atelier - как минимум тот инструмент, который работает в системе из коробки, не нужно предварительно ничего устанавливать. Ещё плюс - это одинаковая работа в разных ОС. Те же терминалы работают по-разному и в контейнерах для windows это ограничивает возможности.
...
Рейтинг: 0 / 0
Ого! InterSystems joins the open source ObjectScript for VS Code effort
    #39955602
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sheonn,

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

А чем стандартные $system.OBJ.Load/LoadDir/Import не подошли?
...
Рейтинг: 0 / 0
Ого! InterSystems joins the open source ObjectScript for VS Code effort
    #39955609
Sheonn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DAiMor

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

Мы как раз и обновляем только то, что изменилось. Я говорил про то, что ZPM такого функционала не даст.

DAiMor
А чем стандартные $system.OBJ.Load/LoadDir/Import не подошли?

А вот тут как раз и возникают проблемы и в первую очередь с CSP, через эти методы просто нельзя импортировать их как положено. Да, для CSP есть отдельные методы импорта, но сначала их нужно скопировать в каталог приложения, не забыв переконвертировать в CP1251, потому что в этих методах не посчитали нужным добавить параметр кодировки.
В общем основную боль вызывают конечно CSP, с ними всегда не просто, включая веб-приложения для них.

К тому же в Cache мы использовали cache.exe для выполнения COS, в IRIS эту возможность похоже убрали.
...
Рейтинг: 0 / 0
Ого! InterSystems joins the open source ObjectScript for VS Code effort
    #39955625
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alatalo
Я правда не устаю повторять, что подсветка синтаксиса и прочие помошники, это конечно здорово, но пока в Каше не завезут что-то приличное в дополнение к ObjectScript, для себя существенного прогресса я не вижу. Приличное для меня, это что-то со статической типизацией, для того, чтобы можно было сделать реальный рефакторинг, такой, какой он есть например в c# или java: написать один раз что-то на ObjectScript можно, но попробуй без боли что-то просто переименовать. Не говоря уже о серьезных переделках. Пишу пол дня на c# и пол дня на ObjectScript: это как переход в каменный век и обратно.

У меня всегда противоположные чувства. Никогда не возникало необходимости переименовывать переменные. Что то у вас не так с проектированием. Писать на MUMPS как на C просто нельзя. В SQL ты же не переименовываешь таблицы.
...
Рейтинг: 0 / 0
Ого! InterSystems joins the open source ObjectScript for VS Code effort
    #39955629
Sheonn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
misha_shar
У меня всегда противоположные чувства. Никогда не возникало необходимости переименовывать переменные. Что то у вас не так с проектированием. Писать на MUMPS как на C просто нельзя. В SQL ты же не переименовываешь таблицы.

Но это же не аргумент, если кто-то не использует этот функционал, то это не значит, что он не нужен в принципе.
Невозможно архитектуру продумать на несколько десятков лет вперёд, тем более, что сам ObjectScript менялся и подходы тоже.
...
Рейтинг: 0 / 0
Ого! InterSystems joins the open source ObjectScript for VS Code effort
    #39955638
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sheonn
К тому же в Cache мы использовали cache.exe для выполнения COS, в IRIS эту возможность похоже убрали.
Интересно, а можно поподробнее, почему именно cache.exe? В IRIS помоему переименовали в irisdb.exe, и не думаю что это убрали там.

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

Код: sql
1.
set ^%SYS("CSP","DefaultFileCharset")="utf-8"
...
Рейтинг: 0 / 0
Ого! InterSystems joins the open source ObjectScript for VS Code effort
    #39955660
alatalo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
@misha_shar
С первого раза код написал и все 20 лет код можно не трогать? Круто.

misha_shar
Что то у вас не так с проектированием

И похоже не только у нас. JetBrains стал столь популярен со своим Resharper в первую очередедь из-за крутых возможностей исследования кода и его рефакторинга. Так что-то пока мы, быдло-кодеры, занимаемся ерундой, у вас больше шансов захватить мир.
...
Рейтинг: 0 / 0
Ого! InterSystems joins the open source ObjectScript for VS Code effort
    #39955666
alatalo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sheonn
К тому же в Cache мы использовали cache.exe для выполнения COS, в IRIS эту возможность похоже убрали.


В смысле какую возможность убрали?

Мы тоже на Cache и вяло подумываем а не попробовать ли на IRIS наш проект. Но нам по цене нет пока никакого смысла переезжать.
...
Рейтинг: 0 / 0
Ого! InterSystems joins the open source ObjectScript for VS Code effort
    #39955682
misha_shar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alatalo
@misha_shar
С первого раза код написал и все 20 лет код можно не трогать? Круто.

Один раз спроектировал основные деревья и 20 лет их не переименовываю. И не было такой необходимости. А локальные переменные тоже стараюсь локализовать в программе. Какое переименование?
alatalo
И похоже не только у нас. JetBrains стал столь популярен со своим Resharper в первую очередь из-за крутых возможностей исследования кода и его рефакторинга. Так что-то пока мы, быдло-кодеры, занимаемся ерундой, у вас больше шансов захватить мир.

Да я не против хорошего редактора кода, но такого традиционно в MUMPS системах не было. Может у разработчиков руки не доходили. Но в MUMPS особо отлаживать нечего. Я не помню что бы в форуме особо остро ставился вопрос по хорошему отладчику. Я так понимаю это не особенно актуально.
...
Рейтинг: 0 / 0
Ого! InterSystems joins the open source ObjectScript for VS Code effort
    #39955740
Sheonn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DAiMor
Интересно, а можно поподробнее, почему именно cache.exe? В IRIS помоему переименовали в irisdb.exe, и не думаю что это убрали там.
Да, через irisdb.exe работает.

DAiMor
Код: sql
1.
set ^%SYS("CSP","DefaultFileCharset")="utf-8"


Это тоже работает.
Спасибо за информацию.
Плохо что такую информацию очень сложно найти и опять же нет единообразия в подходах.
...
Рейтинг: 0 / 0
Ого! InterSystems joins the open source ObjectScript for VS Code effort
    #39956086
alatalo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
misha_shar
Один раз спроектировал основные деревья и 20 лет их не переименовываю

Мы похоже про очень разное. Деревья тут совершенно не при чем. Я про рефакторинг кода, переименования символов лишь самая простая его операция. Если интересно, то тут перечисленны возможности приличной стреды программирования. https://www.jetbrains.com/resharper/features/code_refactoring.html. Отладчик к рефакторингу кода никакого отношения не имеет, про него здесь вообще нет речи.
...
Рейтинг: 0 / 0
Ого! InterSystems joins the open source ObjectScript for VS Code effort
    #39956139
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alatalo
misha_shar
Один раз спроектировал основные деревья и 20 лет их не переименовываю

Мы похоже про очень разное. Деревья тут совершенно не при чем. Я про рефакторинг кода, переименования символов лишь самая простая его операция. Если интересно, то тут перечисленны возможности приличной стреды программирования. (подозрительная ссылка!) https://www.jetbrains.com/resharper/features/code_refactoring.html. Отладчик к рефакторингу кода никакого отношения не имеет, про него здесь вообще нет речи.
Спасибо за ссылку, там интересные примеры. И думаю когда мы доберемся до IntelliJ, можно будет сделать похожее с упором на особенности ObjectScript. В VSCode так как это не IDE а редактор попроще, с этим думаю чуть сложнее, но что нибудь думаю точно получится, в будущем сделать.
...
Рейтинг: 0 / 0
Ого! InterSystems joins the open source ObjectScript for VS Code effort
    #39956171
alatalo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMor,

мы как после С++ стали на С# писать, эпохи реально разделисиь на до-решарпера и после. Микрософт в большой Visual Studio пытается решарпер копировать, но далеко ему еще. А вот тут про робкие попытки решарпинга в Visual Studio Code: https://code.visualstudio.com/docs/editor/refactoring

Мне кажется без грандиозных несовместимых изменений в ObjectScript ничего путного не получится.
...
Рейтинг: 0 / 0
Ого! InterSystems joins the open source ObjectScript for VS Code effort
    #39956187
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alatalo
несовместимых изменений в ObjectScript
ObjectScriptNext
Но этим кто-то должен заниматься, придумать как его развить.
Насчет несовместимости, не уверен, что это хорошая идея. Может можно сделать через транспайлер.
...
Рейтинг: 0 / 0
Ого! InterSystems joins the open source ObjectScript for VS Code effort
    #39956279
Sheonn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно было бы сделать какой-нибудь строгий режим, чтобы внедрить статическую типизацию, убрать лишнее, упростить грамматику и т.д.
Тут бы конечно вместо embedded sql добавить в ObjectScript LINQ как в C#, чтобы всё через объекты делать.
...
Рейтинг: 0 / 0
Ого! InterSystems joins the open source ObjectScript for VS Code effort
    #39956317
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sheonn,

Вроде как в последней версии IRIS ESQL выполняется на том же движке, что и динамический, и не требует перекомпиляции программы при изменении структуры.
...
Рейтинг: 0 / 0
Ого! InterSystems joins the open source ObjectScript for VS Code effort
    #39956319
alatalo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sheonn
LINQ как в C#

ох соль на мои раны! Я уже примеривался махнуть рукой на этот ObjectScript и сделать серверную часть на с# с доступом к базе по Callin ( https://cedocs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=BXCI_callin) но слишком много проблем возникает.
...
Рейтинг: 0 / 0
Ого! InterSystems joins the open source ObjectScript for VS Code effort
    #39956337
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alatalo
Sheonn
LINQ как в C#

ох соль на мои раны! Я уже примеривался махнуть рукой на этот ObjectScript и сделать серверную часть на с# с доступом к базе по Callin ( https://cedocs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=BXCI_callin) но слишком много проблем возникает.

Есть вот такое, Native API for .NET
И если выложить проект с его использованием, можно заработать денег

Вот кстати интересный проект c SQL
...
Рейтинг: 0 / 0
Ого! InterSystems joins the open source ObjectScript for VS Code effort
    #39956429
Sheonn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Блок А.Н.
Вроде как в последней версии IRIS ESQL выполняется на том же движке, что и динамический, и не требует перекомпиляции программы при изменении структуры.

Тут дело не в динамическом исполнении ESQL. Это я писал в привязке к статической типизации, в LINQ это очень хорошо работает.
Готовимся к переходу на IRIS, в 2020.1 выявили ошибки в SQL, которые при компиляции не обнаруживались. И чтобы поймать ошибки в написанном SQL, нужно добавлять новый флаг, с которым этот SQL тоже компилится сразу (а не в рантайме) и выдаёт ошибки, если что-то некорректно.
...
Рейтинг: 0 / 0
Ого! InterSystems joins the open source ObjectScript for VS Code effort
    #39956434
Sheonn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DAiMor
Есть вот такое, Native API for .NET
И если выложить проект с его использованием, можно заработать денег

Там другая библиотека есть готовая Using the Entity Framework Provider

DAiMor
Вот кстати интересный проект c SQL

Для каких-то целей неплохо, но опять легко можно ошибиться в названиях полей, классов и т.д. Для больших проектов мало подходит.
...
Рейтинг: 0 / 0
Ого! InterSystems joins the open source ObjectScript for VS Code effort
    #39956460
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sheonn
Для каких-то целей неплохо, но опять легко можно ошибиться в названиях полей, классов и т.д. Для больших проектов мало подходит.
А чего не хватает, на базе этого можно сделать то что по вашему мнению подойдет для больших проектов?

Я просто практически не знаком с проектами на других языках. И если было, то в основном на Java.

Особенность NativeAPI, как я понимаю, именно в возможности работать быстро, потому что использует shared memory.
...
Рейтинг: 0 / 0
Ого! InterSystems joins the open source ObjectScript for VS Code effort
    #39956501
alatalo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sheonn
DAiMor
Есть вот такое, Native API for .NET
И если выложить проект с его использованием, можно заработать денег

Там другая библиотека есть готовая Using the Entity Framework Provider

DAiMor
Вот кстати интересный проект c SQL

Для каких-то целей неплохо, но опять легко можно ошибиться в названиях полей, классов и т.д. Для больших проектов мало подходит.


Да-да, Native API, Entity Framework Provider, это все понятно. Я имел в виду, что много всяких других вопросов возникает. Нужно делать свой сервер, который будет слушать клиентов и тд и тп.
...
Рейтинг: 0 / 0
Ого! InterSystems joins the open source ObjectScript for VS Code effort
    #39956513
alatalo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMor
Вот кстати интересный проект c SQL


Прикольно, да. На первый взгляд все эти OrIf, AndIf действительно позволят упростить создание запроса со сложным набором условий.
...
Рейтинг: 0 / 0
31 сообщений из 31, показаны все 2 страниц
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Ого! InterSystems joins the open source ObjectScript for VS Code effort
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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