Уже длительное время наблюдал разность между математиками и программистами. Это проявляется как противопоставление самих их представителей («программисты — это всего лишь дискретные математики«, а вот ответку вспомнить пока не получается), в изобретении существующих математических велосипедов программистами, а также незнании ряда базовых или почти базовых вещей за соседним забором. И что относительно меня, то успел побывать существенное время в обеих лагерях.
Сейчас, читая Дейкстру (Programming as a discipline of mathematical nature), обнаружил интересное описание этой разности:
- In the standard mathematical curriculum the student becomes familiar (sometimes even very familiar!) with a standard collection of mathematical concepts, he is less trained in introducing new concepts himself.
- In the standard mathematical curriculum the student becomes familiar (sometimes even very familiar!) with a standard set of notational techniques, he is less trained in inventing his own notation when the need arises.
- In the standard mathematical curriculum the student often only sees problems so "small" that they are dealt with a single semantic level. As a result many students see mathematics rather as the art of organizing their symbols on their piece of paper than as the art of organizing their thoughts.
Не в моем переводе (не с первой попытки нашел на русском):
- В стандартном математическом курсе студент хорошо знает (иногда даже очень хорошо знает!) стандартный набор математических концепций, но меньше обучен изобретать собственные концепции.
- В стандартном математическом курсе студент хорошо знает (иногда даже очень хорошо знает!) стандартный комплектом нотаций, но он практически не умеет изобрести собственную нотацию, когда в ней возникает необходимость.
- В стандартном математическом курсе студент часто видит проблему настолько "маленькой", что он имеет дело с только одним семантическим уровнем. В результате многие студенты видят в математике скорее искусство организации символов на листе бумаги, чем искусство организации своих мыслей.
Написано это все в мае 1973 года, и сейчас, с возрастанием сложности систем и с более активной типизацией на прикладной стороне, эта разность стала ещё более явной.