Объектно-ориентированное программирование-это исключительно плохая идея, которая могла возникнуть только в Калифорнии.
Помимо математического склонности, исключительно хорошее мастерство своего родного языка является наиболее важным активом компетентного программиста.
Если мы хотим считать строки кода, мы не должны рассматривать их как «производимые строки», а как «потраченные строки».
Инструменты, которые мы используем, оказывают глубокое и коварное влияние на наши привычки мышления и, следовательно, на наши мыслительные способности.
Да, я делюсь вашей проблемой: как хорошо программировать - хотя обучающая тема - едва ли преподается. Ситуация похожа на ситуацию в математике, где явная учебная программа ограничена математическими результатами; Как сделать математику - это то, что студент должен поглощать осмосом, так сказать. Одним из причин предпочтения символа-манипулирования, расчеты, заключается в том, что их дизайн гораздо лучше учит, чем дизайн словесных/графических аргументов. Однако крупномасштабное введение курсов по такой расчетной методологии будет столкнуться с непреодолимыми политическими проблемами.
Наши интеллектуальные силы довольно ориентированы на освоение статических отношений и что наши силы визуализации процессов, развивающихся во времени, относительно плохо развиты. По этой причине мы должны сделать (как мудрые программисты, знающие о наших ограничениях), наше предельное, чтобы сократить концептуальный разрыв между статической программой и динамическим процессом, чтобы соответствовать соответствию между программой (разбросано в текстовом пространстве) и процессом (Распространение вовремя) максимально тривиально.
Мы все формируем инструменты, которые мы используем, в частности: формализмам, которые мы используем, формируют наши мыслительные привычки, к лучшему или к худшему, и это означает, что мы должны быть очень осторожны в выборе того, что мы учим и учим, для отузаивания на самом деле невозможно.
Джон фон Нейман обращает внимание на то, что казалось ему контрастом. Он заметил, что для простых механизмов часто бывает легче описать, как они работают, чем то, что они делают, в то время как для более сложных механизмов это обычно наоборот.
Самым важным, но также и самым неуловимым аспектом любого инструмента является его влияние на привычки тех, кто тренирует себя в своем использовании. Если инструмент является языком программирования, это влияние, нравится нам это или нет, влияние на наши привычки мышления ... Язык программирования - это инструмент, который оказывает глубокое влияние на наши привычки мышления.
Прогресс возможен только в том случае, если мы обучаем себя думать о программах, не думая о них как о частях исполняемого кода.