nemerle & nitra netstandard
От: cm4ker  
Дата: 14.01.20 11:26
Оценка: 3 (1) +1
Добрый день.

Сейчас пишу платформу по работе с данными поверх .net'a.

В платформе предусмотрен свой ЯП, контекстно связанный с объектами платформы.

Сейчас у меня работает все следующим образом ЯП -> antlr -> AST -> ILGen(один из нескольких бэкендов dnlib|cecil|sre). Эт всё дело соответственно крутиться под netstandard2.0

Посмотрел на нитру — она походу избавит меня от большой головной боли.

Есть информация когда произойдет ретаргет на netstandard2.0 и если можно сейчас пользоваться, то есть где-нибудь актуальная инструкция по сборке или кто-нибудь может помочь разобраться в этом?
Отредактировано 14.01.2020 17:40 cm4ker . Предыдущая версия .
nemerle nitra netstandard
Re: nemerle & nitra netstandard
От: varenikAA  
Дата: 22.01.20 06:30
Оценка:
Здравствуйте, cm4ker, Вы писали:

C>Добрый день.


C>Сейчас пишу платформу по работе с данными поверх .net'a.


C>В платформе предусмотрен свой ЯП, контекстно связанный с объектами платформы.


C>Сейчас у меня работает все следующим образом ЯП -> antlr -> AST -> ILGen(один из нескольких бэкендов dnlib|cecil|sre). Эт всё дело соответственно крутиться под netstandard2.0


C>Посмотрел на нитру — она походу избавит меня от большой головной боли.


C>Есть информация когда произойдет ретаргет на netstandard2.0 и если можно сейчас пользоваться, то есть где-нибудь актуальная инструкция по сборке или кто-нибудь может помочь разобраться в этом?


Ощущение, что немерлисты как партизаны. А жаль, пробовал небольшое WinForms приложение создать. Язык форсит к трушным модульности, иммутабильности и прочим вещам. Почти не мешая основной цели — функционалу.
Годнота в общем.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[2]: nemerle & nitra netstandard
От: cm4ker  
Дата: 23.01.20 07:25
Оценка:
Здравствуйте, varenikAA, Вы писали:

AA>Здравствуйте, cm4ker, Вы писали:


C>>Добрый день.


C>>Сейчас пишу платформу по работе с данными поверх .net'a.


C>>В платформе предусмотрен свой ЯП, контекстно связанный с объектами платформы.


C>>Сейчас у меня работает все следующим образом ЯП -> antlr -> AST -> ILGen(один из нескольких бэкендов dnlib|cecil|sre). Эт всё дело соответственно крутиться под netstandard2.0


C>>Посмотрел на нитру — она походу избавит меня от большой головной боли.


C>>Есть информация когда произойдет ретаргет на netstandard2.0 и если можно сейчас пользоваться, то есть где-нибудь актуальная инструкция по сборке или кто-нибудь может помочь разобраться в этом?


AA>Ощущение, что немерлисты как партизаны. А жаль, пробовал небольшое WinForms приложение создать. Язык форсит к трушным модульности, иммутабильности и прочим вещам. Почти не мешая основной цели — функционалу.

AA>Годнота в общем.

Как бы я понимаю людей. Сейчас в репке немерла есть ветка retarget-compiler, которая готова завезти таргет на netsandard2.0 и, как я понял, вообще даст дорогу языку к netcore.
Но собрать я её никак не смог, видимо там вообще разломано много чего и ещё нужно это "подсобрать" до какого-то логического завершения.

Пока ждём, коммиты есть, что-то пилится, делается. Я думаю, что нам всё покажут, когда будет что показать, но вот вопрос когда это будет)
Re[3]: nemerle & nitra netstandard
От: varenikAA  
Дата: 23.01.20 09:47
Оценка:
Здравствуйте, cm4ker, Вы писали:


