powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Scripting (C#/VB.NET) "Roslyn"
25 сообщений из 141, страница 1 из 6
Scripting (C#/VB.NET) "Roslyn"
    #39062032
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто-то юзал уже в продакшене?
...
Рейтинг: 0 / 0
Scripting (C#/VB.NET) "Roslyn"
    #39062553
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

кто-нить вообще юзал?

скрипты на C#-е, без оверхеда в тексте динамически компилируемого кода (классика C# REPL)

ась?
...
Рейтинг: 0 / 0
Scripting (C#/VB.NET) "Roslyn"
    #39062586
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
hVosttскрипты на C#
Это PowerShell
...
Рейтинг: 0 / 0
Scripting (C#/VB.NET) "Roslyn"
    #39062592
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2hVosttскрипты на C#
Это PowerShell

ещё раз повторяю: скрипты на C#

никакого PowerShell, такие скрипты нужны для того, чтобы часть товой расчётной логики вынести на уровень данных. конечно, можно было бы примонстрячить, например, какой-нибудь Lua.NET или что-то такое, но надо исключить из уравнения «учить ещё один язык» (даже самый пипец какой сверх-наипростейший в этой вселенной -- наплевать!), и включить в уравнение «возможности C# LINQ».

т.е. никакого PowerShell или <мой-любимый-скриптовый-язык>.

поэтому и спрашиваю, кто-нить щупал Roslyn? (уже включённый в состав фреймворка, но до сих пор отсутствующий в полной мере в нугетах). использовал в продакшене? вопрос концептуальный.
...
Рейтинг: 0 / 0
Scripting (C#/VB.NET) "Roslyn"
    #39062605
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

я хочу и готовлюсь к этому
у меня все методы - независимые
я из них собираю контроллеры
при этом четко надо отслеживать правильность использования параметров, понять куда деть результат, верификация переменных и т.д.
т.е. надо анализировать методы и возможно поменять кое-что в них или просто забраковать метод - типа не соответствует модели
но задача сложная и между делом не хочу заниматься, а времени пока свободной нет
...
Рейтинг: 0 / 0
Scripting (C#/VB.NET) "Roslyn"
    #39062614
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

т.е. это пока на уровне задумки?

а то пока что приходится ловить в ночных сборках суровую бету, или юзать более-менее рабочую альфу. может ещё как-то. вот и хотелось узнать о подобной практике.
...
Рейтинг: 0 / 0
Scripting (C#/VB.NET) "Roslyn"
    #39062625
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

ну задумке этой у меня 7 лет
без такого инструмента как рослин мне надо было написать свой парсер для языков НЕТ
я все ждал, то они М писали, то расширяли рефлексию
теперь инструмент автогенерации и верификации программ есть
при нормальной модели можно сгенерировать всю инфроструктуру, вплоть до методов модели
для методов можно сгенерировать контекст и каркас по выбранной подсхеме модели
а остальное уже кодер допишет
...
Рейтинг: 0 / 0
Scripting (C#/VB.NET) "Roslyn"
    #39062631
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

твои задачи несколько отличаются от моих :)
у тебя же кодогенерация и анализ кода, которую можно уже юзать. это не скриптинг.

моя задача — это написание алгоритмов и сохранение их в данных. алгоритмы это чистокровное мясо, т.е. никаких тебе «особенностей реализации», пишешь тупо в лоб — ни валидации, ни отлов исключений, ни журналирование — ничего этого ты не делаешь, да и вообще знать про это не знаешь, пишешь себе алгоритм. при чём даже не весь алгоритм, а разбиваешь на куски, которые можно тут же протестировать, и всё это через пользовательский интерфейс, без всяких студий. на брифингах выяснилось, что нет ни одной дельной причины приделывать сюда какой-то скриптовый язык, алгоритмы 100% императивные, так что функциональщина сразу топает лесом в огород. алгоритмы будут писать специально обученные люди, и разговаривать вся команда должна на одном языке, вавилонские башни пусть другие строят :)
...
Рейтинг: 0 / 0
Scripting (C#/VB.NET) "Roslyn"
    #39062633
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

а как же контекст для этих алгоритмов?
откуда берется?
какая область знаний?
...
Рейтинг: 0 / 0
Scripting (C#/VB.NET) "Roslyn"
    #39062635
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
приведи пример
...
Рейтинг: 0 / 0
Scripting (C#/VB.NET) "Roslyn"
    #39062637
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRoshVostt,

а как же контекст для этих алгоритмов?
откуда берется?
какая область знаний?

контекст предоставляется «сверху», в контексте вся модель данных и туда же алгоритмы пишут результат.
откуда берётся, не имеет значения. может быть из базы данных. а может ещё откуда-то, для алгоритмов это без разницы, они делают своё чёрное дело.
область знаний — расчёты. грубо говоря, у определённых людей есть методички с формулами, наборы регламентов, приказов и прочего барахла, на основе чего они пишут эти алгоритмы. для написания этих алгоритмов надо знать базовый синтаксис C# и базовые принципы LINQ, этого достаточно. осилит даже обезьяна. ну и программисты на подхвате — подскажут. программисты же заняты самим инструментом в ПО, которое будет делать всю чёрную работу — валидация, журналирование, визуализация, отлов ошибок, проверки, подсказки, подготовка контекста и прочее.
...
Рейтинг: 0 / 0
Scripting (C#/VB.NET) "Roslyn"
    #39062639
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosприведи пример

ну вот кусок алгоритма:

Код: c#
1.
M.Agregat.CommonPressurePa =  M.Tubes.Sum(x => x.ActivePressurePa + (x.PassivePressurePa * R.K1));



грубо говоря, это какой-нибудь узел алгоритма.
...
Рейтинг: 0 / 0
Scripting (C#/VB.NET) "Roslyn"
    #39062647
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

а контекст откуда берется?
М?
...
Рейтинг: 0 / 0
Scripting (C#/VB.NET) "Roslyn"
    #39062651
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRoshVostt,

а контекст откуда берется?
М?

Ну М, например. Контекст передаётся каждому узлу, это инстанс класса. Разумеется, контекст отслеживает изменения своих данных, ну и заведомо не содержит некорректных данных (null вместо коллекций, например).
...
Рейтинг: 0 / 0
Scripting (C#/VB.NET) "Roslyn"
    #39062657
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

то что передается ясно :)
а при Написании алгоритма уже есть доступ к М (ну к метаописанию М)?
если есть то зачем тебе скриптинг?
если М дайнамик конкретно нетовский, то опять ж
скриптинг - когда М еще нет, а есть просто протокольный (ну бумажный) интерфейс М
...
Рейтинг: 0 / 0
Scripting (C#/VB.NET) "Roslyn"
    #39062660
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRoshVostt,

то что передается ясно :)
а при Написании алгоритма уже есть доступ к М (ну к метаописанию М)?
если есть то зачем тебе скриптинг?
если М дайнамик конкретно нетовский, то опять ж
скриптинг - когда М еще нет, а есть просто протокольный (ну бумажный) интерфейс М

доступ к мета есть при написании. живой М передаётся при исполнении, конечно же.

скриптинг нужен, потому что алгоритмы хранятся как данные, редактируются пользователями (специально обученными), имеют свойства данных — могут создаваться через пользовательский интерфейс, редактироваться/изменяться, копироваться, архивироваться, связываться с расчётами и прочее. этим алгоритмам не место в коде приложения, им также не место в СУБД (там вообще не место никакой даже самой мало-мальской логике!).
...
Рейтинг: 0 / 0
Scripting (C#/VB.NET) "Roslyn"
    #39062663
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

дык они обычный код, только внешний для приложения
у ВИПРОС все прикладные методы такие
ВИПРОС просто их загружает и выполняет по команде пользователя - а что они делают ей пофиг
вот есть модель
1. описана структура
2. описаны события структуры - указаны методы подписанные
3. описаны методы модели

это все данные
а сами методы в каких то ДЛЛках или в хранимках или просто СКЛ запрос
в описании каждого метода четко указано
брать с длл такойто неймспейс такойто класс такой то метод такой то или схема и хранимка или запрос прямо в описании метода

ВИПРОС загружает модель, создает форму, к структурам модели привязывает обработчиков событий, а в екшны привязывает методы эти

при нужде загружается длл и вызывается привязанный метод или вызывается хранимка или выполняется СКЛ
им передается стандартный контекст модели (или контрактованные контексты)
все эти методы уанвей - т.е. они просто возвращают норм ли выполнились или нет (вот этого я хочу с помощью рослин исправить)
...
Рейтинг: 0 / 0
Scripting (C#/VB.NET) "Roslyn"
    #39062664
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и дял этого никакого скриптинга не надо
...
Рейтинг: 0 / 0
Scripting (C#/VB.NET) "Roslyn"
    #39062668
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosдык они обычный код, только внешний для приложения

нет, не обычный. это текст, хранимый как данный. текст, который исполняется как код. это -- текст.

ViPRosВИПРОС просто их загружает и выполняет по команде пользователя - а что они делают ей пофиг

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

ViPRosа сами методы в каких то ДЛЛках или в хранимках или просто СКЛ запрос

фу-фу-фу... ты про что-то другое говоришь. какие длл-ки? какие хранимки? я же говорю, код -- и есть данные, а у тебя код где-то лежит, и не поддаётся редактированию через UI. сравниваешь марс и лунную пыль.

ViPRosбрать с длл такойто неймспейс такойто класс такой то метод такой то или схема и хранимка или запрос прямо в описании метода

хранимки -- (имхо) лажа. доставать классс-метод.. ну низнаю, не айс, если честно. я бы запилил слой команд, вызывающий слой не знает че там где лежит, какие классы-методы, а классы-методы не знают кто их вызывают, а между ними контроллер. и всё поддаётся и управлению, и тестированию. вызывать напрямую из длл-ок, через описания в данных, это грязь однозначно (имхо, опять же).


ViPRosвсе эти методы уанвей - т.е. они просто возвращают норм ли выполнились или нет (вот этого я хочу с помощью рослин исправить)

по-моему, ты так и не понял для чего нужен рослин :)
у тебя код уже откомпилирован, чего ты там рослиным делать собрался??
...
Рейтинг: 0 / 0
Scripting (C#/VB.NET) "Roslyn"
    #39062669
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosи дял этого никакого скриптинга не надо

это вообще другие задачи у тебя. ничего общего с той, что я описал. ни одного общего момента. ни одной мало-мальской параллели. ни цветом, ни запахом, ни формой не похожи.
...
Рейтинг: 0 / 0
Scripting (C#/VB.NET) "Roslyn"
    #39062678
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttViPRosи дял этого никакого скриптинга не надо

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

но все это мне не нравится и я все же хочу создать свою среду (не включиться в студию, а свою), для того что бы
1. При создании метода подсунуть инмемори модель в виде автогененированного модуля
2. Разрешить все ссылки на НЕТ и расширения
3. Дебажить и выполнить

другая задача
При изменении модели проверить все связанные с ней методы на валидность
вот тут мне рослин поможет
и брось - не понимаешь и т.д.
сам не понимаешь :)
...
Рейтинг: 0 / 0
Scripting (C#/VB.NET) "Roslyn"
    #39062681
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
некоторые вещи лучше делать в БД (если конечно ты работаешь с СУБД), потому хранимки и скл запросы
...
Рейтинг: 0 / 0
Scripting (C#/VB.NET) "Roslyn"
    #39062686
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и рослин значит не понимаешь ты
рослин - это превращение внешнего кода в синтаксическое дерево и возможность изменить это дерево
остальное все вторично
...
Рейтинг: 0 / 0
Scripting (C#/VB.NET) "Roslyn"
    #39062688
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кроме трансляции одного дерево в другое (ДСЛ)
...
Рейтинг: 0 / 0
Scripting (C#/VB.NET) "Roslyn"
    #39062689
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostthVostt,

кто-нить вообще юзал?

скрипты на C#-е, без оверхеда в тексте динамически компилируемого кода (классика C# REPL)

ась? на DotNext записывайсо
...
Рейтинг: 0 / 0
25 сообщений из 141, страница 1 из 6
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Scripting (C#/VB.NET) "Roslyn"
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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