Информация об изменениях

Сообщение Re: Мышление в терминах кода от 12.04.2021 22:08

Изменено 12.04.2021 22:09 A13x

Re: Мышление в терминах кода
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>...

ЕМ>Отсюда вопрос: когда вы видите незнакомый код без пояснений, состоящий из десятка-другого строк простых операций, или из нескольких функций/классов/шаблонов, или из нескольких строк хитровложенных конструкций, как часто у вас в мозгу возникает понимание непосредственно идеи, концепции, которую должен реализовывать этот код? И от чего это больше зависит — от типа мышления, или от многолетнего опыта ковыряния в чужом коде самого разного вида?

Давно же замечено, что язык определяет мышление как "гипотеза лингвистической относительности".

А вообще, такая мысль часто возникала. Яркий пример — TLA — https://lamport.azurewebsites.net/tla/book.html
Автор предлагает использовать математический язык для описания и проверки алгоритмов, весьма здравая и популярная "в узких кругах" идея. По сути описание алгоритма использует теорию множеств, логику предикатов первого порядка и темпоральную логику:

Our basic tool for writing specifications is mathematics. Mathematics is nature's way of letting you know how sloppy your writing is. It's hard to be precise in an imprecise language like English or Chinese. In engineering, imprecision can lead to errors. To avoid errors, science and engineering have adopted
mathematics as their language

Re: Мышление в терминах кода
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>...

ЕМ>Отсюда вопрос: когда вы видите незнакомый код без пояснений, состоящий из десятка-другого строк простых операций, или из нескольких функций/классов/шаблонов, или из нескольких строк хитровложенных конструкций, как часто у вас в мозгу возникает понимание непосредственно идеи, концепции, которую должен реализовывать этот код? И от чего это больше зависит — от типа мышления, или от многолетнего опыта ковыряния в чужом коде самого разного вида?

Давно же замечено, что язык определяет мышление как "гипотеза лингвистической относительности".

А вообще, такая мысль часто возникала. Яркий пример — TLA — https://lamport.azurewebsites.net/tla/book.html
Автор предлагает использовать математический язык для описания и проверки алгоритмов, весьма здравая и популярная "в узких кругах" идея. По сути описание алгоритма использует теорию множеств, логику предикатов первого порядка и темпоральную логику:

Our basic tool for writing specifications is mathematics. Mathematics is nature's way of letting you know how sloppy your writing is. It's hard to be precise in an imprecise language like English or Chinese. In engineering, imprecision can lead to errors. To avoid errors, science and engineering have adopted mathematics as their language.