Ilya
ну и в целом спор о том, что надо бросать язык XXX и кодить на языке YYY - ниочём
Vladimir
Ilya
Ilya
Но все таки мало кто так делает
Vladimir
и хорошие либы заботятся)
Vladimir
можно будет побайтоебить)
Vladimir
#hlcup
Новое соревнование для тех, кто любит нагрузки!
19 февраля мы запустим в бете любимый HighLoad Cup, но уже не в классическом виде.
В этот раз, мы — организаторы, решили изменить подход.
В прошлые разы мы просили реализовать сервис, а теперь мы будем просить реализовать клиент. Если коротко, нужно будет придумать способ как получить максимум полезных данных от уже реализованного сервиса за заданное время. Парадокс и сложность в том, что в один момент клиент должен будет работать очень быстро, а в другой момент — медленно. Возможно, навыки ИИ тут будут полезны, но это не точно 😄
Полноценное описание задачи будет доступно в день запуска, а анонс с призами будет уже на следующей неделе.
gsomix
Ты каждый год участвуешь?
Vladimir
ага, второй год правда до конца не дошёл
Vladimir
если будет задание не сильно сложное, то мб и в этом можно попробовать)
Vasily
Да там небось опять ебанина
Vladislav
Vasiliy
Anonymous
чому не friday? в сандей уже пора похмеляться
Ilya
Vasiliy
я вот тоже подумал про него :D
Vasiliy
но Айрат все же в МС работает за большие деньги, а я так в мск
Mikhαil
Парень из деревни стал синьором, испытал выгорание, бросил все и уехал в деревню в Индию познавать хатха йогу - истории успеха
Ilya
Vasiliy
Mikhαil
Дал бог зайку даст и лужайку в купе с кредитными обязательствами лет на двадцать
Vasiliy
так как раз есть ипотека. правда слава богу выплачиваю быстро.
Ilya
Ilya
Не только на f# можно написать читаемый код
Ilya
Roman
Да все его употребляют: хороший/читаемый/поддерживаемый код, но каждый имеет ввиду что-то свое
Ilya
Roman
т.е. идиоматичный, так?
Ilya
Именно на чтение, написание такого кода куда сложнее
Roman
ну вот давай разберем — какие условия надо соблюсти, чтобы в код был низкий порог вхождения.
Ilya
Roman
ну типа писать на языке так, "как это задумывали создатели"
Roman
например, не пытаться на сишарпе сделать partial application)
Ilya
Roman
грубо говоря использовать сильные стороны языка и не использовать слабые
Ilya
Roman
Ilya
Хотя есть некоторые вещи, которые везде сложны - 4хмерные массивы, например
Roman
и тут есть проблема
Ilya
Roman
Нет
Ilya
Нет
Тогда какая проблема?
Roman
проблема в том, что эта метрика никак даже не упоминает бизнес-логику. Тут речь идет исключительно о том, чтобы разбить код на узнаваемые блоки — те самые общепринятые практики.
У меня был такой проект однажды, когда вся косметика была на высоте, все конвенции соблюдены и тд. Но понять бизнес логику или даже получить представление об архитектуре, просто читая код, было крайне тяжело
Roman
Проще говоря, код был как свинья с макияжем.
Ilya
Roman
А тащемта бизнес логика — это то, ради чего вообще-то и начали писать код. Сам по себе код нахуй никому не нужен
Roman
Ilya
Ilya
Roman
ну вот в процессе этого утрирования и потерялся весь смысл — пушто бл всегда на порядки сложнее, чем просто сумма чисел или круд
Roman
это был большой шаг от процедурного программирования, но теперь надо пойти дальше
Ilya
супер обычный сценарий для бизнес логики
Ilya
покажи как это будет на F#
Roman
type T ...
with
member this.Eval = this.A + this.B
Ilya
Ilya
и он может быть асинхронным
Roman
eval тут это обычный гет проперти
Roman
сделать его асинхронным несложно, но бля — это же антипаттерн жуткий
Ilya
Roman
я всего лишь поменял поле, а у меня под капотом хуй пойми где пошел ИО вызов — это говнокод на любом языке
Ilya
Vladyslav
а что мешает IO посчитать не здесь, а слоем выше?
Ilya
может стоит посчитать снаружи и сохранить в поле?
Ilya
как я уже говорил - наговнякать можно на чём угодно, как и написать нормальный код
Roman
или хотя бы подробный сценарий
Vladyslav
Vladyslav
а то напридумывали тут всякой фигни
Vladyslav
не, есть хороший, а толку?