Асинхроничность

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

В программировании бывает два типа взаимодействий: синхронные и асинхронные. Синхронные - это когда ответ требуется вотпрямщас, и пока мы его не получим, мы будем сидеть и изображать Ждуна. Допустим, у меня есть функция, которая по координатам двух точек вычисляет расстояние между ними. Если я вызываю такую функцию, я ожидаю, что она вычислит расстояние вотпрямщас. Не через минуту. Не завтра. Не после дождичка в четверг. И я (в лице написанной мной программы) дождусь этого результата, и только потом стану делать что-то ещё.

Асинхронное взаимодействие - это если ответ придёт когда-то. Может быть. Очень часто они встречаются в веб-программировании. Допустим, когда ты пишешь сообщение ВК, веб-страница отправляет его на сервер, а затем ждёт подтверждения, что сервер действительно его получил. Для тебя это выглядит так, будто сообщение уже отправлено, но это потому, что вконтакт тебя наёбывает (это называется optimistic rendering). Если через какое-то время веб-страница не получит ответ от сервера, или ответ ей не понравится, то сообщение, которое отображалось как отправленное, внезапно пометится красным восклицательным знаком, символизирующим, что не отправилось оно на самом деле нихуя.

У асинхронных взаимодействий есть важное преимущество: можно не изображать Ждуна, а спокойно заниматься какими-то другими делами, пока ответ ещё не пришёл. Допустим, на этой вот самой странице, которую ты сейчас просматриваешь, после загрузки её исходного кода первым делом подгружается bootstrap.min.css - файл со стилями, благодаря которому она выглядит столь прекрасно и удивительно. Но не дожидаясь окончательной загрузки этого файла, браузер сразу начинает грузить следующий - bootstrap-theme.min.css. А потом ещё, и ещё, и ещё... Если бы все файлы грузились по очереди, тебе бы онастопиздело ждать и, скорее всего, ты никогда бы не прочитала этот текст. Хотя, возможно, ты и так его уже не читаешь, испытав ангст от обилия всякой ненужной тебе программистской фигни.

Так вот, к чему это я. Этот бложик - способ асинхронного общения с тобой. Мне понадобилось достаточно много времени, чтобы понять, что сообщения в том же вк ты воспринимаешь как синхронные вызовы. Чувствуешь себя обязанной немедленно прочесть эти сообщения и ответить на них, даже если лично я не жду немедленного ответа. И поскольку я бываю словообилен, причём в самые неожиданные моменты, тебя это злит. А бложик немедленного ответа, да и вообще ответа, не требует. Ты читаешь его, когда у тебя есть настроение, когда не отвлекают более приоритетные задачи. Если тебе есть, что сказать по поводу написанного мной, ты говоришь это при личной встрече или в другой удобный для тебя момент. Так и работает асинхронное взаимодействие.

Хэппи энд.
Комментарии: 2
TOPKAET
"(это называется optimistic rendering)."
lapidarius
каков сакральный смысл цитирования этого отрывка моего текста?

Добавить комментарий

Имя:
Комментарий:
Текст
Вставка
Шрифт
размер
Введите пожалуйста число с картинки:
Незарегистрированные пользователи не могут видеть свои приватные комментарии.