В этой основательной и вместе с тем доступной книге авторы объясняют принципы обобщенного программирования и стоящее за ними понятие математической абстракции. Любой квалифицированный программист, умеющий логически мыслить, уже обладает достаточными знаниями для ее прочтения. Авторы на удивление доходчиво сообщают необходимые сведения из общей алгебры и теории чисел. Они объясняют, какие проблемы должны были разрешить математики, и показывают, как найденные ими решения переводятся на язык обобщенного программирования и позволяют создать эффективный и элегантный код. Читая эту книгу, вы освоите мыслительный процесс, необходимый для правильного программирования, и научитесь обобщать найденные для частной задачи алгоритмы с целью расширить область их полезного применения без потери эффективности. Вы также постигнете, в чем состоит ценность математики для программирования, - и это понимание пригодится вне зависимости от того, на каком языке вы пишете и какую парадигму применяете.
V etoj osnovatelnoj i vmeste s tem dostupnoj knige avtory objasnjajut printsipy obobschennogo programmirovanija i stojaschee za nimi ponjatie matematicheskoj abstraktsii. Ljuboj kvalifitsirovannyj programmist, umejuschij logicheski myslit, uzhe obladaet dostatochnymi znanijami dlja ee prochtenija. Avtory na udivlenie dokhodchivo soobschajut neobkhodimye svedenija iz obschej algebry i teorii chisel. Oni objasnjajut, kakie problemy dolzhny byli razreshit matematiki, i pokazyvajut, kak najdennye imi reshenija perevodjatsja na jazyk obobschennogo programmirovanija i pozvoljajut sozdat effektivnyj i elegantnyj kod. Chitaja etu knigu, vy osvoite myslitelnyj protsess, neobkhodimyj dlja pravilnogo programmirovanija, i nauchites obobschat najdennye dlja chastnoj zadachi algoritmy s tselju rasshirit oblast ikh poleznogo primenenija bez poteri effektivnosti. Vy takzhe postignete, v chem sostoit tsennost matematiki dlja programmirovanija, - i eto ponimanie prigoditsja vne zavisimosti ot togo, na kakom jazyke vy pishete i kakuju paradigmu primenjaete.