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