C>Как бы я понимаю людей. Сейчас в репке немерла есть ветка retarget-compiler,


К сожалению, пока только заменили кодогенерацию на dnlib вместо IL.Emit.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re: nemerle & nitra netstandard
От: VladD2 Российская Империя www.nemerle.org
Дата: 01.02.20 13:45
Оценка: 27 (2) +1
Здравствуйте, cm4ker, Вы писали:

Приношу извинения за то, что долго не отвечали. В последнее время вообще на форумы времени не хватает.

C>Есть информация когда произойдет ретаргет на netstandard2.0 и если можно сейчас пользоваться, то есть где-нибудь актуальная инструкция по сборке или кто-нибудь может помочь разобраться в этом?


Сначала поясню что и зачем мы делаем. Нитра базируется на немерловом компиляторе. У нас возникла потребность использовать написанный на ней DSL (TDL) на маковских и линуксовых машинах. В принципе этой цели мы и так достигли по средствам Моно (который отлично запускает любые сборки). Но люди хотят именно Кор... Причем нужно обеспечить не только работу утилиты командной строки, но и поддержку VS Code на маках и линухах.

Мы перевели Немерл на dnlib, что бы тот мог компилировать под корку и стандарт. Сейчас на наших внутренних билд-серверах вся цепочка: Немерл, Нитра и ТДЛ собираются новым компилятором работающим на Коре. Причем основные длл-ки собираются под стандарт и только ncc под корку и дотнет 4.5.

Но кое что еще не закончено. Осталось допилить немерловую IDE. К сожалению, она довольно сильно "отъехала". Только вчера до нее дошли руки. Так же сервер нитры пока что собирается только под дотнет 4.5. Кроме того мы сейчас работаем над поддержкой VS Code для чего реализуем LSP-протокол. Он пока живет на старой ветки.

В ближайшее время (возможно на следующей неделе) мы планируем допилить IDE-плагин Немерла и перевести полностью перевести разработку на новый компилятор. Далее мы сольем LSP-ветку с корочной и сделаем ее мастером.

Все что связано с переходом на новый компилятор находится в ветках retarget-*. Соответственно: немерловая — retarget-compiler, нитровская — retarget-nitra и TDL-льная — retarget-tdl.

В течении месяца мы зальем их в мастера и они станут основными.

Пока что для сборки нужно исользовать именно их.

Для сборки немерла нужно иметь установленную VS 2017.
Открываем "Developer Command Prompt for VS 2017" и пишем:
cd /D C:\RSDN\Nemerle
SET Config=Debug
SET MSBUILDENABLEALLPROPERTYFUNCTIONS=1
SET NemerlePath=c:\RSDN\nemerle\bin\%Config%\net-4.0
msbuild NemerleAll.nproj /t:Stage1;CompilerTests;_ComputationExpressions;_Async;Install /p:NTargetName=Build;Configuration=%Config%;NInstall=%NemerlePath%

После выполнения в c:\RSDN\nemerle\bin\Debug\net-4.0 окажется собранный компилятор.

Далее собираем нитру:

cd /D C:\RSDN\Nemerle
SET Config=Debug
SET MSBUILDENABLEALLPROPERTYFUNCTIONS=1
msbuild Common\BootTasks.proj /t:BuildBoot /p:NemerleBinPathRoot=%NemerlePath%

msbuild Nitra-Stagt1.sln /p:NemerleBinPathRoot=%NemerlePath% /t:Restore
msbuild Nitra-Stagt1.sln /p:NemerleBinPathRoot=%NemerlePath%

После чего в каталоге c:\!\RSDN\Nitra\bin\Debug\Stage1\ будет собрана нитра.

Примерно тоже нужно проделать для TDL-я, чтобы его собрать.

TDL можно использовать в качестве примера использования Нитры.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: nemerle & nitra netstandard
От: varenikAA  
Дата: 04.02.20 08:10
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Для сборки немерла нужно иметь установленную VS 2017.

