Pull to refresh
11
0
Send message

30 кмч для авто на дороге - более чем разумная скорость. Кстати, в некоторых европейских городах это ограничение действует. А теперь еще и самокаты убирают с улиц Париже (заменят их электровелосипадами!!!) А может мы тоже вообще всех уберем с тротуаров, кроме пешеходов... Велосипеды, например, которые часто едут куда больше 30 кмч? А с дорог уберем все легковушки, чьи габбариты больше, чем у Smart City? Хорошая идея, как по мне.

Спасибо за ценный отзыв, Николай Михайлович!
В вопросе с null, как говориться, «смешались в кучу кони люди». Null возник в момент, когда ссылка на объект перестала интерпретироваться как число. Он просто обозначает, что ваша переменная ни на что сейчас не ссылается. Большинство претензий у разработчиков не к null, а к NPE (или NRE). И, если я не ошибаюсь, именно их появление в языке называют ошибкой.

Все пилюли так или иначе связаны со способами проверки на null. Но кажется, что проблема раздута, нет ни каких доказательств того, что эти пилюли действительно увеличивают производительность разработчика. На конференции Joker лет пять назад сотрудник JetBrains рассказывал, что они потратили сотни человеко-часов на добавление в код Idea аннотаций Nullable и NotNull. И он честно показал метрики по багам связанным с NPE за некоторый период до и после. Расхождение было в пределах погрешности: ошибок как было не много, так и осталось. Лучше бы он про них не рассказывал.
Неприязни нет, есть большие сомнения. Как и в отношении лямбд, корутин и многого другого. Просто сомнения. Это не мешает мне всем этим пользоваться.
Дело в том, что это такие вещи, которые надо использовать очень аккуратно, важно не переборщить, не перейти границу. И, если я, скажем, могу для себя такую границу худо-бедно прочертить, то обязательно найдется тот, кто этого сделать не сможет и зайдет слишком далеко. К сожалению, сталкиваться с этим приходится гораздо чаще, чем хотелось бы.
Доказательная медицина предполагает определенный алгоритм испытаний. Главным из них является т.н. «двойное (или тройное) слепое рандомизированное исследование» с участием десятков тысяч добровольцев. Говорят, что это реально очень дорого. В отношении парацетамола такие исследования, на сколько мне известно, не проводились.
По поводу тона, да… Наверное, переборщил. Хотелось развлечь и развлечься. И нет, я не против нового. Наоборот, я часто сам выступаю в роли тех, кого критикую в тексте. Да, такое тоже бывает )
Дело не в Future, дело в том, как выглядит код, который его использует. Часто серверный код, выполненный в классическом стиле, выглядит дольно сложным. Но когда ты начинаешь писать асинхронный код, то понимаешь, насколько более сложным и путанным он может стать.
Я посчитал, что здесь важнее понимать, зачем все это нужно. Сами решения второстепенны. На мой взгляд, довольно важному вопросу уделяется недостаточно внимания. Собственно поэтому я и начал с философии…
Имненно для борьбы с комплеском неполноценности, провоцируемым оператором await в C#, был создан Java проект coroutines, о котором я не упомянул в статье.

Вообще, надо сказать, C# в плане эволюции является полным антиподом Java: язык очень агрессивно модифицируется. Иногда кажется, что скоро не останется слов английского языка, которые бы не были ключевыми словами в C#. Java в этом плане крайене консервативна. И мне такой подход ближе. В индустрии слишком сильно влияние моды, и поспешная адаптация языка может вызвать проблемы в будущем.
При инициализации FiberExecutorScheduler можно указать свой executor. В простейшем случае это будет выглядеть так

FiberScheduler scheduler = new FiberExecutorScheduler("MyScheduler", Runnable::run)


В принципе, можно сделать синглтон. Излишеством, на мой взгляд, злесь является экземпляр FiberTimedScheduler, который создается в конструкторе FiberExecutorScheduler безусловно.
Наверное, вы правы. С терминологией я явно перегнул палку… Жаргонизмы, используемые в разговоре с коллегами, не всегда подходит для публикаций. Вероятно, проработав с Java слишком долго я перестал их замечать.

Information

Rating
Does not participate
Registered
Activity