Utel рекламируется на радио:
Предложение действительно для всех тарифных планов, кроме «Беззаботный» и «Лёгкий»
Эх... Ну почему австрийский банк умеет говорить по-русски, а вы, русская компания, не умеете?
Utel рекламируется на радио:
Предложение действительно для всех тарифных планов, кроме «Беззаботный» и «Лёгкий»
Эх... Ну почему австрийский банк умеет говорить по-русски, а вы, русская компания, не умеете?
Разница между максимальным и минимальным уровнями Нила называется дельтой Нила (ΔНила).
Действительно, всё гениальное просто.
Новая реклама Яндекса вешается вместо объявлений а-ля «справок не даёт» с добавлением слов «все вопросы к Яндексу».
В общем-то ничего нового, просто всё очень чётко и ёмко сформулировано.
Хорошее наблюдение Вадима Артамонова:
Сейчас многие употребляют слово «контент» по тому же принципу, по которому системный блок называют «процессором»
Около здания, где базируется Opera Software, установлен вот такой штендер:
Некоторые интересуются, почему самые комментируемые заметки за последний месяц как-то странно отсортированы:
По какому критерию они сортируются?
Surprisingly enough, они сортируются по количеству комментариев, написанных за последний месяц (30 дней).
Как мы уже знаем, есть две интересных категории граждан:
Не менее интересную категорию составляют те, кто не понимает, что:
Чтобы как-то связать это с предыдущими двумя категориями, скажу, что, например, предел функции x^^y^^ в точке 0, если мы не знаем с какой стороны точка (x; y) движется к нулю, равен единице с вероятностью 1. Некоторые могут сказать, что эта вероятность равна 0,(9), а не 1. Но мы-то знаем, что это одно и то же.
В обновлённой типографской раскладке, кажется, исправлена проблема с Caps Lock’ом, который отжимался только Shift’ом.
Наконец-то сформулировал, что меня не устраивает в объектно-ориентированном программировании.
Объектно-ориентированное программирование — это не парадигма, а просто синтаксис, но многие его считают парадигмой и чуть ли не молятся на него.
Инструкции процессор пока что исполняет по очереди, ну и ещё он умеет прыгать по разным адресам. Возможность в языках программирования использовать всевозможные ветвления и остроумные циклы вроде foreach вместо повсеместного goto — это не парадигма, а просто удобный синтаксис. Иногда нам удобен if, иногда — case, иногда — while, иногда — for, а иногда, как ни крути, goto. Но всё это сводится к jmp, jz и подобным.
Возможность использования подпрограмм — это ещё чуть более сложная абстракция от прыганий по адресам в памяти, на этот раз ещё и с использованием стека. Она настолько важная, что реализована прямо в железе, и поэтому сводится к call и ret.
Но ничего принципиально нового в теорию алгоритмов все эти конструкции не вносят, они лишь дают возможность формулировать эти алгоритмы более наглядно. Глупо, скажем, вообще всё, что угодно, в программе реализовывать через функции. Для некоторых задач удобнее макросы, а для некоторых даже простой copy/paste кода. Синтаксически операторы часто удобнее и нагляднее функций: a = b+c понятнее, чем a = sum (b, c);
Всё то же самое и с ООП. Объекты — это штуки, которые дополняют список операторов, функций, макросов и всякого другого. Это ещё один вид абстрации от реальности, который иногда удобен, а иногда — нет. Поскольку это всего лишь синтаксис, то использовать его нужно только тогда, когда это удобно, а не вообще всегда.
Проиллюстрируем сказанное на примере:
// a = sin (b);
s = new Sinusor ();
s -> angle = b;
s -> initiateEvaluation ();
a = s -> extractValue ();