VD>Открываем "Developer Command Prompt for VS 2017" и пишем:
VD>
VD>cd /D C:\RSDN\Nemerle
VD>SET Config=Debug
VD>SET MSBUILDENABLEALLPROPERTYFUNCTIONS=1
VD>SET NemerlePath=c:\RSDN\nemerle\bin\%Config%\net-4.0
VD>msbuild NemerleAll.nproj /t:Stage1;CompilerTests;_ComputationExpressions;_Async;Install /p:NTargetName=Build;Configuration=%Config%;NInstall=%NemerlePath%
VD>

VD>После выполнения в c:\RSDN\nemerle\bin\Debug\net-4.0 окажется собранный компилятор.

Вопрос, клонировал бранч, запустил
Build-core.cmd, все собралось, но ncc.exe как-будто все также
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
  </startup>

и выдает:

c:\RSDN\nemerle\bin\Release\net-4.0>dotnet ncc.exe
A fatal error was encountered. The library 'hostpolicy.dll' required to execute the application was not found in 'c:\RSDN\nemerle\bin\Release\net-4.0\'.
Failed to run as a self-contained app. If this should be a framework-dependent app, add the c:\RSDN\nemerle\bin\Release\net-4.0\ncc.runtimeconfig.json file specifying the appropriate framework.


Куда копать?
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[2]: nemerle & nitra netstandard
От: cm4ker  
Дата: 04.02.20 15:50
Оценка:
Здравствуйте, VladD2, Вы писали:

Добрый день! Спасибо за ваш развёрнутый ответ! Отличные новости.
Я пока продумаю лучше архитектуру и дождусь когда всё будет в мастере.
Отредактировано 04.02.2020 17:07 VladD2 . Предыдущая версия .
Re[3]: nemerle & nitra netstandard
От: VladD2 Российская Империя www.nemerle.org
Дата: 04.02.20 19:36
Оценка: 3 (1)
Здравствуйте, varenikAA, Вы писали:

AA>Вопрос, клонировал бранч, запустил

AA>Build-core.cmd, все собралось, но ncc.exe как-будто все также
AA>
AA>  <startup>
AA>    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
AA>  </startup>
AA>

AA>и выдает:
AA>

AA>c:\RSDN\nemerle\bin\Release\net-4.0>dotnet ncc.exe
AA>A fatal error was encountered. The library 'hostpolicy.dll' required to execute the application was not found in 'c:\RSDN\nemerle\bin\Release\net-4.0\'.
AA>Failed to run as a self-contained app. If this should be a framework-dependent app, add the c:\RSDN\nemerle\bin\Release\net-4.0\ncc.runtimeconfig.json file specifying the appropriate framework.


AA>Куда копать?


ncc.exe собирается под дотнет 4.6.1, но этот компилятор позволяет собирать сборки под стандарт и кор. Все сборки Немерла и Нитры за исключением exe-шников собираются под netstandard2.0.

Я обновил бут, так что теперь можно собрать компилятор и под кор2.1. Пока что для этого придется врунчую изменить в nemerle\ncc.nproj строку:
    <TargetFramework>net461</TargetFramework>

на
    <TargetFramework>netcoreapp2.1</TargetFramework>

К сожалению, тег TargetFrameworks пока не поддерживается, так что указать оба варианта нельзя.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: nemerle & nitra netstandard
От: varenikAA  
Дата: 06.02.20 01:52
Оценка:
VD>Я обновил бут, так что теперь можно собрать компилятор и под кор2.1. Пока что для этого придется врунчую изменить в nemerle\ncc.nproj строку:
VD>
VD>    <TargetFramework>net461</TargetFramework>
VD>

VD>на
VD>
VD>    <TargetFramework>netcoreapp2.1</TargetFramework>
VD>


Клонировал бранч. исправил целевую платформу.

Компилится только если так:

