Здравствуйте, __kot2, Вы писали:
__>Здравствуйте, rfq, Вы писали: rfq>>Понятия переменной в математике и программировании существенно различаются. В частности, в математике нельзя написать a=a+1. Как от математической переменной перейти к программистской и наоборот? __>переменных в математике вообще нет. __>а переменные в программировании возникают только из-за желания оптимизировать по памяти — одно значение замещает другое. мы теряем к другому доступ, но можем с этим жить, если оно нам больше и не нужно __>вообще по уму переменных быть не должно. соб-но это и есть центральная идея функционального программирования, как я ее понимаю
Дело не только в оптимизации. Изменяемое состояние при правильном использовании увеличивает уровень абстракции.
Социализм — это власть трудящихся и централизованная плановая экономика.
Здравствуйте, rfq, Вы писали:
rfq>Как от математической переменной перейти к программистской и наоборот?
Точно так же, как и от кулинарной переменной к альпинистской: навсегда зарубить себе на носу, что программирование не имеет ничего общего с математикой!
Здравствуйте, rfq, Вы писали:
rfq>Понятия переменной в математике и программировании существенно различаются. В частности, в математике нельзя написать a=a+1. Как от математической переменной перейти к программистской и наоборот? rfq>Собственно, я сформулировал для себя ответ на этот вопрос, но, прежде чем его обнародовать, хотелось бы убедиться, что я не ломлюсь в открытую дверь. Есть ли учебники или научные работы, где разбирается этот и/или сопутствующие вопросы?
Математика состоит из разделов, например, Арифметика, Алгебра. Поясняю, арифметическое выражение != алгебраическое уравнение. В принципе, можете посмотреть школьные учебники по математике для средних классов, там разбираются эти вопросы. В языки программирования обычно встроены арифметические выражения, а вот задачи решения алгебраических уравнений потребуют дополнительных библиотек алгоритмов, ну или обычному пользователю можно использовать какой-нибудь математический пакет.
rfq>Есть ли учебники или научные работы, где разбирается этот и/или сопутствующие вопросы?
Есть. Так и называется, как тебе надо... http://www.ozon.ru/context/detail/id/31921728/
Александр Степанов, Даниэл Роуз. От математики к обобщенному программированию.
В этой основательной и вместе с тем доступной книге авторы объясняют принципы обобщенного программирования и стоящее за ними понятие математической абстракции.
Любой квалифицированный программист, умеющий логически мыслить, уже обладает достаточными знаниями для ее прочтения. Авторы на удивление доходчиво сообщают необходимые сведения из общей алгебры и теории чисел. Они объясняют, какие проблемы должны были разрешить математики, и показывают, как найденные ими решения переводятся на язык обобщенного программирования и позволяют создать эффективный и элегантный код.
Читая эту книгу, вы освоите мыслительный процесс, необходимый для правильного программирования, и научитесь обобщать найденные для частной задачи алгоритмы с целью расширить область их полезного применения без потери эффективности. Вы также постигнете, в чем состоит ценность математики для программирования, — и это понимание пригодится вне зависимости от того, на каком языке вы пишете и какую парадигму применяете.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!