Насчёт необходимости при обучении использования "молекулярно-атомных" объяснений, пожалуй, соглашусь.

Те же указатели останутся "загадочным колдунством", если не объяснить на рисунках наглядно, как в линейном пространстве памяти мы можем посвязать объекты по адресам, затем объяснить проблемы нетипизированной адресации, необходимость отдельной области (кучи) для выделения в ней адресуемых объектов, затем - GC... Тогда всё понятно. Иначе - как в статье про французские школы, где дети заявляют, что "2 + 3 - это столько, 3 + 2, потому что сложение коммутативно", но сложить не могут

Вообще, я долгое время увлекался идеологией высокоуровневости ("не имеет никакого значения, что внизу, есть только система абстракций инструмента"), последнее время в этом разочаровался (точнее "реалии жизни" разубедили). И считаю, что инструмент должен быть просто моделью машины. Машина с качественными средствами структурирования программ и средствами расширения. А абстракции - это уже дело разработчика, в проекте и библиотеках.