C:\RSDN\nemerle>msbuild NemerleAll.nproj /t:Stage1;Install /p:NTargetName=Build;Configuration=%Config%;NInstall=%NemerlePath%


Создал файлик:
System.Console.WriteLine("Hello!");

dotnet ncc.dll main.n

Получаю:

Assertion Failed
ICE! (Internal Compiler Error)
internal type System.Security.Permissions.SecurityAttribute not found

at Nemerle.Compiler.ManagerClass.LookupTypeInfo(String typeName) in C:\RSDN\nemerle\ncc\frontend\ManagerClass.n:line 725
at Nemerle.Compiler.ManagerClass.Lookup(String typeName) in C:\RSDN\nemerle\ncc\frontend\ManagerClass.n:line 716
at Nemerle.Compiler.InternalTypeClass.lookup(String type_name) in C:\RSDN\nemerle\ncc\backend\hierarchy\InternalTypeClass.n:line 290
at Nemerle.Compiler.InternalTypeClass.InitSystemTypes() in C:\RSDN\nemerle\ncc\backend\hierarchy\InternalTypeClass.n:line 370
at Nemerle.Compiler.ManagerClass._N__N_lambda__66157__66343.apply_void() in C:\RSDN\nemerle\ncc\frontend\ManagerClass.n:line 591
at Nemerle.Compiler.ManagerClass._N_tryEx_66188(_N_closureOf_LoadExternalLibraries_66167 _N_LoadExternalLibraries_cp_66187, FunctionVoid f) in C:\RSDN\nemerle\ncc\frontend\ManagerClass.n:line 525
at Nemerle.Compiler.ManagerClass.LoadExternalLibraries(Boolean forceInitNemerleTypes) in C:\RSDN\nemerle\ncc\frontend\ManagerClass.n:line 598
at Nemerle.Compiler.ManagerClass.Run() in C:\RSDN\nemerle\ncc\frontend\ManagerClass.n:line 634
at Nemerle.CommandlineCompiler.MainClass.main_with_catching() in C:\RSDN\nemerle\ncc\main.n:line 57
at System.Threading.Thread.ThreadMain_ThreadStart()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)


Может быть это связано с тем, что по умолчанию установлен dotnet 3.1?
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[5]: nemerle & nitra netstandard
От: hardcase Пират http://nemerle.org
Дата: 06.02.20 18:08
Оценка: 3 (1) +1
Здравствуйте, varenikAA, Вы писали:

AA>Может быть это связано с тем, что по умолчанию установлен dotnet 3.1?


Нет, компилятору просто нужен список референсов.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[2]: nemerle & nitra netstandard
От: Kolesiki  
Дата: 21.02.20 18:17
Оценка: :)
Здравствуйте, VladD2, Вы писали:

VD>Но люди хотят именно Кор... Причем нужно обеспечить не только работу утилиты командной строки, но и поддержку VS Code на маках и линухах.


