Size: a a a

Compiler Development

2020 May 08

А

Алексей in Compiler Development
в рефлексию
источник

А

Алексей in Compiler Development
в копипасту
источник

G

Gymmasssorla in Compiler Development
Gymmasssorla
Когда команда большая, легко делить обязанности и писать свои компоненты для ещё несформированного кода, над которым работает другая команда, если абстракции языка это позволяют
Пример - пишем удобный для нас интерфейс к ещё ненаписанному классу (над которым работают другие разработчики), когда класс готов - пишем адаптор к нашему коду
источник

А

Алексей in Compiler Development
Илья Чистяков
тогда какая причина создания Go?
А тогда какая причина ведения работ над Go2?
источник

ИЧ

Илья Чистяков... in Compiler Development
Gymmasssorla
Пример - пишем удобный для нас интерфейс к ещё ненаписанному классу (над которым работают другие разработчики), когда класс готов - пишем адаптор к нашему коду
этого же нет в микросервисах, абстракции на контейнерах держатся
источник

ИЧ

Илья Чистяков... in Compiler Development
Алексей
А тогда какая причина ведения работ над Go2?
могу только предположить, что Go стал популярен и расширил свою изначальную нишу
источник

А

Алексей in Compiler Development
Go на самом деле хорош, когда надо из одного сокета взять какие-то данные и положить в другой. А вот когда надо с данными проделать какую-то работу, да ещё и не тривиальную, то уже начинаются проблемы
источник

ИЧ

Илья Чистяков... in Compiler Development
Алексей
Go на самом деле хорош, когда надо из одного сокета взять какие-то данные и положить в другой. А вот когда надо с данными проделать какую-то работу, да ещё и не тривиальную, то уже начинаются проблемы
вот, микросервисы как раз про перекладывание данных
источник

А

Алексей in Compiler Development
Илья Чистяков
могу только предположить, что Go стал популярен и расширил свою изначальную нишу
Да причина лишь в дефектах изначального дизайна, которые они сейчас пытаются исправить.
источник

AZ

Alexander Zalutskiy in Compiler Development
Илья Чистяков
тогда какая причина создания Go?
Вообще э, насколько я помню, google изначально создавала его не для этого
источник

G

Gymmasssorla in Compiler Development
Илья Чистяков
вот, микросервисы как раз про перекладывание данных
ФП хорошо на отображение (перекладывание, если угодно) данных ложится)
источник

АГ

Алексей Герасимов... in Compiler Development
Alexey
Это старый раст больше походил на ML с «плюсами», в современном, на мой вкус, слишком много визуального мусора шума, а код выглядит менее читаемым, чем перловый.
Весь шум обусловлен тем, что нужно иметь возможность изъясняться с компилятором на языке лайфтаймов, и я, если честно, не вижу способа сделать это еще проще. Единственное, что мне не нравится в расте на уровне синтаксиса - это два способа указания trait bound: в заголовке (impl<T: Foo> …) vs where T: Foo, причем where строго мощнее. Не то, чтобы это мешало, просто кажется избыточным. Можете привести пример что вам кажется странным в синтаксисе раста, не хочу разводить холивар, просто сколько не встречал таких жалоб никогда не приводилось конкретных примеров
источник

А

Алексей in Compiler Development
То что Go стал популярным не означает даже того, что он очень хорошо подходит бизнесу для написания микросервисов
источник

DS

Doge Shibu in Compiler Development
Илья Чистяков
у абстракций есть своя цена, когда команда маленькая, легко делить экспертизу, когда большая, это уже невозможно

так-как Go ориентирован на большие команды, выбрали такой компромисс

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

Невыразительность языка сильно поднимает размер кодовой базы на пустом месте.

То есть работал в больших и старых кодовых базах в относительно больших командах (не 100 человек, но 30+) и проблемой была именно невыразительность используемого языка и его системы типов.

Очень много гарантий, которые можно было бы закодировать на уровне типов в итоге оказываются на плечах команды с закономерным итогом
источник

ИЧ

Илья Чистяков... in Compiler Development
Doge Shibu
Вот очень в этом не уверен.

Невыразительность языка сильно поднимает размер кодовой базы на пустом месте.

То есть работал в больших и старых кодовых базах в относительно больших командах (не 100 человек, но 30+) и проблемой была именно невыразительность используемого языка и его системы типов.

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

А

Алексей in Compiler Development
Илья Чистяков
здесь важно работать с микросервисами, в которых абстракции не очень востребованы
Востребованы
источник

А

Алексей in Compiler Development
Они везде востребованы.
источник

DS

Doge Shibu in Compiler Development
Илья Чистяков
здесь важно работать с микросервисами, в которых абстракции не очень востребованы
Работаю с микросервисами, потребность в абстракциях все равно остаётся.
источник

А

Алексей in Compiler Development
Потому что тот пример который я приводил на самом деле весьма "низкоуровневая" операция
источник

ИЧ

Илья Чистяков... in Compiler Development
Алексей
Востребованы
абстракции уходят на уровень выше, во взаимодействие между микросервисами
источник