Caseymuratori

https://www.youtube.com/watch?v=zjkuXtiG1og&list=RDGKYCA3UsmrU&index=10 "But, suppose you were to introduce a virtual function. Heaven help you. First, you would get fired from my team. But then second what would happen is, inside this (foo) struct, the compiler would silently introduce a pointer to what's called a VTable, which is a dispatch table - that is how it actually implements virtual functions. Now, you have no way of initializing that virtual table yourself, because you don't even know where.... you don't know anything about that - that's a compiler detail. And so one of the things "new" also does, is it initializes any hidden information that you did not put there, but the compiler did. And so, if you start using compiler features, C++ features, that the compiler needs to augment the structure of the class with, and which have important inititialization that has to happen, you must call "new", even if you don't care about the compiler calling your constructor. Because the compiler, essentially, has a constructor that has to get called and it is initialization of that VTable." See Mike Acton on virtual tables.

compares malloc with new and del from c++ and disses nodejs and php

links
Nouns and verbs oop

https://www.youtube.com/watch?v=1HAXgM3mjSo go, rust