Влад, ну вот чё, серьёзно? "Люди" хотят? Может, это не люди, а всякие хипстеры, которым чо угодно, только бы "не как у всех"? Я знаю одну надкушенную секту, но пропаганда геев у нас запрещена так что возникает резонный вопрос: кому конкретно и зачем понадобилась немерля на линупсах или, прости господи, маках? Там что, какой-то страшный энтерпрайз крутится? Или клиентов тонны? Пока я сидел на ЛОРах и опеннетах, насмотрелся местного сброда — это просто кунсткамера какая-то! И главное, ни одного "покупателя" — все "я б купил, если бы не...". Про юзабилити линупсов вообще ходят уже не легенды, а просто вялые ржачи подхрипывающих олдскулов. Там вообще всем всё по*** ну вам по колено будет. Юзают и Перлы, и С++, и Пестоны, десяток билдеров, стотыщ ГУЁв, а воз с качеством и ныне там. Примечательно, что для линуксов даже завезли ДИ! (на LLVM бэкенде) И что ж ты думаешь? Ни один не шелохнулся, только слышны постанывания жрущих кактус сипипистов. Ну и представь, появится там Nemerle. На Коре, которое .NET, которое "детище микрософта", "мастдай" и всё такое. Там даже работающий C# никому не впёрся, что уж говорить про экзотику типа Немерли.
Короче, "меня терзают смутные сомнения", что ты опять тратишь силы в пустоту. Сыпешь бисером там, где рыла десятилетиями не подымали из корыта легаси фуфла.
Вдвойне смешно слышать про линупсы, когда даже сама M$ не в состоянии запилить там тривиальнейшую ГУЙню. Винформсы — они ж простые как тапок, всё держится на низлежащих окнах (которые есть и в X-Window), но вот не осилили. И ещё долго не осилят — работает WinForms.Core исключительно под вендой. Внимание, правильный вопрос: ЧТО будут писать отчаянные немерлисты, придя в линупсы? ОПЯТЬ опостылевшие "перделки командной строки"? Даром не надо. А без гуя там и своих языков — вагон и тележка.
Я почему так развёрнуто... да потому, что жалко усилия, которые просто "греют воздух". Прогерам, закалённым "windows-only" дотнетом (за 15-то лет!) просто нафиг не обздалась их "многоплатформенность". Линукс на декстопе — никто. На серверах — "кто", но там своих языков море и не такой уж большой рынок. Писать что-то для макакосей — вообще не упёрлось, там анально огороженный мир и полная диктатура геерастов: шаг в сторону — и тебя со всеми твоими трудами выкидывают. Остаётся "слон, которого не приметили" — венда, десктоп, кнопочки, ляпота! И для неё у нас есть всё — Немерля, хромающая IDE и чужеродный плагин к чудовищной VS. Т.е. работы — навалом, но мы всё равно отчаянно рвёмся в Коры. Вот такая грустная сказка, где целованная лягушка так и осталась лягушкой.
Re[3]: nemerle & nitra netstandard
От: varenikAA  
Дата: 22.02.20 03:38
Оценка:
Здравствуйте, Kolesiki, Вы писали:

K>Здравствуйте, VladD2, Вы писали:


VD>>Но люди хотят именно Кор... Причем нужно обеспечить не только работу утилиты командной строки, но и поддержку VS Code на маках и линухах.


K>Влад, ну вот чё, серьёзно? "Люди" хотят? Может, это не люди, а всякие хипстеры, которым чо угодно, только бы "не как у всех"? Я знаю одну надкушенную секту, но пропаганда геев у нас запрещена так что возникает резонный вопрос: кому конкретно и зачем понадобилась немерля на линупсах или, прости господи, маках? Там что, какой-то страшный энтерпрайз крутится? Или клиентов тонны? Пока я сидел на ЛОРах и опеннетах, насмотрелся местного сброда — это просто кунсткамера какая-то! И главное, ни одного "покупателя" — все "я б купил, если бы не...". Про юзабилити линупсов вообще ходят уже не легенды, а просто вялые ржачи подхрипывающих олдскулов. Там вообще всем всё по*** ну вам по колено будет. Юзают и Перлы, и С++, и Пестоны, десяток билдеров, стотыщ ГУЁв, а воз с качеством и ныне там. Примечательно, что для линуксов даже завезли ДИ! (на LLVM бэкенде) И что ж ты думаешь? Ни один не шелохнулся, только слышны постанывания жрущих кактус сипипистов. Ну и представь, появится там Nemerle. На Коре, которое .NET, которое "детище микрософта", "мастдай" и всё такое. Там даже работающий C# никому не впёрся, что уж говорить про экзотику типа Немерли.

