
В этом посте будет исследовано, как математическую концепцию можно постепенно переформулировать во всё более «вычислительных» понятиях, от высокоуровневого языка, далее до машинного кода и, наконец, до прямого исполнения компьютером. Для этого определю одну и ту же логику в нескольких разных, но перекликающихся друг с другом форматах:
1. Математика – чистая математика
2. Haskell – язык для функционального программирования
3. C – язык для императивного программирования
4. Ассемблер – сравнительно удобочитаемое представление машинного кода
5. Машинный код для архитектуры x86-64 – вот это уже интересно
Если вам интересно, какие отличия бывают между языковыми стилями или любопытно, как ваш код может выглядеть после компиляции — добро пожаловать под кат!