Сегодня по дороге в стоматологию слушал аудиокнигу «Счастливый карман, полный денег«, дорога занимает час, соответственно у меня было два часа на прослушивание. И вот там была такая мысль, что бывает так, что память нам иногда очень сильно мешает.
А еще я буквально узнал, что такое когнитивный диссонанс 🙂 понимать, понимал что такое слово есть, но его образ был для меня таким облачком. А тут я понял что это такое:
Допустим у Вас есть какое то знание, Вы им пользуетесь. Потом получаете знание, которое переворачивает Ваше знание до наоборот. И вот надо использовать это знание на практике, а в голове два знания об этом. Старое и новое, и мозг не понимает что использовать. Вот это и есть когнитивный диссонанс.
И вот ты изучаешь например один язык, второй, третий. И у тебя было понимание что интерфейсы, это то что описывает поведение. У тебя в голове паттерны, где ты используешь интерфейсы для поведения.
И приходит Microsoft и придумывает язык и делает там интерфейсы как нечто, что описывает типы объектов. т.е. есть type и сделали еще interface, вопрос зачем? вот пример:
interface User {
name: string;
id: number;
}
class UserAccount {
name: string;
id: number;
constructor(name: string, id: number) {
this.name = name;
this.id = id;
}
}
const user: User = new UserAccount("Murphy", 1);
Сначала эту парадигму сломал Go, теперь еще больше сумятицы в понимание происходящего внес TypeScript.
Но куда деваться, мир стремительно двигается в сторону типизации, от которой я ссыкливо пыталься отвертеться, когда бросил стек C#+IIS+ASP.NET(MVC)+MSSQL на nxing+php+mysql. Сейчас типы идут в PHP а так же в JavaScript. Хотел убежать от типов, но они не отпускают.