K>Короче, "меня терзают смутные сомнения", что ты опять тратишь силы в пустоту. Сыпешь бисером там, где рыла десятилетиями не подымали из корыта легаси фуфла.
K>Вдвойне смешно слышать про линупсы, когда даже сама M$ не в состоянии запилить там тривиальнейшую ГУЙню. Винформсы — они ж простые как тапок, всё держится на низлежащих окнах (которые есть и в X-Window), но вот не осилили. И ещё долго не осилят — работает WinForms.Core исключительно под вендой. Внимание, правильный вопрос: ЧТО будут писать отчаянные немерлисты, придя в линупсы? ОПЯТЬ опостылевшие "перделки командной строки"? Даром не надо. А без гуя там и своих языков — вагон и тележка.
K>Я почему так развёрнуто... да потому, что жалко усилия, которые просто "греют воздух". Прогерам, закалённым "windows-only" дотнетом (за 15-то лет!) просто нафиг не обздалась их "многоплатформенность". Линукс на декстопе — никто. На серверах — "кто", но там своих языков море и не такой уж большой рынок. Писать что-то для макакосей — вообще не упёрлось, там анально огороженный мир и полная диктатура геерастов: шаг в сторону — и тебя со всеми твоими трудами выкидывают. Остаётся "слон, которого не приметили" — венда, десктоп, кнопочки, ляпота! И для неё у нас есть всё — Немерля, хромающая IDE и чужеродный плагин к чудовищной VS. Т.е. работы — навалом, но мы всё равно отчаянно рвёмся в Коры. Вот такая грустная сказка, где целованная лягушка так и осталась лягушкой.

Ну, вы шутник, батенька! Ретаргет требует только другого кодогенератора, а классик уже с ноября в лету канет. Ну и про гуй на линуксе не стоит говорить, если сидишь на венде. Без обид.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[3]: nemerle & nitra netstandard
От: VladD2 Российская Империя www.nemerle.org
Дата: 25.02.20 21:48
Оценка:
Здравствуйте, Kolesiki, Вы писали:

K>Влад, ну вот чё, серьёзно? "Люди" хотят? Может, это не люди, а всякие хипстеры...

K>кому конкретно и зачем понадобилась немерля на линупсах или, прости господи, маках?
Это не просто люди, а люди из отделов компании где я работаю.

Видимо ты не понял. Они хотят на Маках и Линуксах не Немерл или Нитру, а ДСЛ созданный на них. А это вынуждает сделать более кросплатфорным и Немерл с Нитрой, так как Нитра использует Немерл, а немерл был прибит гвоздями SRE к платформе (дотнету).

K>На Коре, которое .NET, которое "детище микрософта", "мастдай" и всё такое. Там даже работающий C# никому не впёрся, что уж говорить про экзотику типа Немерли.


Это ты зря. Народ во всю клепает сайтики. Дотнет довольно удобен, по многим параметрам, для этого. Ну, а Линух дает дешевый хостинг.

K>Вдвойне смешно слышать про линупсы, когда даже сама M$ не в состоянии запилить там тривиальнейшую ГУЙню. Винформсы — они ж простые как тапок, всё держится на низлежащих окнах (которые есть и в X-Window), но вот не осилили.


Дык гуйня на Линухе не особо нужна. А WinForms как бы устарел и используется только диназаврами вроде меня для мелких утилит и то потому что не охота углубляться в изучение разных ВПФ-ов. Хотя и они не особо развиваются МС за пределами Винды. Кзамарин куда живее на других платформах.

K>Внимание, правильный вопрос: ЧТО будут писать отчаянные немерлисты, придя в линупсы?


Они получат возможность запускать свои компиляторы созданные на Нитре под Линухом и Макосью. Получат возможность использовать кросплатформные IDE для них (VS Code и различные версии IDEA). Вот над этим мы и работаем.

K> ОПЯТЬ опостылевшие "перделки командной строки"? Даром не надо. А без гуя там и своих языков — вагон и тележка.


