|
Scripting (C#/VB.NET) "Roslyn"
|
|||
---|---|---|---|
#18+
Кто-то юзал уже в продакшене? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2015, 18:59 |
|
Scripting (C#/VB.NET) "Roslyn"
|
|||
---|---|---|---|
#18+
hVostt, кто-нить вообще юзал? скрипты на C#-е, без оверхеда в тексте динамически компилируемого кода (классика C# REPL) ась? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2015, 18:04 |
|
Scripting (C#/VB.NET) "Roslyn"
|
|||
---|---|---|---|
#18+
hVosttскрипты на C# Это PowerShell ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2015, 18:51 |
|
Scripting (C#/VB.NET) "Roslyn"
|
|||
---|---|---|---|
#18+
Cat2hVosttскрипты на C# Это PowerShell ещё раз повторяю: скрипты на C# никакого PowerShell, такие скрипты нужны для того, чтобы часть товой расчётной логики вынести на уровень данных. конечно, можно было бы примонстрячить, например, какой-нибудь Lua.NET или что-то такое, но надо исключить из уравнения «учить ещё один язык» (даже самый пипец какой сверх-наипростейший в этой вселенной -- наплевать!), и включить в уравнение «возможности C# LINQ». т.е. никакого PowerShell или <мой-любимый-скриптовый-язык>. поэтому и спрашиваю, кто-нить щупал Roslyn? (уже включённый в состав фреймворка, но до сих пор отсутствующий в полной мере в нугетах). использовал в продакшене? вопрос концептуальный. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2015, 18:57 |
|
Scripting (C#/VB.NET) "Roslyn"
|
|||
---|---|---|---|
#18+
hVostt, я хочу и готовлюсь к этому у меня все методы - независимые я из них собираю контроллеры при этом четко надо отслеживать правильность использования параметров, понять куда деть результат, верификация переменных и т.д. т.е. надо анализировать методы и возможно поменять кое-что в них или просто забраковать метод - типа не соответствует модели но задача сложная и между делом не хочу заниматься, а времени пока свободной нет ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2015, 19:16 |
|
Scripting (C#/VB.NET) "Roslyn"
|
|||
---|---|---|---|
#18+
ViPRos, т.е. это пока на уровне задумки? а то пока что приходится ловить в ночных сборках суровую бету, или юзать более-менее рабочую альфу. может ещё как-то. вот и хотелось узнать о подобной практике. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2015, 19:30 |
|
Scripting (C#/VB.NET) "Roslyn"
|
|||
---|---|---|---|
#18+
hVostt, ну задумке этой у меня 7 лет без такого инструмента как рослин мне надо было написать свой парсер для языков НЕТ я все ждал, то они М писали, то расширяли рефлексию теперь инструмент автогенерации и верификации программ есть при нормальной модели можно сгенерировать всю инфроструктуру, вплоть до методов модели для методов можно сгенерировать контекст и каркас по выбранной подсхеме модели а остальное уже кодер допишет ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2015, 19:45 |
|
Scripting (C#/VB.NET) "Roslyn"
|
|||
---|---|---|---|
#18+
ViPRos, твои задачи несколько отличаются от моих :) у тебя же кодогенерация и анализ кода, которую можно уже юзать. это не скриптинг. моя задача — это написание алгоритмов и сохранение их в данных. алгоритмы это чистокровное мясо, т.е. никаких тебе «особенностей реализации», пишешь тупо в лоб — ни валидации, ни отлов исключений, ни журналирование — ничего этого ты не делаешь, да и вообще знать про это не знаешь, пишешь себе алгоритм. при чём даже не весь алгоритм, а разбиваешь на куски, которые можно тут же протестировать, и всё это через пользовательский интерфейс, без всяких студий. на брифингах выяснилось, что нет ни одной дельной причины приделывать сюда какой-то скриптовый язык, алгоритмы 100% императивные, так что функциональщина сразу топает лесом в огород. алгоритмы будут писать специально обученные люди, и разговаривать вся команда должна на одном языке, вавилонские башни пусть другие строят :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2015, 19:59 |
|
Scripting (C#/VB.NET) "Roslyn"
|
|||
---|---|---|---|
#18+
hVostt, а как же контекст для этих алгоритмов? откуда берется? какая область знаний? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2015, 20:02 |
|
Scripting (C#/VB.NET) "Roslyn"
|
|||
---|---|---|---|
#18+
приведи пример ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2015, 20:03 |
|
Scripting (C#/VB.NET) "Roslyn"
|
|||
---|---|---|---|
#18+
ViPRoshVostt, а как же контекст для этих алгоритмов? откуда берется? какая область знаний? контекст предоставляется «сверху», в контексте вся модель данных и туда же алгоритмы пишут результат. откуда берётся, не имеет значения. может быть из базы данных. а может ещё откуда-то, для алгоритмов это без разницы, они делают своё чёрное дело. область знаний — расчёты. грубо говоря, у определённых людей есть методички с формулами, наборы регламентов, приказов и прочего барахла, на основе чего они пишут эти алгоритмы. для написания этих алгоритмов надо знать базовый синтаксис C# и базовые принципы LINQ, этого достаточно. осилит даже обезьяна. ну и программисты на подхвате — подскажут. программисты же заняты самим инструментом в ПО, которое будет делать всю чёрную работу — валидация, журналирование, визуализация, отлов ошибок, проверки, подсказки, подготовка контекста и прочее. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2015, 20:09 |
|
Scripting (C#/VB.NET) "Roslyn"
|
|||
---|---|---|---|
#18+
ViPRosприведи пример ну вот кусок алгоритма: Код: c# 1.
грубо говоря, это какой-нибудь узел алгоритма. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2015, 20:12 |
|
Scripting (C#/VB.NET) "Roslyn"
|
|||
---|---|---|---|
#18+
hVostt, а контекст откуда берется? М? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2015, 20:33 |
|
Scripting (C#/VB.NET) "Roslyn"
|
|||
---|---|---|---|
#18+
ViPRoshVostt, а контекст откуда берется? М? Ну М, например. Контекст передаётся каждому узлу, это инстанс класса. Разумеется, контекст отслеживает изменения своих данных, ну и заведомо не содержит некорректных данных (null вместо коллекций, например). ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2015, 20:44 |
|
Scripting (C#/VB.NET) "Roslyn"
|
|||
---|---|---|---|
#18+
hVostt, то что передается ясно :) а при Написании алгоритма уже есть доступ к М (ну к метаописанию М)? если есть то зачем тебе скриптинг? если М дайнамик конкретно нетовский, то опять ж скриптинг - когда М еще нет, а есть просто протокольный (ну бумажный) интерфейс М ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2015, 20:51 |
|
Scripting (C#/VB.NET) "Roslyn"
|
|||
---|---|---|---|
#18+
ViPRoshVostt, то что передается ясно :) а при Написании алгоритма уже есть доступ к М (ну к метаописанию М)? если есть то зачем тебе скриптинг? если М дайнамик конкретно нетовский, то опять ж скриптинг - когда М еще нет, а есть просто протокольный (ну бумажный) интерфейс М доступ к мета есть при написании. живой М передаётся при исполнении, конечно же. скриптинг нужен, потому что алгоритмы хранятся как данные, редактируются пользователями (специально обученными), имеют свойства данных — могут создаваться через пользовательский интерфейс, редактироваться/изменяться, копироваться, архивироваться, связываться с расчётами и прочее. этим алгоритмам не место в коде приложения, им также не место в СУБД (там вообще не место никакой даже самой мало-мальской логике!). ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2015, 21:00 |
|
Scripting (C#/VB.NET) "Roslyn"
|
|||
---|---|---|---|
#18+
hVostt, дык они обычный код, только внешний для приложения у ВИПРОС все прикладные методы такие ВИПРОС просто их загружает и выполняет по команде пользователя - а что они делают ей пофиг вот есть модель 1. описана структура 2. описаны события структуры - указаны методы подписанные 3. описаны методы модели это все данные а сами методы в каких то ДЛЛках или в хранимках или просто СКЛ запрос в описании каждого метода четко указано брать с длл такойто неймспейс такойто класс такой то метод такой то или схема и хранимка или запрос прямо в описании метода ВИПРОС загружает модель, создает форму, к структурам модели привязывает обработчиков событий, а в екшны привязывает методы эти при нужде загружается длл и вызывается привязанный метод или вызывается хранимка или выполняется СКЛ им передается стандартный контекст модели (или контрактованные контексты) все эти методы уанвей - т.е. они просто возвращают норм ли выполнились или нет (вот этого я хочу с помощью рослин исправить) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2015, 21:11 |
|
Scripting (C#/VB.NET) "Roslyn"
|
|||
---|---|---|---|
#18+
и дял этого никакого скриптинга не надо ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2015, 21:11 |
|
Scripting (C#/VB.NET) "Roslyn"
|
|||
---|---|---|---|
#18+
ViPRosдык они обычный код, только внешний для приложения нет, не обычный. это текст, хранимый как данный. текст, который исполняется как код. это -- текст. ViPRosВИПРОС просто их загружает и выполняет по команде пользователя - а что они делают ей пофиг это другое совсем. у тебя выполняется команда. а тут речь идёт о песочнице, об алгоритме, который берёт данные из контекста, считает их и засовывает результат в контекст. ничего больше он не делает. ни открывает окон, не загружает/сохраняет файлы, не лезет в сеть, не лезет в базу данных, никак не взаимодействует с пользователем. ViPRosа сами методы в каких то ДЛЛках или в хранимках или просто СКЛ запрос фу-фу-фу... ты про что-то другое говоришь. какие длл-ки? какие хранимки? я же говорю, код -- и есть данные, а у тебя код где-то лежит, и не поддаётся редактированию через UI. сравниваешь марс и лунную пыль. ViPRosбрать с длл такойто неймспейс такойто класс такой то метод такой то или схема и хранимка или запрос прямо в описании метода хранимки -- (имхо) лажа. доставать классс-метод.. ну низнаю, не айс, если честно. я бы запилил слой команд, вызывающий слой не знает че там где лежит, какие классы-методы, а классы-методы не знают кто их вызывают, а между ними контроллер. и всё поддаётся и управлению, и тестированию. вызывать напрямую из длл-ок, через описания в данных, это грязь однозначно (имхо, опять же). ViPRosвсе эти методы уанвей - т.е. они просто возвращают норм ли выполнились или нет (вот этого я хочу с помощью рослин исправить) по-моему, ты так и не понял для чего нужен рослин :) у тебя код уже откомпилирован, чего ты там рослиным делать собрался?? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2015, 21:20 |
|
Scripting (C#/VB.NET) "Roslyn"
|
|||
---|---|---|---|
#18+
ViPRosи дял этого никакого скриптинга не надо это вообще другие задачи у тебя. ничего общего с той, что я описал. ни одного общего момента. ни одной мало-мальской параллели. ни цветом, ни запахом, ни формой не похожи. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2015, 21:21 |
|
Scripting (C#/VB.NET) "Roslyn"
|
|||
---|---|---|---|
#18+
hVosttViPRosи дял этого никакого скриптинга не надо это вообще другие задачи у тебя. ничего общего с той, что я описал. ни одного общего момента. ни одной мало-мальской параллели. ни цветом, ни запахом, ни формой не похожи. не горячись я их компилирую только для того что бы не сыпать ошибками в рантайме они сначала все были просто текстами и я вымахивался написав текст в блокноте и засунув его в БД или просто текстовый файл, а В система этот текст компилировала совала ей ссылки и контекст и выполняла но все это фигня, если у тебя нет собственного ИДЕ у меня был ИДЕ на базе ScriptControl, но там не была дебаггера и потому пришлось отказаться в пользу експресс студии а раз студия то почему бы и не компилить но все это мне не нравится и я все же хочу создать свою среду (не включиться в студию, а свою), для того что бы 1. При создании метода подсунуть инмемори модель в виде автогененированного модуля 2. Разрешить все ссылки на НЕТ и расширения 3. Дебажить и выполнить другая задача При изменении модели проверить все связанные с ней методы на валидность вот тут мне рослин поможет и брось - не понимаешь и т.д. сам не понимаешь :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2015, 21:37 |
|
Scripting (C#/VB.NET) "Roslyn"
|
|||
---|---|---|---|
#18+
некоторые вещи лучше делать в БД (если конечно ты работаешь с СУБД), потому хранимки и скл запросы ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2015, 21:39 |
|
Scripting (C#/VB.NET) "Roslyn"
|
|||
---|---|---|---|
#18+
и рослин значит не понимаешь ты рослин - это превращение внешнего кода в синтаксическое дерево и возможность изменить это дерево остальное все вторично ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2015, 21:43 |
|
Scripting (C#/VB.NET) "Roslyn"
|
|||
---|---|---|---|
#18+
кроме трансляции одного дерево в другое (ДСЛ) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2015, 21:44 |
|
|
start [/forum/topic.php?fid=20&fpage=76&tid=1401184]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
89ms |
get tp. blocked users: |
2ms |
others: | 316ms |
total: | 490ms |
0 / 0 |