Pull to refresh
198
0
Максим Аршинов @marshinov

В саббатикале

Send message

А мне нравятся короткие неймспейсы и юзинги без скобок. Надо было сразу так делать вообще. А с primary constructors будет скорее всего как с наллабилити, которую в трех версиях фактически релизили: сейчас без более продвинутых возможностей у них очень ограниченное применение. ИМХО их дальше будут обвешивать

В мире Java довольно долго считали, что "много новых фичей в языке - это от лукавого", а потом появился Котлин и откушал часть рынка...

Недавно спрашивал про primary constructors у Медса Торгенсена. Политика такая: они перешли на более частые и более гранулярный релизы. У них несколько вариантов дальнейшего развития primary constructors (и других фичей), но ни одна из реализаций не лишена изъянов. Они выпускают минимальную версию в прод и ждут фидбек. На основе фидбека решают какая из реализаций удовлетворяет большинсиво разработчиков. Так что и блоки инициализаторов и управление уровнями доступа или изменяемостью/неизменностью - все это может появиться в следующих версиях языка. С чего может реально пригореть и что может поменять много идиом C# - это ключевое слово extension, но с ним ясности нет пока.

Да, например "родной": https://structurizr.com/share/83822/. Либо через CLI, Structurizr Lite или Structurizr on-prem. Плейграунд здесь: https://structurizr.com/dsl.

А EPAM вообще актуален в списке российских компаний?

Это было бы веселее в TS, потому что справа от extends может быть выражение, но там дженериков в рантайме нет :( Можно конечно "решить" с помощью clazz и/или символов, но снова костыли...

Вот на том же вопросе офигел) А дальше вопрос про коммуникацию между сервисами, в котором шина данных - единственный правильный вариант

In short, the microservice architectural style [1] is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. 

Дядя Фаулер, не знаешь ты о чём пишешь, не добудешь золота.

C# всё больше концептуально тяготеет к C++...

На дженериках прекрасно пишутся dsl поверх linq. Для язык, где дженериков не было это, видимо, хаос и анархия.

приложение на любом стеке и "вклинить" его в существующую систему

Мухаха, оно конечно "вклинивается", но без single spa роуты делать больно:)

Если я не ошибаюсь, feature modules предполагает нахождение на одном сервере, а module federation позволяет тянуть части системы из любого места

Я никогда не пробовал, но, кажется, что можно разные чанки раскидать по серверам, но зачем... Если вы не про деплой в прод, а про репозиторий, то в одном репо, да.

Микрофроненды нашли хорошее применение в организации ролевого доступ к АРМ. Как я говорил в статье, у каждого приложения есть манифест и сервер о них знает. 

Ну здесь можно и клеймами в JWT решить. Если к беку доступа нет, то и фронтовый никакого доступа не раскроет, а бек в любом случае придется защищать.

Так же, сильно ускорилась работа, были сформированы несколько команд/одиночных разработчиков, работающих абсолютно независимо друг от друга, без ожиданий очередей сборки с минимальными конфликтами в git

Вот тут сборка - да, а все остальное через feature modules можно решить.

А в итоге зачем на проекте требовались микрофронтенды?

Докер, моки, тестовое окружение

Рекомендую переводчику ознакомиться вот с этим видео.

Babel также является основным инструментом, который может транспайлить наш код в старые синтаксисы, добавлять полифилы, кешировать результат и прочее.

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

Я к тому что в статье краткий пересказ PMBOK'а в свободной форме :)

Кажется тут многие риски перечислены, которые не только проектов по внедрению 1С касаются...

На сколько я понимаю прикол Go в следующем: делаешь 100500 микро-сервисов, каждый из которых пишет команда обезьянок. Поэтому язык нужен такой, чтобы прям сильно поломать ничего нельзя было. А если код не очень окажется, так не жалко все выкинуть и начать с чистого листа. Зерг раш на максималках такой.

Вот только классы != типы. После F# с типами в TS очень просто работать. Надо только делать поправку, что система типов гибче и навороченнее, но превращается в тыкву в рантайме. Для всякого метапрограммирования бывает неудобно:(

может что-то генерируется и надо потом код ручками править?

Язык вторичен

Итого, можно было не писать парсер под новый язык, а использовать подмножество другого JVM-языка и сэкономить ресурсы, что я и пытался донести.

Это по той простой причине, что большинство комментаторов не всегда пытаются разобраться в сути проблемы, а оценивают поверхностно. Точно также, как и Вы.

Вот прям нет пророка в своем отечестве.

Язык вторичен. Чтобы объяснить разницу, важно понимать, что при написании на lsFusion 80% - это декларативный код, а 20% - императивный. Во всех остальных системах - наоборот.

Во "все остальные системы" вы включили системы написанные на хаскеле, linq, spring data и jooq?

К сожалению, вот так абстрактно объяснить это достаточно тяжело, но чтобы просто понять...

Уже объяснили. Это называется "паттерн "интерпретатор" в ООП и "свободная монада" или "Tagless Final" в ФП.

Зачем существуют средства для разработки DSL в той же IDEA, если новые языки не нужны ?

Для более короткого/простого/эффективного решения узкого, но распространенного класса задач. Я не говорю, что новые языки не нужны. Я говорю, что конкретно придуманный вами язык (не платформа) не нужен. Хороша ли платформа или нет я не знаю, раз она помогает вам зарабатывать деньги, для вас она хороша.

1
23 ...

Information

Rating
Does not participate
Location
Казань, Татарстан, Россия
Works in
Date of birth
Registered
Activity