Мой начальник сегодня толкал идею, что МС забил на WPF и будущее за Blazor. Вроде как есть уже несколько реализаций.

Если честно, мне веся эта гуйня до лампочки, но как видишь, есть решения. Причем на них серьезно смотрят как на решение для будущих версий серьезных коммерческих продуктов.

K>Я почему так развёрнуто... да потому, что жалко усилия, которые просто "греют воздух". Прогерам, закалённым "windows-only" дотнетом (за 15-то лет!) просто нафиг не обздалась их "многоплатформенность".


Я вот поюзал Моно и Кор под Маком немного. И я тебе скажу это получилось очень даже легко. Фактически никаких костылей для запуска кода на Маках не потребовалось. Наш серевр для Nitra отлично завелся под Маками без переделок. Мы прикрутили к нему поддержку LSP-протокола и он заработал с маковским VS Code точно так же как и с виндовым.

K>Линукс на декстопе — никто.


Но кода для Линуха пишут овер дофига. И там нужны ДСЛ-и.

K> На серверах — "кто", но там своих языков море и не такой уж большой рынок.


Своих говноязыков, ты хотел сказать. Ну, пусть будет еще парочка интересных языков. Мы это делаем для себя. А если кто-то решится еще воспользоваться, то тем лучше. Будет больше тестирования.

K>Писать что-то для макакосей — вообще не упёрлось, там анально огороженный мир и полная диктатура геерастов: шаг в сторону — и тебя со всеми твоими трудами выкидывают.


Задач паписания кросплатформного ПО никто не отменял. Вот наш ДСЛ один из примеров оного. Тесты гоняются общей инфрой. На нее потихоньку переводят все отделы фирмы.

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

Ну, а мы предоставим средства создания ДСЛ-ей, которые могут облегчить многие задачи. ДСЛ-и с поддержкой колсплатформных IDE из коробки. И очень легко развивающиеся. А так как сами ДСЛ-и пишутся на ДСЛ-ях (Нитре), они будут улучшаться во всех аспектах по мере улучшения Нитры.

K>Остаётся "слон, которого не приметили" — венда, десктоп, кнопочки, ляпота! И для неё у нас есть всё — Немерля, хромающая IDE и чужеродный плагин к чудовищной VS. Т.е. работы — навалом, но мы всё равно отчаянно рвёмся в Коры. Вот такая грустная сказка, где целованная лягушка так и осталась лягушкой.


Не, поверишь, но именно над плагином к VS я сейчас и работаю. Он ведь почти 10 лет практически не изменялся. Он очень сильно отстал от изменений API студии и нировен час вообще не заведется на новых ее версиях.

Нитру и Немерл мы уже перевели на независимый от платформы бэкэнд (dbLib-овский). Возможно, в будущем, вообще переведем читалку на System.Reflection.Metadata.Ecma335, для скорости и пущей совместимости. Но пока мы получили возможность компилять немерловый и нитровский код под Стандарт, Кор и новые версии дотнета. Без поддержки Стандарта вооюще двигаться дальше сложно. Многие библиотеки доступны только под него. Даже примитивная System.Collections.Immutable. Я был вынужден ее скомпилять в исходниках, так как без этого в Нитре были огромные проблемы.

Над плагином к Студии я сейчас как раз и работаю. К сожалению не получается это делать фултайм. Но по любому ее надо до водить до рабочего состояния, так как без нее вести разработку самой Нитры и TDL-я не реально.

За одно постараемся уменьшить ее хромоту. Смотрю в код и волосы встают дыбом (уже отсутствующие). Как она работает даже не понятно. Сновыми знаниями и опытом мы сможем ее сделать лучше. Правда, скорее всего мы отломаем разную хрень вроде поддержки CodeDom-а, разных дизайнеров и т.п. Не думаю, что они реально нужны. Кому нужны дизайнеры выберут C#, а на Немерле и Нитре будут писать сложную логику и ДСЛ-и.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.