Обновил типографскую раскладку
В обновлённой типографской раскладке, кажется, исправлена проблема с Caps Lock’ом, который отжимался только Shift’ом.
В обновлённой типографской раскладке, кажется, исправлена проблема с 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 ();
Более 85% стоматологов России выбрали* зубную щётку Reach!
* когда им предложили на выбор: зубную щётку Reach или дохлую крысу
В комментариях к недавней заметке про «вушники» всплыла тема правильного оформления текста со смайликами.
Честно говоря, меня эта тема волнует слабо. В отличие от Лебедева, я не считаю использование смайликов в хоть сколько-то серьёзном тексте уместным. Например, у себя в блоге смайлики я не использую вообще (ответы на комментарии не в счёт). Здесь мне ближе позиция Смирнова:
Конечно, проще поставить двоеточие и скобку, чем пытаться выразить всё языковыми средствами. Смайлик — слишком грубый способ. Это всё равно, как в дешёвых комедиях в «смешных местах» вступает смеющийся хор голосов за кадром.
Интересно, кстати, что и сам Лебедев в своих параграфах смайлики не использует находя, надо полагать, иные способы донесения до читателя своего отношения к написанному.
На мой взгляд, смайлики стоит использовать только при общении — по электронной почте или в болталке. Тут я чаще всего придерживаюсь подхода Ромы Воронежского, когда считается, что смайлик заменяет знаки препинания :-) Если предложение заканчивается на вопросительный или восклицательный знак, то смайлик я пишу после них. А вы? ;-) Приоритет над любыми соображениями имеет следующее правило:
Главное правило на все случаи жизни: написал, посмотрел, если похоже на говно — напиши как-нибудь иначе.
Естественно, что всё это справедливо только для текстовых смайликов, так как только они имеют право на существование. Графические смайлики являются образцом уродства, а их использование в тексте — плевком в лицо читателю (не говоря уж о дизайнере шрифта). Когда форумы или болталки автоматически заменяют нормальные смайлики на дебильные графические, это вызывает желание пристрелить разработчиков.
Вообще, тот факт, что смайлики смотрятся в тексте немного чужеродно (и возникает сложность в их аккуратном размещении) нам на пользу: лишний повод задуматься об их уместности и, если повезёт, отказаться от них.
Немного причесал два своих старых трека, которые были хороши, но звук мне нравился не очень:
Областью применения правил типографики является издание целиком, например, книга, журнал или сайт.
Иногда встречаются удивительные попытки людей оформлять отдельные англоязычные блоки текста (скажем, цитаты) в соответствии с некими английскими правилами типографики, скажем, брать слова “вот в такие” кавычки.
А WackoWiki вообще заключает отдельные английские слова в английские кавычки, несмотря на то, что весь текст легко может быть русским. Можно дойти до маразма, и поставлять вместе с WackoWiki ещё и французский словарь, чтобы оно умело отбивать « французские » слова пробелами от кавычек. Правда, тогда неясно, как быть в случае слов, которые встречаются в обоих этих языках. А ведь на самом деле языков в мире несколько больше.
Некоторые скажут, что отдельные слова — нет, но вот цитаты вполне можно типографить «на языке оригинала». Но правила типографики — не вопрос языка (в отличие от правил пунктуации), а вопрос национальных издательских традиций. Цитируя текст на английском языке, должны ли мы отбивать тире пробелами? От чего это зависит, от национальности автора текста; от страны, где цитируемый текст был впервые опубликован; от страны, где автор пребывал, когда писал?.. Или, может, нам стоит проанализировать текст и, если он написан на британском английском, то пробелы ставить, а если на американском английском, то не ставить?
Важнее всего то, кому предстоит читать текст. Если мы пишем для российской аудитории, то и оформлять нужно текст в соответствии с русскими типографскими традициями, на каком бы языке он ни был написан.
Другой пример, в некоторой степени аналогичный. По-русски мы пишем «Бейкер-стрит, 221-б», хотя в Англии номер дома пишут перед названием улицы: 221B Baker street. Но несмотря на то, что адрес — лондонский, нам не важно, как его пишут сами лондонцы — читать его нам.
Поэтому если мы делаем английскую версию сайта, то нам стоит признать её самостоятельным «изданием», поскольку у неё другая аудитория, которая, скорее всего, привыкла к британскому или американскому стилю, из каких-нибудь соображений выбрать один из них и придерживаться его.
Но если мы просто цитируем Нильсена, то оформлять цитату нужно по-русски.
Play down marketese and internal vocabulary. Call a spade a spade, not a digging implement. Certainly not an excavation solution. Many marketers like to embellish products to make them seem grander than traditional fare. But customers define their needs in known terms, so be sure to use them, even if you don’t think they’re exciting. The very fact that a word is unexciting indicates that it’s frequently used. People search for terms like «cheap airline tickets», not «value-priced travel experience». Often, a boring keyword is a known keyword.
Хорошая цитата из последнего Нильсена, нужно сохранить.
Забавное наблюдение про букву «ё». Мне вот всегда было интересно, вообще, каков критерий того, что данный конкретный случай является «случаем возможных разночтений».
Хорошо английскому языку — там есть «headphones» и «earphones». А по-русски и то, и другое — «наушники». Но ведь наушники — это то, что на ушах. А earphones находятся преимущественно в ушах. В связи с этим предлагаю earphones называть вушниками.
По неизвестным причинам огромное число людей считает сиреневый цвет розовым. Это какое-то недоразумение. Давайте разберёмся.
Трам-пам-пам — этот цвет называется сиреневым (lilac).
Трам-пам-пам — этот цвет называется фиолетовым (violet).
Трам-пам-пам — этот цвет называется маджентой (magenta).
Трам-пам-пам — этот цвет называется малиновым (crimson).
Трам-пам-пам — этот цвет называется розовым (pink).
Обо всех оттенках между красным и синим можно спорить, какой из них пурпурный, а какой — лиловый. Но розовый к ним не имеет никакого отношения: синего в нём нет вообще.