Иногда кажется, что физика и программирование живут в разных мирах. Но чем глубже смотришь, тем сильнее понимаешь — законы мышления, которыми мы руководствуемся, удивительно схожи. Симметрия, порядок, борьба с энтропией, поиск инвариантов — всё это объединяет инженеров, физиков и программистов в одном стремлении понять, как устроен мир. Я просто захотел порассуждать об этом и поделиться с вами своими мыслями.
Рубрика «инвариантность»
Почему физики и программисты мыслят одинаково: законы симметрии кода и Вселенной
2025-10-28 в 13:40, admin, рубрики: Алгоритмы, вычисления, инвариантность, код, логика, мышление программиста, наука, симметрия, физика, энтропияИмитируем функционал зависимых типов в системе типов Rust
2020-06-06 в 13:01, admin, рубрики: Rust, зависимые типы, инвариантность, ненормальное программирование, Программирование, системы типовСистемы типов — это настоящее безумие.

Некоторое время назад я уже отметился здесь со статьёй, в которой пытался разобрать, какие гарантии в compile-time может дать система типов Rust. Кое-какие интересные моменты удалось выловить уже тогда, однако больше всего меня зацепил весьма развёрнутый комментарий, описывающий некоторые вещи, доступные в зависимо-типизированном Idris.
Разумеется, я не мог остаться в стороне. Результат исследований доступен на github, а детальный разбор — под катом.
Теория программирования: Вариантность
2019-11-25 в 18:40, admin, рубрики: C#, java, javascript, LSP, TypeScript, бивариантность, инвариантность, ковариантность, контравариантность, паттерны, подтипы, Программирование, статическая типизацияЗдравствуйте, меня зовут Дмитрий Карловский и я… хочу поведать вам о фундаментальной особенности систем типов, которую зачастую или вообще не понимают или понимают не правильно через призму реализации конкретного языка, который ввиду эволюционного развития имеет много атавизмов. Поэтому, даже если вы думаете, что знаете, что такое "вариантность", постарайтесь взглянуть на проблематику свежим взглядом. Начнём мы с самых основ, так что даже новичок всё поймёт. А продолжим без воды, чтобы даже профи было полезно для структурирования своих знаний. Примеры кода будут на псевдоязыке похожем на TypeScript. Потом будут разобраны подходы уже нескольких реальных языков. А если же вы разрабатываете свой язык, то данная статья поможет вам не наступить на чужие грабли.

