Теория программирования: Вариантность

Фото Теория программирования: Вариантность
Facebook
ВКонтакте
share_fav

Здравствуйте, меня зовут Дмитрий Карловский и я… хочу поведать вам о фундаментальной особенности систем типов, которую зачастую или вообще не понимают или понимают не правильно через призму реализации конкретного языка, который ввиду эволюционного развития имеет много атавизмов. Поэтому, даже если вы думаете, что знаете, что такое "вариантность", постарайтесь взглянуть на проблематику свежим взглядом. Начнём мы с самых основ, так что даже новичок всё поймёт. А продолжим без воды, чтобы даже профи было полезно для структурирования своих знаний. Примеры кода будут на псевдоязыке похожем на TypeScript. Потом будут разобраны подходы уже нескольких реальных языков. А если же вы разрабатываете свой язык, то данная статья поможет вам не наступить на чужие грабли.


посмотреть на Хабрахабр: лучшее за сутки
#typescript
#паттерны
#статическая типизация
#java
#javascript
#контравариантность
#программирование
#lsp
#ковариантность
#инвариантность
#бивариантность
#подтипы