Комментарии 31
Примечание. Читать статью с андроидовского приложения в ночном режиме немного трудно.
https://habrastorage.org/webt/4d/de/hq/4ddehqk_srwgnj-u6f1rzggz7ta.png
https://habrastorage.org/webt/7x/di/ok/7xdioklcpvgeloo0thpbozn_kdy.png
С inline-формулами, наверное, ничего особо не сделаешь, это нужно как-то делать на уровне движка Хабра, так? Кастануть бы кого-нибудь вроде Boomburum
Жирные формулы на мобилке смотрятся не очень, и вот их как раз можно перерендерить, сейчас попробую.
UPD Перерендерил часть формул в картинки, теперь на мобилке смотреть немного удобней.
Хотя с вычитанием тоже будет работать, но уж больно долго.
В чем принципиальное отличие TLA+ от Verilog или VHDL?
Зачем проверять какое из чисел больше, когда можно найти разницу (меньшее число) и из суммы чисел вычесть разницу и поделить это на два (большее число)?
x = abs(a - b);
y = (a + b - x) / 2;
у M и N будет определенный тип, BigInteger или что-то в таком роде; нужно будет определить поведение программы в случае, если M и N неположительные; и так далее и тому подобное
11110110101010101…
11110010101110111…
Какое из них больше легко найти, а время на поиск полной разницы составит бесконечность.
Сначала для примера рассмотрим алгоритма Евклида, а затем вы и сами легко поймёте, как это всё применяется на сложных распределённых и параллельных программах.
Они вас пугают куда больше? Не понимаю. Я 20 лет работаю профессором математики и меня они не пугают.
На работе хаскель — каждую вторую программу приходится профилировать по памяти, для приемлемой скорости добавили битовые векторы, недавно был баг с переполнением переменной.
Но зилоты не устают повторять что хаскель дает нам невероятно абстрактный код и надежные бинарники.
На работе хаскель — каждую вторую программу приходится профилировать по памяти, для приемлемой скорости добавили битовые векторы, недавно был баг с переполнением переменной
напишите статью об этом
Дело в том, что этот алгоритм нельзя увидеть, если ваше мышление сосредоточено на коде, на типах, исключениях, циклах while и прочем, а не на математических свойствах чисел.
Ну не совсем так. В языках с достаточно развитой системой типов, типы и их ограничения специфицируют поведение программы (то есть алгоритм). Да, к этому примешиваются и детали реализации (вроде спецификации поведения при переполнении), но особенности целевой платформы тоже имеют значение, а значит должны быть отражены в спецификации.
«Не используйте языки программирования, вот вам ещё один язык программирования»
Четкой разницы между алгоритмами и программами нет,
ИМХО четкая разница в формуле Вирта:
Алгоритмы + структуры данных = программы,
Нпр.,
у M и N будет определенный тип, BigInteger
алгоритм Евклида м.б. реализован на языке, где нет типа BigInteger.
А LaTeX — великая вещь! Респект.
«В каждой большой программе живет алгоритм, который пытается выбраться наружу»
Скорее, каждая программа создана пытаться завершиться, но постоянно мешают циклы.
Информация
- Сайт
- jugru.org
- Дата регистрации
- Дата основания
- Численность
- 51–100 человек
- Местоположение
- Россия
- Представитель
- Алексей Федоров
Если вы не пишете программу, не используйте язык программирования